예제 #1
0
        public void UpdateProduto(ProdutoDTO produtoDTO)
        {
            try
            {
                if (produtoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var persistido = _produtoRepository.Get(produtoDTO.Id);
                if (persistido == null)
                {
                    throw new Exception("Produto não encontrado.");
                }

                var corrente = ProdutoFactory.CreateProduto(produtoDTO.Nome,
                                                            produtoDTO.MarcaProdutoId,
                                                            produtoDTO.CategoriaProdutoId,
                                                            persistido.CodigoBarras,
                                                            produtoDTO.UsaBalanca,
                                                            produtoDTO.Ativo,
                                                            persistido.EstoqueAtual,
                                                            produtoDTO.Modelo,
                                                            produtoDTO.Custo,
                                                            produtoDTO.Venda,
                                                            persistido.Unidade,
                                                            produtoDTO.MovimentaEstoque,
                                                            produtoDTO.TipoNcm,
                                                            produtoDTO.Ncm,
                                                            produtoDTO.NaturezaEconomica,
                                                            produtoDTO.TipoProduto,
                                                            produtoDTO.ObjetivoComercial,
                                                            produtoDTO.Referencia,
                                                            produtoDTO.ReferenciaAux,
                                                            produtoDTO.LocalEstoque,
                                                            produtoDTO.AceitaSaldoNegativo,
                                                            produtoDTO.QuantidadeMinimaEstoque);

                corrente.Id = persistido.Id;

                AlterarProduto(persistido, corrente);
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
예제 #2
0
        public ProdutoDTO AddProduto(ProdutoDTO produtoDTO)
        {
            try
            {
                if (produtoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var Produto = ProdutoFactory.CreateProduto(produtoDTO.Nome,
                                                           produtoDTO.MarcaProdutoId,
                                                           produtoDTO.CategoriaProdutoId,
                                                           produtoDTO.CodigoBarras,
                                                           produtoDTO.UsaBalanca,
                                                           produtoDTO.Ativo,
                                                           produtoDTO.EstoqueAtual,
                                                           produtoDTO.Modelo,
                                                           produtoDTO.Custo,
                                                           produtoDTO.Venda,
                                                           produtoDTO.Unidade,
                                                           produtoDTO.MovimentaEstoque,
                                                           produtoDTO.TipoNcm,
                                                           produtoDTO.Ncm,
                                                           produtoDTO.NaturezaEconomica,
                                                           produtoDTO.TipoProduto,
                                                           produtoDTO.ObjetivoComercial,
                                                           produtoDTO.Referencia,
                                                           produtoDTO.ReferenciaAux,
                                                           produtoDTO.LocalEstoque,
                                                           produtoDTO.AceitaSaldoNegativo,
                                                           produtoDTO.QuantidadeMinimaEstoque
                                                           );

                SalvarProduto(Produto);

                var adapter = TypeAdapterFactory.CreateAdapter();
                return(adapter.Adapt <Produto, ProdutoDTO>(Produto));
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }