diff Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs @ 94:db4b1e2cae49

Cambio del nombre de la clase Ponente a Persona Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona Alta Automatica de cuentas de twitter creando la persona
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 12:11:17 -0300
parents 65f0b3d70c18
children 1eb5a0e531bf
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs	Sat Jun 04 00:07:20 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Web/Controllers/AccountController.cs	Sat Jun 04 12:11:17 2011 -0300
@@ -2,6 +2,8 @@
 using System.Web.Mvc;
 using System.Web.Routing;
 using System.Web.Security;
+using AltNetHispano.Agendas.Domain;
+using AltNetHispano.Agendas.Factories;
 using AltNetHispano.Agendas.Twitter;
 using AltNetHispano.Agendas.Web.Models;
 using AltNetHispano.Agendas.Web.Services;
@@ -60,7 +62,7 @@
 
 		public ActionResult TwitterLogOn()
 		{
-			var oAuth = new oAuthTwitter();
+			var oAuth = new OAuthTwitter();
 
 			if (Request["oauth_token"] == null)
 			{
@@ -81,13 +83,19 @@
 				{
 					//We now have the credentials, so make a call to the Twitter API.
 					const string url = "http://twitter.com/account/verify_credentials.xml";
-					string xml = oAuth.oAuthWebRequest(oAuthTwitter.Method.GET, url, String.Empty);
+					string xml = oAuth.OAuthWebRequest(OAuthTwitter.Method.GET, url, String.Empty);
 
 					var username = GetXmlContent(xml, "screen_name");
-					//TODO: Validar que este usuario de twitter corresponde a un usuario del sitio
+					var nombre = GetXmlContent(xml, "name");
 
-					FormsService.SignIn(username, false);
-					return RedirectToAction("Index", "Home");
+					var personaService = AgendaFactory.GetPersonaService();
+					if (personaService.Validate(IdentityProviderEnum.Twitter, username, nombre))
+					{
+						FormsService.SignIn(username, false);
+						return RedirectToAction("Index", "Home");
+					}
+					ModelState.AddModelError("", "The user name or password provided is incorrect.");
+
 
 					//POST Test
 					//url = "http://twitter.com/statuses/update.xml";