Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs @ 219:b9850b647a4e
Agregando alta de ponente durante la carga del evento
author | nelopauselli |
---|---|
date | Thu, 08 Sep 2011 11:22:10 -0300 |
parents | a36a76bd6ec3 |
children | e6c041d8e1bf |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Thu Sep 08 09:38:47 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Services/PersonaService.cs Thu Sep 08 11:22:10 2011 -0300 @@ -81,9 +81,17 @@ return _personaRepository.Get(id); } - public Resultado Add(string nombre, string twitter, string mail, string blog, IEnumerable<string> roles) - { - var persona = new Persona(nombre) {Twitter = twitter, Mail = mail, Blog = blog}; + public ResultadoAdd Add(string nombre, string twitter, string mail, string blog, IEnumerable<string> roles) + { + var persona = _personaRepository.GetByNombre(nombre); + if (persona!=null) + return new ResultadoAdd("Ya existe una persona con el nombre " + nombre); + + persona = _personaRepository.GetByTwitter(twitter); + if (persona != null) + return new ResultadoAdd("Ya existe una persona con el twitter " + twitter); + + persona = new Persona(nombre) {Twitter = twitter, Mail = mail, Blog = blog}; if (!string.IsNullOrWhiteSpace(twitter)) persona.AddCuenta(new Cuenta(IdentityProviderEnum.Twitter, twitter)); @@ -101,7 +109,7 @@ _personaRepository.Save(persona); - return new Resultado(true, "Persona Agregada"); + return new ResultadoAdd(true, "Persona Agregada", persona.Id, persona.Nombre); } public Resultado Update(Guid id, string nombre, string twitter, string mail, string blog, IEnumerable<string> roles)