Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/Evento.cs @ 54:3059a5f8930f
Code cleanup
author | nelopauselli |
---|---|
date | Sat, 14 May 2011 13:01:24 -0300 |
parents | 3ebe89c88caa |
children | 65bbcdd5d357 |
line wrap: on
line source
using System; using System.Collections.Generic; namespace AltNetHispano.Agendas.Domain { public class Evento { private readonly IList<Track> _tracks; private IList<string> _enlaces; public Evento(string titulo) { Id = Guid.NewGuid(); Titulo = titulo; _enlaces = new List<string>(); _tracks = new List<Track>(); } public Guid Id { get; private set; } public string Titulo { get; private set; } public DateTime? Fecha { get; private set; } public string Sintesis { get; private set; } public Ponente Ponente { get; private set; } protected string Usuario { get; private set; } public IEnumerable<string> Enlaces { get { return _enlaces; } } public IEnumerable<Track> Tracks { get { return _tracks; } } public void Actualizar(Ponente ponente, DateTime? fecha) { Usuario = IdentityContext.GetUserName(); Ponente = ponente; Fecha = fecha; AddTracks(new Track(Accion.Modificar)); } public void Actualizar(Ponente ponente) { Usuario = IdentityContext.GetUserName(); Ponente = ponente; } public void CambiarTitulo(string titulo) { Usuario = IdentityContext.GetUserName(); Titulo = titulo; AddTracks(new Track(Accion.CambiarTitulo)); } public void Publicar(Ponente ponente, DateTime? fecha) { Usuario = IdentityContext.GetUserName(); Ponente = ponente; Fecha = fecha; AddTracks(new Track(Accion.Publicar)); } public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces) { Usuario = IdentityContext.GetUserName(); Fecha = fecha; Sintesis = sintesis; _enlaces = enlaces; } public void Realizado(string sintesis) { Usuario = IdentityContext.GetUserName(); Sintesis = sintesis; AddTracks(new Track(Accion.Realizar)); } private void AddTracks(Track track) { _tracks.Add(track); } } public class Track { public Track(string accion) { Accion = accion; } public string Accion { get; private set; } } public class Accion { public const string Publicar = "Publicar"; public const string Modificar = "Modificar"; public const string CambiarTitulo = "CambiarTitulo"; public const string Realizar = "Realizar"; } }