/// <summary> /// Atualizar dados da conta no banco de dados. /// </summary> /// <param name="codSituacao">nova situação da conta</param> /// <param name="valorDesconto">novo valor de desconto</param> /// <param name="codConta">conta pesquisada</param> public void Atualizar(string codSituacao, decimal desconto, long codConta) { try { var query = from contaSet in saceContext.ContaSet where contaSet.codConta == codConta select contaSet; ContaE _conta = query.ToList().ElementAtOrDefault(0); _conta.codSituacao = codSituacao; _conta.desconto = desconto; var query2 = from contaSet in saceContext.ContaSet where contaSet.codSaida == _conta.codSaida select contaSet; decimal somaContas = query2.ToList().Sum(c => (c.valor - c.desconto)); var query3 = from saida in saceContext.tb_saida where saida.codSaida == _conta.codSaida select saida; tb_saida _saida = query3.ToList().ElementAtOrDefault(0); if (_saida != null) { _saida.totalAVista = somaContas; } saceContext.SaveChanges(); } catch (Exception e) { throw new DadosException("Conta", e.Message, e); } }
/// <summary> /// Atualiza Situacao dos pagamentos da saída para quitado quando todas as contas estão quitadas /// </summary> /// <param name="_contaE"></param> private void AtualizaSituacaoPagamentosSaida(ContaE contaE, MovimentacaoContaE movimentacaoContaE, bool removeuMovimento) { if (!contaE.codSaida.Equals(Global.SAIDA_PADRAO)) { var query = from saida in saceContext.tb_saida where saida.codSaida == contaE.codSaida select saida; tb_saida _saidaE = query.FirstOrDefault(); if (_saidaE != null) { if (_saidaE.totalAVista == movimentacaoContaE.valor) { if (removeuMovimento) { _saidaE.codSituacaoPagamentos = SituacaoPagamentos.LANCADOS; } else { _saidaE.codSituacaoPagamentos = SituacaoPagamentos.QUITADA; } } else { if (GerenciadorConta.GetInstance(saceContext).ObterPorSituacaoSaida(SituacaoConta.SITUACAO_ABERTA, (long)contaE.codSaida).ToList().Count == 0) { _saidaE.codSituacaoPagamentos = SituacaoPagamentos.QUITADA; IEnumerable <Conta> contas = GerenciadorConta.GetInstance(saceContext).ObterPorSaida(_saidaE.codSaida); List <long> listaCodContas = new List <long>(); foreach (Conta conta in contas) { listaCodContas.Add(conta.CodConta); } decimal somaMovimentacoes = 0; IEnumerable <MovimentacaoConta> listaMovimentacoes = ObterPorContas(listaCodContas); foreach (MovimentacaoConta movimentacao in listaMovimentacoes) { somaMovimentacoes += movimentacao.Valor; } GerenciadorSaida.GetInstance(saceContext).AtualizarTipoPedidoGeradoPorSaida(_saidaE.codTipoSaida, _saidaE.pedidoGerado, _saidaE.tipoDocumentoFiscal, somaMovimentacoes, _saidaE.codSaida); //_saidaE.totalAVista = somaMovimentacoes; } else { _saidaE.codSituacaoPagamentos = SituacaoPagamentos.LANCADOS; } } saceContext.SaveChanges(); } } }
private static void RemoverContasSaida(tb_saida saidaE, SaceEntities saceEntities, RepositorioGenerico <ContaE> repConta) { try { var query = from contaSet in saceEntities.ContaSet where contaSet.codSaida == saidaE.codSaida select contaSet; foreach (ContaE _contaE in query) { repConta.Remover(_contaE); } repConta.SaveChanges(); } catch (Exception e) { throw new DadosException("Conta", e.Message, e); } }
public long InserirAutorizacaoCartao(Cartao.ResultadoProcessamento resultadoProcessamento, List <tb_solicitacao_saida> listaSolicitacaoSaida) { var repAutorizacao = new RepositorioGenerico <tb_autorizacao_cartao>(); //var repSaida = new RepositorioGenerico<tb_saida>(); tb_autorizacao_cartao _autorizacao_cartaoE; try { foreach (Cartao.RespostaAprovada respostaAprovada in resultadoProcessamento.ListaRespostaAprovada) { _autorizacao_cartaoE = new tb_autorizacao_cartao(); _autorizacao_cartaoE.codigoAutorizacaoAdquirente = respostaAprovada.CodAutorizacaoAdquirente; _autorizacao_cartaoE.dataHoraAutorizacao = respostaAprovada.DataHoraAutorizacao; _autorizacao_cartaoE.nomeAdquirente = respostaAprovada.NomeAdquirente; _autorizacao_cartaoE.nomeBandeiraCartao = respostaAprovada.NomeBandeiraCartao; _autorizacao_cartaoE.nsuAdquirente = String.IsNullOrEmpty(respostaAprovada.NsuAdquirente) ? "" : respostaAprovada.NsuAdquirente; _autorizacao_cartaoE.nsuTef = String.IsNullOrEmpty(respostaAprovada.NsuTef) ? "" : respostaAprovada.NsuTef; _autorizacao_cartaoE.numeroControle = String.IsNullOrEmpty(respostaAprovada.NumeroControle) ? "" : respostaAprovada.NumeroControle; repAutorizacao.Inserir(_autorizacao_cartaoE); repAutorizacao.SaveChanges(); foreach (tb_solicitacao_saida solicitacaoSaida in listaSolicitacaoSaida) { var saceEntities = (SaceEntities)repAutorizacao.ObterContexto(); var query = from saida in saceEntities.tb_saida where saida.codSaida == solicitacaoSaida.codSaida select saida; tb_saida saidaE = query.FirstOrDefault(); _autorizacao_cartaoE.tb_saida.Add(saidaE); } repAutorizacao.SaveChanges(); } } catch (Exception e) { throw new DadosException("Autorização Cartão", e.Message, e); } return(0); }