Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 9:c90492faf268
Se implementa seguridad a través del constructor y no como parámetro
Se valida autenticación al Publicar.
author | juanjose.montesdeocaarbos |
---|---|
date | Sat, 12 Feb 2011 12:22:36 -0300 |
parents | cae27d7eb697 |
children | 9d6b28a696d1 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sat Feb 12 11:12:18 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/Agenda.cs Sat Feb 12 12:22:36 2011 -0300 @@ -27,9 +27,10 @@ { if (!evento.Fecha.HasValue) throw new ValidationException(); - if (_publicador != null) _publicador.Publicar(evento); + if (EsAutenticado(_seguridad)) + throw new ValidationException(); _eventosPublicados.Add(evento); } @@ -50,7 +51,7 @@ { if (string.IsNullOrWhiteSpace(van.Titulo)) throw new ValidationException(); - if (_seguridad.GetPrincipal() == null || _seguridad.GetPrincipal().Identity == null) + if (EsAutenticado(_seguridad)) throw new ValidationException(); _eventosPropuestos.Add(van); } @@ -64,5 +65,10 @@ { return _eventosPublicados; } + + private bool EsAutenticado(ISeguridad seguridad) { + return seguridad != null && seguridad.GetPrincipal() != null && seguridad.GetPrincipal().Identity != null + && string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name); + } } } \ No newline at end of file