Esempio n. 1
0
        public AdicionarResponse Adicionar(AdicionarRequest request)
        {
            if (request == null)
            {
                AddNotification("Adicionar", "Objeto 'AdicionarRequest' é obrigatório");
                return(null);
            }

            var categoria = _repositoryCategoria.ObterEntidade(request.CategoriaId);

            if (categoria == null)
            {
                AddNotification("Categoria", "Categoria não Localizada!");
            }

            var produto = new Produto(request.Descricao, request.Preco, request.Imagem, request.QuantidadeEstoque, categoria);
            var produtoAdicionarValidationContract = new ProdutoAdicionarValidationContract(produto);

            AddNotifications(produtoAdicionarValidationContract.Contract.Notifications);

            if (Invalid)
            {
                return(null);
            }

            _repositoryProduto.Adicionar(produto);
            Commit();

            return(new AdicionarResponse
            {
                Id = produto.Id,
                Message = "Produto Inserido com Sucesso!"
            });
        }
Esempio n. 2
0
        public ResponseBase Atualizar(AtualizarRequest request)
        {
            if (request == null)
            {
                AddNotification("Atualizar", "Objeto 'AtualizarRequest' é obrigatório");
                return(null);
            }

            var categoria = _repositoryCategoria.ObterEntidade(request.Id);

            if (categoria == null)
            {
                AddNotification("Categoria", "Categoria não Localizada!");
                return(null);
            }

            categoria.Atualizar(request.Descricao);

            //var categoriaAtualizarValidationContract = new CategoriaAtualizarValidationContract(categoria);
            //AddNotifications(categoriaAtualizarValidationContract.Contract.Notifications);

            AddNotifications(categoria.Notifications);

            if (Invalid)
            {
                return(null);
            }

            _repositoryCategoria.Atualizar(categoria);
            Commit();

            return(new ResponseBase
            {
                Message = "Categoria Alterada com Sucesso!"
            });
        }