public AssinaturaAnuidade GetAssinaturaAnuidadeByReference(string reference) { List <DbParameter> _parametros = new List <DbParameter>(); query = @"SELECT AssinaturaAnuidadeId, AssociadoId, ValorAnuidadeId, AnoInicio, AnoTermino, PercentualDesconto, TipoDesconto, Valor, DtVencimentoPagamento, DtAssinatura, DtAtualizacao, Ativo, CodePS, DtCodePS, Reference, EmProcessoPagamento, DtInicioProcessamento, PagamentoIsento, PagamentoIsento as PagamentoIsentoBD, DtIsencao, ObservacaoIsencao FROM dbo.AD_Assinatura_Anuidade WHERE Reference = @reference "; // Definição do parâmetros da consulta: SqlParameter paramRef = new SqlParameter() { ParameterName = "@reference", Value = reference }; _parametros.Add(paramRef); // Fim da definição dos parâmetros // Define o banco de dados que será usando: CommandSql cmd = new CommandSql(strConnSql, query, EnumDatabaseType.SqlServer, parametros: _parametros); // Obtém os dados do banco de dados: AssinaturaAnuidade assinaturaAnuidade = GetCollection <AssinaturaAnuidade>(cmd)?.FirstOrDefault <AssinaturaAnuidade>(); // Log da consulta: string log = logRep.SetLogger(className + "/GetAssinaturaAnuidadeByReference", "SELECT", "ASSINATURA_ANUIDADE", 0, query, assinaturaAnuidade != null ? "SUCESSO" : "0"); // Fim Log return(assinaturaAnuidade); }
public string Update(int id, AssinaturaAnuidade assinaturaAnuidade) { return(_assinaturaAnuidadeRepository.Update(id, assinaturaAnuidade)); }
public string Insert(AssinaturaAnuidade assinaturaAnuidade) { return(_assinaturaAnuidadeRepository.Insert(assinaturaAnuidade)); }
public string Save(AssinaturaAnuidadeDao a) { int _percentualDesconto = 0; string _tipoDesconto = "0"; decimal _valor = a.Valor; _valor = Functions.CalcularDescontoAnuidade(a); // Isenção concedida pela Secretaria: if (a.PagamentoIsento == true) { a.TipoAnuidade = 1; // isenção para somente para uma anuidade _percentualDesconto = 100; _tipoDesconto = "3"; if (a.PagamentoIsentoBD == false) { a.DtCodePS = DateTime.Now; //Atualizo a data para a data da isenção } if (a.Reference == "") { a.Reference = $"ISENTO-A{a.Exercicio}{a.DtCodePS.GetHashCode()}".Replace("-", ""); } if (a.CodePS == "") { a.CodePS = $"Isento Pagamento Anuidade {a.Exercicio}{a.DtCodePS.GetHashCode()}".Replace("-", ""); } } else { // Desconto aplicado para Membros CONFI: if (a.MembroConfi == true) { _percentualDesconto = 100; _tipoDesconto = "4"; if (a.AssinaturaAnuidadeId == 0) { DateTime _date = DateTime.Now; a.CodePS = ""; a.DtCodePS = _date; a.Reference = "CONFI-" + $"A{a.Exercicio}{_date.GetHashCode()}".Replace("-", ""); a.EmProcessoPagamento = true; a.DtInicioProcessamento = _date; } } else { // O Desconto somente é aplicado para a Assinatura de Um Ano: if (a.TipoAnuidade == 1) { if (a.MembroDiretoria == true) { _percentualDesconto = 100; _tipoDesconto = "1"; } if (_percentualDesconto == 0) { if (a.AnuidadeAtcOk == true) { _percentualDesconto = 50; _tipoDesconto = "2"; } } } } } AssinaturaAnuidade assinaturaAnuidade = new AssinaturaAnuidade { AssinaturaAnuidadeId = a.AssinaturaAnuidadeId, AssociadoId = a.AssociadoId, ValorAnuidadeId = a.ValorAnuidadeId, AnoInicio = a.AnoInicio == 0 ? a.Exercicio : a.AnoInicio, AnoTermino = a.AnoTermino == 0 ? a.Exercicio + a.TipoAnuidade : a.AnoTermino, PercentualDesconto = _percentualDesconto, TipoDesconto = _tipoDesconto, Valor = _valor, DtVencimentoPagamento = a.DtVencimentoPagamento, DtAssinatura = a.DtAssinatura, CodePS = a.CodePS, DtCodePS = a.DtCodePS, Reference = a.Reference, EmProcessoPagamento = a.EmProcessoPagamento, DtInicioProcessamento = a.DtInicioProcessamento, DtAtualizacao = a.DtAtualizacao, Ativo = a.Ativo, DtIsencao = a.DtIsencao, ObservacaoIsencao = a.ObservacaoIsencao, PagamentoIsento = a.PagamentoIsento, PagamentoIsentoBD = a.PagamentoIsentoBD }; try { if (assinaturaAnuidade.AssinaturaAnuidadeId == 0) { // assinaturaAnuidade.Reference = "A" + a.Exercicio + DateTime.Now.GetHashCode(); return(_assinaturaAnuidadeService.Insert(assinaturaAnuidade)); } else { return(_assinaturaAnuidadeService.Update(assinaturaAnuidade.AssinaturaAnuidadeId, assinaturaAnuidade)); } } catch (Exception ex) { return(ex.Message); } }
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 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); }