/// <summary>
        /// Atualiza Situacao dos pagamentos da entrada para quitado quando todas as contas estão quitadas
        /// </summary>
        /// <param name="_contaE"></param>
        private void AtualizaSituacaoPagamentosEntrada(ContaE _contaE)
        {
            var query = from entrada in saceContext.EntradaSet
                        where entrada.codEntrada == _contaE.codEntrada
                        select entrada;
            EntradaE _entradaE = query.ToList().ElementAtOrDefault(0);

            if (_entradaE != null)
            {
                if (!_contaE.codEntrada.Equals(Global.ENTRADA_PADRAO))
                {
                    var query2 = from conta in saceContext.ContaSet
                                 where conta.codSituacao.Equals(SituacaoConta.SITUACAO_ABERTA) && conta.codEntrada == _contaE.codEntrada
                                 select conta;


                    if (query2.Count() == 0)
                    {
                        _entradaE.codSituacaoPagamentos = SituacaoPagamentos.QUITADA;
                    }
                    else
                    {
                        _entradaE.codSituacaoPagamentos = SituacaoPagamentos.LANCADOS;
                    }
                }
            }
            saceContext.SaveChanges();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Inserir uma nova entrada
        /// </summary>
        /// <param name="entrada"></param>
        /// <returns></returns>
        public Int64 Inserir(Entrada entrada)
        {
            try
            {
                var repEntrada = new RepositorioGenerico <EntradaE>();

                EntradaE _entradaE = new EntradaE();
                if ((entrada.TotalBaseSubstituicao > 0) && (entrada.TotalProdutosST <= 0))
                {
                    throw new NegocioException("Quando a entrada possui valor de substituição tributária é necessário informar o valor Total dos Produtos Substituição Tributária");
                }
                else if ((entrada.TotalProdutos - entrada.Desconto) > entrada.TotalNota)
                {
                    throw new NegocioException("O valor Total dos Produtos não pode ser maior que o valor total da Nota menos o desconto.");
                }

                //margem de erro de 0.05 centavos por conta de problemas de distribuição de valores
                else if ((entrada.TotalProdutosST) > (entrada.TotalProdutos + new Decimal(0.05)))
                {
                    throw new NegocioException("O valor Total dos Protudos ST não pode ser maior que o valor Total dos Produtos.");
                }

                Atribuir(entrada, _entradaE);

                repEntrada.Inserir(_entradaE);
                repEntrada.SaveChanges();

                return(_entradaE.codEntrada);
            }
            catch (Exception e)
            {
                throw new DadosException("Entrada", e.Message, e);
            }
        }
 /// <summary>
 /// Atribui os dados da entidade para entidade persistente
 /// </summary>
 /// <param name="entrada"></param>
 /// <param name="_entradaE"></param>
 private static void Atribuir(Entrada entrada, EntradaE _entradaE)
 {
     _entradaE.codEmpresaFrete       = entrada.CodEmpresaFrete;
     _entradaE.codFornecedor         = entrada.CodFornecedor;
     _entradaE.codSituacaoPagamentos = entrada.CodSituacaoPagamentos;
     _entradaE.codTipoEntrada        = entrada.CodTipoEntrada;
     _entradaE.dataEmissao           = entrada.DataEmissao;
     _entradaE.dataEntrada           = entrada.DataEntrada;
     _entradaE.desconto              = entrada.Desconto;
     _entradaE.fretePagoEmitente     = entrada.FretePagoEmitente;
     _entradaE.numeroNotaFiscal      = entrada.NumeroNotaFiscal;
     _entradaE.outrasDespesas        = entrada.OutrasDespesas;
     _entradaE.totalBaseCalculo      = entrada.TotalBaseCalculo;
     _entradaE.totalBaseSubstituicao = entrada.TotalBaseSubstituicao;
     _entradaE.totalICMS             = entrada.TotalICMS;
     _entradaE.totalIPI              = entrada.TotalIPI;
     _entradaE.totalNota             = entrada.TotalNota;
     _entradaE.totalProdutos         = entrada.TotalProdutos;
     _entradaE.totalProdutosST       = entrada.TotalProdutosST;
     _entradaE.totalSubstituicao     = entrada.TotalSubstituicao;
     _entradaE.valorFrete            = entrada.ValorFrete;
     _entradaE.valorSeguro           = entrada.ValorSeguro;
     _entradaE.serie = entrada.Serie;
     _entradaE.chave = entrada.Chave != null ? entrada.Chave : "";
 }
Exemplo n.º 4
0
        /// <summary>
        /// Atualizar dados da entrada
        /// </summary>
        /// <param name="entrada"></param>
        public void Atualizar(Entrada entrada, SaceEntities saceContext)
        {
            try
            {
                if ((entrada.TotalBaseSubstituicao > 0) && (entrada.TotalProdutosST <= 0))
                {
                    throw new NegocioException("Quando a entrada possui valor de substituição tributária é necessário informar o valor Total dos Produtos Substituição Tributária");
                }

                var query = from entradaSet in saceContext.EntradaSet
                            where entradaSet.codEntrada == entrada.CodEntrada
                            select entradaSet;
                EntradaE _entradaE = query.ToList().ElementAtOrDefault(0);
                Atribuir(entrada, _entradaE);
                saceContext.SaveChanges();
            }
            catch (Exception e)
            {
                throw new DadosException("Entrada", e.Message, e);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Atualiza Situacao dos pagamentos da entrada para quitado quando todas as contas estão quitadas
        /// </summary>
        /// <param name="_contaE"></param>
        private void AtualizaSituacaoPagamentosEntrada(ContaE _contaE)
        {
            var query = from entrada in saceContext.EntradaSet
                        where entrada.codEntrada == _contaE.codEntrada
                        select entrada;
            EntradaE _entradaE = query.ToList().ElementAtOrDefault(0);

            if (_entradaE != null)
            {
                if (!_contaE.codEntrada.Equals(Global.ENTRADA_PADRAO))
                {
                    if (GerenciadorConta.GetInstance(saceContext).ObterPorSituacaoEntrada(SituacaoConta.SITUACAO_ABERTA, (long)_contaE.codEntrada).ToList().Count == 0)
                    {
                        _entradaE.codSituacaoPagamentos = SituacaoPagamentos.QUITADA;
                    }
                    else
                    {
                        _entradaE.codSituacaoPagamentos = SituacaoPagamentos.LANCADOS;
                    }
                }
            }
            saceContext.SaveChanges();
        }