comparison 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
comparison
equal deleted inserted replaced
8:cae27d7eb697 9:c90492faf268
25 25
26 public void Publicar(Evento evento) 26 public void Publicar(Evento evento)
27 { 27 {
28 if (!evento.Fecha.HasValue) 28 if (!evento.Fecha.HasValue)
29 throw new ValidationException(); 29 throw new ValidationException();
30
31 if (_publicador != null) 30 if (_publicador != null)
32 _publicador.Publicar(evento); 31 _publicador.Publicar(evento);
32 if (EsAutenticado(_seguridad))
33 throw new ValidationException();
33 _eventosPublicados.Add(evento); 34 _eventosPublicados.Add(evento);
34 } 35 }
35 36
36 public void Publicar(Van van) 37 public void Publicar(Van van)
37 { 38 {
48 49
49 public void Proponer(Van van) 50 public void Proponer(Van van)
50 { 51 {
51 if (string.IsNullOrWhiteSpace(van.Titulo)) 52 if (string.IsNullOrWhiteSpace(van.Titulo))
52 throw new ValidationException(); 53 throw new ValidationException();
53 if (_seguridad.GetPrincipal() == null || _seguridad.GetPrincipal().Identity == null) 54 if (EsAutenticado(_seguridad))
54 throw new ValidationException(); 55 throw new ValidationException();
55 _eventosPropuestos.Add(van); 56 _eventosPropuestos.Add(van);
56 } 57 }
57 58
58 public IList<Evento> GetEventosPropuestos() 59 public IList<Evento> GetEventosPropuestos()
62 63
63 public IList<Evento> GetEventosPublicados() 64 public IList<Evento> GetEventosPublicados()
64 { 65 {
65 return _eventosPublicados; 66 return _eventosPublicados;
66 } 67 }
68
69 private bool EsAutenticado(ISeguridad seguridad) {
70 return seguridad != null && seguridad.GetPrincipal() != null && seguridad.GetPrincipal().Identity != null
71 && string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name);
72 }
67 } 73 }
68 } 74 }