예제 #1
0
        public Task <int> Handle(RegisterNewArtigoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var artigo = new Artigo(request.Descricao);

            if (_artigoRepository.Exists(artigo.Descricao))
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Artigo já está sendo usado."));
                return(Task.FromResult(0));
            }

            _artigoRepository.Add(artigo);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(artigo.Id));
        }
예제 #2
0
        public Artigo CriarArtigo(Artigo artigo)
        {
            artigo.Categoria = _categoriaRepository.GetById(artigo.Categoria?.Id);
            artigo.Usuario   = _usuarioRepository.GetById(artigo.Usuario?.Id);
            artigo.Peixe     = _peixeRepository.Add(artigo.Peixe);
            _repository.Add(artigo);

            return(artigo);
        }