view Agendas/trunk/src/Agendas.Domain/Evento.cs @ 39:e548379cc314

track de cambios en evento
author nelo@MTEySS.neluz.int
date Fri, 18 Mar 2011 00:10:21 -0300
parents 3c5657d99727
children 07c47ea2ac00
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace AltNetHispano.Agendas.Domain
{
	public class Evento
	{
	    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; }

	    private IList<string> _enlaces;

	    public IEnumerable<string> Enlaces
	    {
	        get { return _enlaces; }
	    }

        private readonly IList<Track> _tracks;
        public IEnumerable<Track> Tracks
	    {
	        get { return _tracks; }
	    }

	    public void Actualizar(Ponente ponente, DateTime? fecha)
	    {
            Ponente = ponente;
	        Fecha = fecha;
	    }

	    public void Actualizar(Ponente ponente)
	    {
	        Ponente = ponente;
	    }

	    public void CambiarTitulo(string titulo)
	    {
	        Titulo = titulo;
	    }

	    public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces)
	    {
	        Fecha = fecha;
	        Sintesis = sintesis;
	        _enlaces = enlaces;
	    }

	    public void AddTracks(Track track)
	    {
	        _tracks.Add(track);
	    }

	    public void Realizado(string sintesis)
	    {
	        Sintesis = sintesis;
	    }
	}

    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";
    }
}