public string UpdateRecebimentoPagSeguro(TransacaoPagSeguro transacaoPagSeguro) { string _msg = ""; if (transacaoPagSeguro == null) { return("O Objeto TransacaoPagSeguro está nulo!"); } RecebimentoRepository _recRepo = new RecebimentoRepository(); int _type = (int)transacaoPagSeguro.Type; int _status = (int)transacaoPagSeguro.Status; int _mtdType = (int)transacaoPagSeguro.PaymentMethod.Type; int _mtdcode = transacaoPagSeguro.PaymentMethod.Code ?? 0; decimal _netAmount = (decimal)transacaoPagSeguro.NetAmount; //_msg = _recRepo.UpdateRecebimentoPagSeguro(transacaoPagSeguro.NotificationCode, transacaoPagSeguro.Reference, _type, _status, // transacaoPagSeguro.Lasteventdate, _mtdType, _mtdcode, _netAmount); return(_msg); }
public string SaveDadosTransacaoPagSeguro(TransacaoPagSeguro transacaoPagSeguro) { string _msg = ""; if (transacaoPagSeguro != null) { AssinaturaAnuidadeRepository assinaturaAnuidadeRepository = new AssinaturaAnuidadeRepository(); RecebimentoRepository recebimentoRepository = new RecebimentoRepository(); var assinatura = assinaturaAnuidadeRepository.GetAssinaturaAnuidadeByReference(transacaoPagSeguro.Reference); var recebimento = recebimentoRepository.GetRecebimentoByReference(transacaoPagSeguro.Reference); if (assinatura != null) { if (recebimento == null) { //Ainda não há regitro Recebimento rec = new Recebimento() { RecebimentoId = 0, AssinaturaAnuidadeId = assinatura.AssinaturaAnuidadeId, NotificationCodePS = transacaoPagSeguro.NotificationCode, TypePS = transacaoPagSeguro.Type, StatusPS = transacaoPagSeguro.Status, TypePaymentMethodPS = transacaoPagSeguro.PaymentMethod.Type ?? 0, CodePaymentMethodPS = transacaoPagSeguro.PaymentMethod.Code ?? 0, NetAmountPS = (decimal)transacaoPagSeguro.NetAmount, GrossAmountPS = (decimal)transacaoPagSeguro.GrossAmount, DiscountAmountPS = (decimal)transacaoPagSeguro.DiscountAmount, FeeAmountPS = (decimal)transacaoPagSeguro.FeeAmount, ExtraAmountPS = (decimal)transacaoPagSeguro.ExtraAmount, DtVencimento = assinatura.DtVencimentoPagamento, StatusFBTC = "1", OrigemEmissaoTitulo = "1" }; _msg = recebimentoRepository.Insert(rec, transacaoPagSeguro.Lasteventdate); _msg = assinaturaAnuidadeRepository.SetInicioPagamentoPagSeguro(transacaoPagSeguro.Reference, true); } else { recebimento.StatusPS = transacaoPagSeguro.Status; recebimento.TypePaymentMethodPS = transacaoPagSeguro.PaymentMethod.Type ?? 0; recebimento.CodePaymentMethodPS = transacaoPagSeguro.PaymentMethod.Code ?? 0; recebimento.NetAmountPS = (decimal)transacaoPagSeguro.NetAmount; recebimento.GrossAmountPS = (decimal)transacaoPagSeguro.GrossAmount; recebimento.DiscountAmountPS = (decimal)transacaoPagSeguro.DiscountAmount; recebimento.FeeAmountPS = (decimal)transacaoPagSeguro.FeeAmount; recebimento.ExtraAmountPS = (decimal)transacaoPagSeguro.ExtraAmount; recebimento.DtVencimento = assinatura.DtVencimentoPagamento; _msg = recebimentoRepository.UpdateRecebimentoPagSeguro(recebimento.RecebimentoId, recebimento, transacaoPagSeguro.Lasteventdate); } } else { _msg = $"ATENÇÃO: Não foi encontrado registro para a referência {transacaoPagSeguro.Reference} e NotificationCode {transacaoPagSeguro.NotificationCode} informados pelo PagSeguro"; } } else { _msg = $"ATENÇÃO: Objeto transacaoPagSeguro está nulo"; } return(_msg); }
public string Update(int id, AssinaturaAnuidade a) { bool _resultado = false; string _msg = ""; string _msgIsento = ""; using (SqlConnection connection = new SqlConnection(strConnSql)) { connection.Open(); SqlCommand command = connection.CreateCommand(); SqlTransaction transaction; // Start a local transaction. transaction = connection.BeginTransaction("AtualizarAssinaturaAnuidade"); command.Connection = connection; command.Transaction = transaction; try { // Passou a ter isenção: if (a.PagamentoIsento == true & a.PagamentoIsentoBD == false) { a.DtIsencao = DateTime.Now; } string _data = ""; if (a.DtInicioProcessamento != null) { _data = " DtInicioProcessamento = @DtInicioProcessamento, "; } string _data2 = ""; if (a.DtIsencao != null) { _data2 = " DtIsencao = @DtIsencao, "; } command.CommandText = "" + "UPDATE dbo.AD_Assinatura_Anuidade " + "SET ValorAnuidadeId = @ValorAnuidadeId, " + " AnoInicio = @AnoInicio, AnoTermino = @AnoTermino, " + " PercentualDesconto = @PercentualDesconto, TipoDesconto = @TipoDesconto, " + " Valor = @Valor, DtVencimentoPagamento = @DtVencimentoPagamento, " + " DtAtualizacao = @DtAtualizacao, CodePS = @CodePS, DtCodePS = @DtCodePS, " + " Reference = @Reference, EmProcessoPagamento = @EmProcessoPagamento, " + " " + _data + "" + _data2 + "Ativo = @Ativo, PagamentoIsento = @PagamentoIsento, ObservacaoIsencao = @ObservacaoIsencao " + "WHERE AssinaturaAnuidadeId = @id"; command.Parameters.AddWithValue("ValorAnuidadeId", a.ValorAnuidadeId); command.Parameters.AddWithValue("AnoInicio", a.AnoInicio); command.Parameters.AddWithValue("AnoTermino", a.AnoTermino); command.Parameters.AddWithValue("PercentualDesconto", a.PercentualDesconto); command.Parameters.AddWithValue("TipoDesconto", a.TipoDesconto); command.Parameters.AddWithValue("Valor", a.Valor); command.Parameters.AddWithValue("DtVencimentoPagamento", a.DtVencimentoPagamento); command.Parameters.AddWithValue("DtAtualizacao", DateTime.Now); command.Parameters.AddWithValue("CodePS", a.CodePS); command.Parameters.AddWithValue("DtCodePS", a.DtCodePS); command.Parameters.AddWithValue("Reference", a.Reference); command.Parameters.AddWithValue("EmProcessoPagamento", a.EmProcessoPagamento); command.Parameters.AddWithValue("Ativo", a.Ativo); command.Parameters.AddWithValue("PagamentoIsento ", a.PagamentoIsento); command.Parameters.AddWithValue("ObservacaoIsencao ", a.ObservacaoIsencao); command.Parameters.AddWithValue("id", id); if (_data != "") { command.Parameters.AddWithValue("DtInicioProcessamento", a.DtInicioProcessamento); } if (_data2 != "") { command.Parameters.AddWithValue("DtIsencao", a.DtIsencao); } int x = command.ExecuteNonQuery(); _resultado = x > 0; _msg = x > 0 ? "Atualização realizada com sucesso" : "Atualização NÃO realizada com sucesso"; transaction.Commit(); if (x > 0) { Recebimento recebimento = new Recebimento(); recebimento = new Recebimento { AssinaturaAnuidadeId = a.AssinaturaAnuidadeId, DtVencimento = a.DtVencimentoPagamento, StatusPS = 0, GrossAmountPS = 0, DiscountAmountPS = 0, FeeAmountPS = 0, NetAmountPS = 0, ExtraAmountPS = 0, StatusFBTC = "3", OrigemEmissaoTitulo = "2", NotificationCodePS = a.Reference, Ativo = a.PagamentoIsento }; //Avaliar se houve alteração na isenção if (a.PagamentoIsento == true & a.PagamentoIsentoBD == false) { RecebimentoRepository recebimentoRepository = new RecebimentoRepository(); _msgIsento = recebimentoRepository.UpdateRecebimentoIsencao(0, recebimento); } // desativo os dados na tabela de pagamento: if (a.PagamentoIsento == false & a.PagamentoIsentoBD == true) { RecebimentoRepository recebimentoRepository = new RecebimentoRepository(); _msgIsento = recebimentoRepository.DeleteRecebimentoIsencao(a.AssinaturaAnuidadeId, 0); } } // Log do UPDATE ASSINATURA_ANUIDADE: StringBuilder sb = new StringBuilder(); sb.Append("Parâmetros: "); for (int z = 0; z < command.Parameters.Count; z++) { sb.Append(command.Parameters[z].ParameterName + ": " + command.Parameters[z].Value + ", "); } _instrucaoSql = sb.ToString(); _result = x > 0 ? "SUCESSO" : "FALHA"; string log = logRep.SetLogger(className + "/Update", "UPDATE", "ASSINATURA_ANUIDADE", id, _instrucaoSql, _result); //Fim do Log } catch (Exception ex) { try { transaction.Rollback(); } catch (Exception ex2) { _msg = $"ATENÇÃO: Ocorreu um erro ao tentar ATUALIZAR ASSINATURA_ANUIDADE: Commit Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"; // throw new Exception($"Rollback Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"); } string log = logRep.SetLogger(className + "/Update", "UPDATE", "ASSINATURA_ANUIDADE", 0, ex.Message, "FALHA"); _msg = $"ATENÇÃO: Ocorreu um erro ao tentar ATUALIZAR ASSINATURA_ANUIDADE: Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"; // throw new Exception($"Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"); } finally { connection.Close(); } } return(_msg); }
public RecebimentoService(RecebimentoRepository recebimentoRepository) { _recebimentoRepository = recebimentoRepository; }
public string Insert(AssinaturaAnuidade a) { bool _resultado = false; string _msg = ""; string _msgIsento = ""; Int32 id = 0; string _ident = ""; using (SqlConnection connection = new SqlConnection(strConnSql)) { connection.Open(); SqlCommand command = connection.CreateCommand(); SqlTransaction transaction; // Start a local transaction. transaction = connection.BeginTransaction("IncluirAssinaturaAnuidade"); command.Connection = connection; command.Transaction = transaction; try { // Passou a ter isenção: if (a.PagamentoIsento == true) { a.DtIsencao = DateTime.Now; } string _dtIsencao = a.DtIsencao != null ? ", DtIsencao ": ""; string _paramDtIsencao = a.DtIsencao != null ? ", @DtIsencao " : ""; command.CommandText = "" + "INSERT into dbo.AD_Assinatura_Anuidade (AssociadoId , ValorAnuidadeId, AnoInicio, " + " AnoTermino, PercentualDesconto, TipoDesconto, Valor, DtVencimentoPagamento, DtAssinatura, DtAtualizacao, " + " CodePS, DtCodePS, Reference, PagamentoIsento, ObservacaoIsencao " + _dtIsencao + ") " + "VALUES (@AssociadoId , @ValorAnuidadeId, @AnoInicio, " + " @AnoTermino, @PercentualDesconto, @TipoDesconto, @Valor, @DtVencimentoPagamento, @DtAssinatura, @DtAtualizacao, " + " @CodePS, @DtCodePS, @Reference, @PagamentoIsento, @ObservacaoIsencao " + _paramDtIsencao + ") " + "SELECT CAST(scope_identity() AS int) "; command.Parameters.AddWithValue("AssociadoId", a.AssociadoId); command.Parameters.AddWithValue("ValorAnuidadeId", a.ValorAnuidadeId); command.Parameters.AddWithValue("AnoInicio", a.AnoInicio); command.Parameters.AddWithValue("AnoTermino", a.AnoTermino); command.Parameters.AddWithValue("PercentualDesconto", a.PercentualDesconto); command.Parameters.AddWithValue("TipoDesconto", a.TipoDesconto); command.Parameters.AddWithValue("Valor", a.Valor); command.Parameters.AddWithValue("DtVencimentoPagamento", a.DtVencimentoPagamento); command.Parameters.AddWithValue("DtAssinatura", DateTime.Now); command.Parameters.AddWithValue("DtAtualizacao", DateTime.Now); command.Parameters.AddWithValue("CodePS", a.CodePS); command.Parameters.AddWithValue("DtCodePS", a.DtCodePS); command.Parameters.AddWithValue("Reference", a.Reference); command.Parameters.AddWithValue("PagamentoIsento", a.PagamentoIsento); command.Parameters.AddWithValue("ObservacaoIsencao", a.ObservacaoIsencao); if (_dtIsencao != "") { command.Parameters.AddWithValue("DtIsencao", a.DtIsencao); } id = (Int32)command.ExecuteScalar(); _resultado = id > 0; _ident = _ident.PadLeft(10 - id.ToString().Length, '0') + id.ToString(); _msg = id > 0 ? $"{_ident}Inclusão realizada com sucesso" : $"{_ident}Inclusão Não realizada com sucesso"; transaction.Commit(); if (id > 0) { //é isento: if (a.PagamentoIsento == true) { Recebimento recebimento = new Recebimento { AssinaturaAnuidadeId = id, DtVencimento = a.DtVencimentoPagamento, StatusPS = 0, GrossAmountPS = 0, DiscountAmountPS = 0, FeeAmountPS = 0, NetAmountPS = 0, ExtraAmountPS = 0, StatusFBTC = "3", OrigemEmissaoTitulo = "2", NotificationCodePS = a.Reference, Ativo = true }; RecebimentoRepository recebimentoRepository = new RecebimentoRepository(); _msgIsento = recebimentoRepository.InsertRecebimentoIsencao(recebimento); } } // Log da Inserção ASSINATURA_ANUIDADE: StringBuilder sb = new StringBuilder(); sb.Append("Parâmetros: "); for (int z = 0; z < command.Parameters.Count; z++) { sb.Append(command.Parameters[z].ParameterName + ": " + command.Parameters[z].Value + ", "); } _instrucaoSql = sb.ToString(); _result = id > 0 ? "SUCESSO" : "FALHA"; string log = logRep.SetLogger(className + "/Insert", "INSERT", "ASSINATURA_ANUIDADE", id, _instrucaoSql, _result); //Fim do Log } catch (Exception ex) { // Attempt to roll back the transaction. try { transaction.Rollback(); } catch (Exception ex2) { _msg = $"ATENÇÃO: Ocorreu um erro ao tentar INCLUIR ASSINATURA_ANUIDADE: Commit Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"; //throw new Exception($"Rollback Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"); } string log = logRep.SetLogger(className + "/Insert", "INSERT", "ASSINATURA_ANUIDADE", 0, ex.Message, "FALHA"); _msg = $"ATENÇÃO: Ocorreu um erro ao tentar INCLUIR ASSINATURA_ANUIDADE: Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"; // throw new Exception($"Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"); } finally { connection.Close(); } } return(_msg); }