Created
March 2, 2016 20:15
-
-
Save wescleymatos/6696f3d9da3f4dba160d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Saegrn.Resource.Resources; | |
using Saegrn.Resource.Validation; | |
using System; | |
namespace Saegrn.Domain.Entities | |
{ | |
public class Evento | |
{ | |
#region Properties | |
public Guid Id { get; private set; } | |
public string Nome { get; private set; } | |
public int CargaHoraria { get; private set; } | |
public string Conteudo { get; private set; } | |
public string Objetivo { get; private set; } | |
public string PublicoAlvo { get; private set; } | |
public string Resumo { get; private set; } | |
public string Formacao { get; private set; } | |
public string Requisito { get; private set; } | |
public TipoEvento TipoEvento { get; private set; } | |
#endregion | |
#region Ctor | |
protected Evento() { } | |
public Evento(string nome, int cargaHoraria, string conteudo, string objetivo, string publicoAlvo, string resumo, string formacao, string requisito, TipoEvento tipoEvento) | |
{ | |
this.Id = Guid.NewGuid(); | |
this.Nome = nome; | |
this.CargaHoraria = cargaHoraria; | |
this.Conteudo = conteudo; | |
this.Objetivo = objetivo; | |
this.PublicoAlvo = publicoAlvo; | |
this.Resumo = resumo; | |
this.Formacao = formacao; | |
this.Requisito = requisito; | |
this.TipoEvento = tipoEvento; | |
} | |
#endregion | |
#region Methods | |
public void Validar() | |
{ | |
AssertionConcern.AssertArgumentLength(this.Nome, 2, 255, Errors.InvalidUserName); | |
AssertionConcern.AssertArgumentRange(this.CargaHoraria, 1, 10000, Errors.InvalidWorkload); | |
AssertionConcern.AssertArgumentLength(this.Conteudo, 5, 500, Errors.InvalidContent); | |
AssertionConcern.AssertArgumentLength(this.Objetivo, 5, 500, Errors.InvalidObjective); | |
AssertionConcern.AssertArgumentLength(this.PublicoAlvo, 5, 500, Errors.InvalidPublicTarget); | |
AssertionConcern.AssertArgumentLength(this.Resumo, 2, 255, Errors.InvalidResume); | |
AssertionConcern.AssertArgumentNotNull(this.TipoEvento, Errors.InvalidKindEvent); | |
AssertionConcern.AssertArgumentNotEmpty(this.Formacao, Errors.InvalidFormation); | |
AssertionConcern.AssertArgumentNotEmpty(this.Requisito, Errors.InvalidRequisite); | |
} | |
public void SetNome(string nome) | |
{ | |
AssertionConcern.AssertArgumentNotEmpty(nome, Errors.InvalidUserName); | |
AssertionConcern.AssertArgumentLength(nome, 5, 255, Errors.InvalidUserName); | |
this.Nome = nome; | |
} | |
public void SetCargaHoraria(int cargaHoraria) | |
{ | |
AssertionConcern.AssertArgumentRange(this.CargaHoraria, 1, 10000, Errors.InvalidWorkload); | |
this.CargaHoraria = cargaHoraria; | |
} | |
public void SetConteudo(string conteudo) | |
{ | |
AssertionConcern.AssertArgumentLength(this.Conteudo, 5, 500, Errors.InvalidContent); | |
this.Conteudo = conteudo; | |
} | |
public void SetObjetivo(string objetivo) | |
{ | |
AssertionConcern.AssertArgumentLength(this.Objetivo, 5, 500, Errors.InvalidObjective); | |
this.Objetivo = objetivo; | |
} | |
public void SetPublicoAlvo(string publicoAlvo) | |
{ | |
AssertionConcern.AssertArgumentLength(this.Objetivo, 5, 500, Errors.InvalidPublicTarget); | |
this.PublicoAlvo = publicoAlvo; | |
} | |
public void SetResumo(string resumo) | |
{ | |
AssertionConcern.AssertArgumentLength(this.Resumo, 2, 255, Errors.InvalidResume); | |
this.Resumo = resumo; | |
} | |
public void SetTipoEvento(TipoEvento tipoEvento) | |
{ | |
AssertionConcern.AssertArgumentNotNull(this.TipoEvento, Errors.InvalidKindEvent); | |
this.TipoEvento = tipoEvento; | |
} | |
public void SetFormacao(string formacao) | |
{ | |
AssertionConcern.AssertArgumentNotEmpty(this.Formacao, Errors.InvalidFormation); | |
this.Formacao = formacao; | |
} | |
public void SetRequisito(string requisito) | |
{ | |
AssertionConcern.AssertArgumentNotEmpty(this.Requisito, Errors.InvalidRequisite); | |
this.Requisito = requisito; | |
} | |
#endregion | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment