comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 26:71b02443450a

UI de Propuestas de VANs
author nelo@MTEySS.neluz.int
date Tue, 15 Mar 2011 08:45:00 -0300
parents 41b283d27e3e
children 016b9b9b8d3a
comparison
equal deleted inserted replaced
25:e8d2be47a6b0 26:71b02443450a
46 var evento = _eventosRepository.Get(eventoId); 46 var evento = _eventosRepository.Get(eventoId);
47 if (_recordador != null) 47 if (_recordador != null)
48 _recordador.Recordar(evento); 48 _recordador.Recordar(evento);
49 } 49 }
50 50
51 public void Proponer(string titulo) 51 public void Proponer(string titulo, string ponenteNombre)
52 { 52 {
53 var evento = new Evento {Titulo = titulo}; 53 var ponente = GetPonente(ponenteNombre);
54 var evento = new Evento {Titulo = titulo, Ponente = ponente};
54 55
55 if (string.IsNullOrWhiteSpace(evento.Titulo)) 56 if (string.IsNullOrWhiteSpace(evento.Titulo))
56 throw new ValidationException(); 57 throw new ValidationException();
57 if (NoEstaAutenticado(_seguridad)) 58 if (NoEstaAutenticado(_seguridad))
58 throw new UsuarioNoAutenticadoException(); 59 throw new UsuarioNoAutenticadoException();
59 _eventosRepository.Save(evento); 60 _eventosRepository.Save(evento);
61 _ponenteRepository.Save(ponente);
60 } 62 }
61 63
62 public IList<Evento> GetEventosPropuestos() 64 public IList<Evento> GetEventosPropuestos()
63 { 65 {
64 return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>(); 66 return _eventosRepository.GetEventosSinFecha() ?? new List<Evento>();
86 evento.Titulo = titulo; 88 evento.Titulo = titulo;
87 evento.Ponente = ponente; 89 evento.Ponente = ponente;
88 evento.Fecha = fecha; 90 evento.Fecha = fecha;
89 } 91 }
90 92
91 public Evento GetEventoPublicado(Guid id) 93 public Evento GetEvento(Guid id)
92 { 94 {
93 return _eventosRepository.Get(id); 95 return _eventosRepository.Get(id);
94 } 96 }
95 97
96 public void RegistrarPonente(string nombre, string mail, string twitter, string blog) 98 public void RegistrarPonente(string nombre, string mail, string twitter, string blog)
102 private Ponente GetPonente(string nombre) 104 private Ponente GetPonente(string nombre)
103 { 105 {
104 return _ponenteRepository.GetByNombre(nombre) ?? new Ponente { Nombre = nombre }; 106 return _ponenteRepository.GetByNombre(nombre) ?? new Ponente { Nombre = nombre };
105 } 107 }
106 108
109 public void ModificarPropuesta(Guid id, string titulo, string ponenteNombre)
110 {
111 ModificarEvento(id, titulo, ponenteNombre, null);
112 }
107 } 113 }
108 114
109 public class EventoNotFoundException : Exception 115 public class EventoNotFoundException : Exception
110 { 116 {
111 } 117 }