Пример #1
0
        public Retorno Listar()
        {
            try
            {
                var retorno = new DataProduto().Listar();

                if (retorno.IsValido)
                {
                    foreach (var produto in retorno.Entity as List <Produto> )
                    {
                        var retornoMateriaPrima = new BusinessMateriaPrima().Carregar(produto.Codigo);

                        if (retorno.IsValido)
                        {
                            produto.MateriasPrimas = retornoMateriaPrima.Entity as List <MateriaPrima>;
                        }
                        else
                        {
                            return(retornoMateriaPrima);
                        }
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Пример #2
0
        public Retorno Consultar(Produto Entity)
        {
            try
            {
                var retorno = new DataProduto().Consultar(Entity);

                if (retorno.IsValido)
                {
                    var produto = retorno.Entity as Produto;

                    retorno = new BusinessMateriaPrima().ConsultarDoProduto(Entity.Codigo);

                    if (retorno.IsValido)
                    {
                        produto.MateriasPrimas = retorno.Entity as List <MateriaPrima>;

                        return(new Retorno(produto));
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Пример #3
0
        public Retorno Salvar(Produto Entity)
        {
            try
            {
                Entity.Data = DateTime.Now;
                Retorno retorno = PreenchimentoObrigatorio(Entity);
                if (retorno.IsValido)
                {
                    retorno = VerificarExistencia(Entity);

                    if (retorno.IsValido)
                    {
                        using (var transaction = new TransactionScope())
                        {
                            retorno = new BusinessFichaTecnica().Salvar(Entity.FichaTecnica);

                            if (retorno.IsValido)
                            {
                                if (Entity.Codigo == 0)
                                {
                                    retorno = new DataProduto().Incluir(Entity);
                                }
                                else
                                {
                                    retorno = new DataProduto().Consultar(Entity);

                                    if (retorno.IsValido)
                                    {
                                        var produtoAtual = retorno.Entity as Produto;

                                        if (produtoAtual.Valor != Entity.Valor)
                                        {
                                            retorno = new DataProduto().AlterarValor(produtoAtual);

                                            if (retorno.IsValido)
                                            {
                                                retorno = new DataProduto().IncluirValor(Entity);
                                            }
                                        }

                                        if (retorno.IsValido)
                                        {
                                            retorno = new DataProduto().Alterar(Entity);
                                        }
                                    }
                                }

                                if (retorno.IsValido)
                                {
                                    retorno = new BusinessMateriaPrima().ExcluirDoProduto(Entity.Codigo);

                                    if (retorno.IsValido)
                                    {
                                        retorno = SalvarMateriaPrimaProduto(Entity);

                                        if (retorno.IsValido)
                                        {
                                            transaction.Complete();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }