diff Agendas/trunk/src/Agendas.Domain/Services/PersonaService.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
children 1eb5a0e531bf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs	Sat Jun 04 12:11:17 2011 -0300
@@ -0,0 +1,30 @@
+using AltNetHispano.Agendas.Domain.Repositories;
+
+namespace AltNetHispano.Agendas.Domain.Services
+{
+	public class PersonaService
+	{
+		private readonly IPersonaRepository _personaRepository;
+
+		public PersonaService(IPersonaRepository personaRepository)
+		{
+			_personaRepository = personaRepository;
+		}
+
+		public bool Validate(IdentityProviderEnum identityProvider, string username, string nombre)
+		{
+			var cuenta = _personaRepository.GetCuenta(identityProvider, username);
+			if (cuenta==null)
+			{
+				var persona=new Persona(nombre);
+				persona.AddCuenta(new Cuenta(identityProvider, username));
+
+				if (identityProvider == IdentityProviderEnum.Twitter)
+					persona.Twitter = username;
+
+				_personaRepository.Save(persona);
+			}
+			return true;
+		}
+	}
+}
\ No newline at end of file