comparison Agendas/trunk/src/Agendas.Domain/Agenda.cs @ 14:ed6d842abf42

Modificar evento
author nelo@MTEySS.neluz.int
date Sun, 13 Mar 2011 20:49:15 -0300
parents 05996fa19e04
children 08b9e96132a5
comparison
equal deleted inserted replaced
13:da95298db862 14:ed6d842abf42
1 using System; 1 using System;
2 using System.Collections.Generic; 2 using System.Collections.Generic;
3 using System.Linq;
3 using AltNetHispano.Agendas.Domain.Exceptions; 4 using AltNetHispano.Agendas.Domain.Exceptions;
4 5
5 namespace AltNetHispano.Agendas.Domain 6 namespace AltNetHispano.Agendas.Domain
6 { 7 {
7 public class Agenda 8 public class Agenda
34 if (NoEstaAutenticado(_seguridad)) 35 if (NoEstaAutenticado(_seguridad))
35 throw new UsuarioNoAutenticadoException(); 36 throw new UsuarioNoAutenticadoException();
36 if (string.IsNullOrWhiteSpace(evento.Ponente)) 37 if (string.IsNullOrWhiteSpace(evento.Ponente))
37 throw new ValidationException(); 38 throw new ValidationException();
38 39
40 //TODO: persistir el evento!
41 if (evento.Id==Guid.Empty) evento.Id = Guid.NewGuid();
42
39 _eventosPublicados.Add(evento); 43 _eventosPublicados.Add(evento);
40 } 44 }
41 45
42 public void Recordar(Evento evento) 46 public void Recordar(Evento evento)
43 { 47 {
66 70
67 private static bool NoEstaAutenticado(ISeguridad seguridad) { 71 private static bool NoEstaAutenticado(ISeguridad seguridad) {
68 return seguridad == null || seguridad.GetPrincipal() == null || seguridad.GetPrincipal().Identity == null 72 return seguridad == null || seguridad.GetPrincipal() == null || seguridad.GetPrincipal().Identity == null
69 || string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name); 73 || string.IsNullOrWhiteSpace(seguridad.GetPrincipal().Identity.Name);
70 } 74 }
71 }
72 75
73 public class UsuarioNoAutenticadoException : Exception 76 public void ModificarEvento(Guid id, string titulo, string ponente, DateTime? fecha)
77 {
78 var evento = _eventosPublicados.SingleOrDefault(e => e.Id == id);
79 if (evento == null)
80 throw new EventoNotFoundException();
81 evento.Titulo = titulo;
82 evento.Ponente = ponente;
83 evento.Fecha = fecha;
84 }
85
86 public Evento GetEventoPublicado(Guid id)
87 {
88 return _eventosPublicados.SingleOrDefault(e => e.Id == id);
89 }
90 }
91
92 public class EventoNotFoundException : Exception
93 {
94 }
95
96 public class UsuarioNoAutenticadoException : Exception
74 { 97 {
75 } 98 }
76 } 99 }