예제 #1
0
 private AnuncioCadastradoEvent(Identity aggregateID, long aggregateVersion, string titulo, string descricao, decimal preco, CondicaoUso condicaoUso, bool aceitoTroca) : base(aggregateID, aggregateVersion)
 {
     Titulo      = titulo;
     Descricao   = descricao;
     Preco       = preco;
     CondicaoUso = condicaoUso;
     AceitoTroca = aceitoTroca;
 }
예제 #2
0
        public Anuncio Handle(CadastrarAnuncioCommand command)
        {
            var condicaoUso = CondicaoUso.FromValueOrDescription(command.CondicaoUso);

            var anuncio = new Anuncio(command.Titulo, command.Descricao, command.Preco, condicaoUso, command.AceitoTroca);

            _anuncioEventStore.Store(anuncio);

            return(anuncio);
        }
예제 #3
0
파일: Anuncio.cs 프로젝트: maiconcp/viperex
        public Anuncio(string titulo, string descricao, decimal preco, CondicaoUso condicaoUso, bool aceitoTroca)
        {
            new Contract().Requires()
            .HasMaxLen(titulo, 100, nameof(titulo), "Título pode ter até cem caracteres")
            .IsNotNullOrWhiteSpace(titulo, nameof(titulo), Messages.RequiredField(titulo))
            .IsNotNullOrWhiteSpace(descricao, nameof(descricao), Messages.RequiredField(descricao))
            .IsGreaterThan(preco, 0, nameof(Preco), "O Preço deve ser maior do que zero.")
            .IsNotNull(condicaoUso, nameof(CondicaoUso), Messages.RequiredField("Condição de Uso"))
            .ThrowExceptionIfInvalid();

            RaiseEvent(new AnuncioCadastradoEvent(Id, titulo, descricao, preco, condicaoUso, aceitoTroca));
        }
예제 #4
0
파일: Anuncio.cs 프로젝트: maiconcp/viperex
 public Anuncio(string titulo, string descricao, decimal preco, CondicaoUso condicaoUso, bool aceitoTroca)
     : base(titulo, descricao, preco, condicaoUso, aceitoTroca)
 {
     _acessorios = new List <Identity>();
 }