public AnuidadeDao GetAnuidadeDaoById(int id) { List <DbParameter> _parametros = new List <DbParameter>(); query = @"SELECT AnuidadeId, Exercicio, DtVencimento, DtInicioVigencia, DtTerminoVigencia, CobrancaLiberada, DtCobrancaLiberada, DtCadastro, Ativo FROM dbo.AD_Anuidade WHERE AnuidadeId = @id "; // Definição do parâmetros da consulta: SqlParameter paramId = new SqlParameter() { ParameterName = "@id", Value = id }; _parametros.Add(paramId); // 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: AnuidadeDao _anuidadeDao = GetCollection <AnuidadeDao>(cmd)?.FirstOrDefault <AnuidadeDao>(); // Log da consulta: string log = logRep.SetLogger(className + "/GetAnuidadeDaoById", "SELECT", "ANUIDADE", id, query, _anuidadeDao != null ? "SUCESSO" : "0"); // Fim Log if (_anuidadeDao != null) { _anuidadeDao.AnuidadesTiposPublicosDao = GetAnuidadeTipoPublicoDaoByAnuidadeId(id); } return(_anuidadeDao); }
public Task <HttpResponseMessage> PostDao(AnuidadeDao anuidadeDao) { HttpResponseMessage response = new HttpResponseMessage(); var tsc = new TaskCompletionSource <HttpResponseMessage>(); string resultado = "false"; try { if (anuidadeDao == null) { throw new ArgumentNullException("O objeto 'AnuidadeDao' está nulo!"); } resultado = _anuidadeApplication.SaveAnuidadeDao(anuidadeDao); response = Request.CreateResponse(HttpStatusCode.OK, resultado); tsc.SetResult(response); return(tsc.Task); } catch (Exception ex) { if (ex.GetType().Name == "InvalidOperationException" || ex.Source == "prmToolkit.Validation") { response = Request.CreateResponse(HttpStatusCode.NotFound); response.ReasonPhrase = ex.Message; } else { response = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message); } tsc.SetResult(response); return(tsc.Task); } }
public string UpdateAnuidadeDao(int id, AnuidadeDao a) { bool _resultado = false; string _msg = ""; string _msg2 = ""; using (SqlConnection connection = new SqlConnection(strConnSql)) { connection.Open(); SqlCommand command = connection.CreateCommand(); SqlTransaction transaction; // Start a local transaction. transaction = connection.BeginTransaction("AtualizarAnuidade"); command.Connection = connection; command.Transaction = transaction; try { string _dtCobrancaLiberada = a.DtCobrancaLiberada != null ? "DtCobrancaLiberada = @DtCobrancaLiberada, " : ""; command.CommandText = "" + "UPDATE dbo.AD_Anuidade " + "SET Exercicio = @Exercicio, DtVencimento = @DtVencimento, " + " DtInicioVigencia = @DtInicioVigencia, DtTerminoVigencia = @DtTerminoVigencia, " + " CobrancaLiberada = @CobrancaLiberada, " + _dtCobrancaLiberada + " " + " Ativo = @Ativo " + "WHERE AnuidadeId = @id"; command.Parameters.AddWithValue("Exercicio", a.Exercicio); command.Parameters.AddWithValue("DtVencimento", a.DtVencimento); command.Parameters.AddWithValue("DtInicioVigencia", a.DtInicioVigencia); command.Parameters.AddWithValue("DtTerminoVigencia", a.DtTerminoVigencia); command.Parameters.AddWithValue("CobrancaLiberada", a.CobrancaLiberada); command.Parameters.AddWithValue("Ativo", a.Ativo); command.Parameters.AddWithValue("id", id); if (_dtCobrancaLiberada != "") { command.Parameters.AddWithValue("DtCobrancaLiberada", a.DtCobrancaLiberada); } int x = command.ExecuteNonQuery(); _resultado = x > 0; _msg = x > 0 ? "Atualização realizada com sucesso" : "Atualização NÃO realizada com sucesso"; transaction.Commit(); // Log do UPDATE PESSOA: 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 + "/UpdateAnuidadeDao", "UPDATE", "ANUIDADE", id, _instrucaoSql, _result); //Fim do Log // Atualizando os valores da anuidade: if (a.AnuidadesTiposPublicosDao != null) { foreach (var atp in a.AnuidadesTiposPublicosDao) { _msg2 = this.UpdateAnuidadeTipoPublico(atp.AnuidadeTipoPublicoId, atp); } } } catch (Exception ex) { try { transaction.Rollback(); } catch (Exception ex2) { throw new Exception($"Rollback Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"); } string log = logRep.SetLogger(className + "/UpdateAnuidadeDao", "UPDATE", "ANUIDADE", 0, ex.Message, "FALHA"); if (ex.Message.Contains("Violation of UNIQUE KEY constraint 'AK_AD_Anuidade_Exercicio'. Cannot insert duplicate key in object 'dbo.AD_Anuidade'")) { _msg = "Atenção: Já há um registro previamente cadastrado para o exercício informado"; } else { _msg = "Atenção: Não foi possível gravar o registro"; } // throw new Exception($"Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"); } finally { connection.Close(); } } return(_msg); }
public string InsertAnuidadeDao(AnuidadeDao a) { bool _resultado = false; string _msg = ""; string _msg2 = ""; 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("IncluirAnuidade"); command.Connection = connection; command.Transaction = transaction; string _dtCobrancaLiberada = a.DtCobrancaLiberada != null ? ", DtCobrancaLiberada " : ""; string _paramDtCobrancaLiberada = a.DtCobrancaLiberada != null ? ", @DtCobrancaLiberada " : ""; try { command.CommandText = "" + "INSERT into dbo.AD_Anuidade (Exercicio, DtVencimento, DtInicioVigencia, " + " DtTerminoVigencia, CobrancaLiberada" + _dtCobrancaLiberada + ") " + "VALUES (@Exercicio, @DtVencimento, @DtInicioVigencia, " + " @DtTerminoVigencia, @CobrancaLiberada" + _paramDtCobrancaLiberada + ") " + "SELECT CAST(scope_identity() AS int) "; command.Parameters.AddWithValue("Exercicio", a.Exercicio); command.Parameters.AddWithValue("DtVencimento", a.DtVencimento); command.Parameters.AddWithValue("DtInicioVigencia", a.DtInicioVigencia); command.Parameters.AddWithValue("DtTerminoVigencia", a.DtTerminoVigencia); command.Parameters.AddWithValue("CobrancaLiberada", a.CobrancaLiberada); if (_paramDtCobrancaLiberada != "") { command.Parameters.AddWithValue("DtCobrancaLiberada", a.DtCobrancaLiberada); } id = (Int32)command.ExecuteScalar(); _resultado = id > 0; if (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(); // Log da Inserção 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 + "/InsertAnuidadeDao", "INSERT", "ANUIDADE", id, _instrucaoSql, _result); //Fim do Log // Inserindo na tabela ANUIDADE_TIPO_PUBLICO: if (a.AnuidadesTiposPublicosDao != null) { foreach (var atp in a.AnuidadesTiposPublicosDao) { atp.AnuidadeId = id; if (atp.AnuidadeTipoPublicoId == 0) { _msg2 = this.InsertAnuidadeTipoPublico(atp); } } } } catch (Exception ex) { // Attempt to roll back the transaction. try { transaction.Rollback(); } catch (Exception ex2) { throw new Exception($"Rollback Exception Type:{ex2.GetType()}. Erro:{ex2.Message}"); } string log = logRep.SetLogger(className + "/InsertAnuidadeDao", "INSERT", "ANUIDADE", 0, ex.Message, "FALHA"); if (ex.Message.Contains("Violation of UNIQUE KEY constraint 'AK_AD_Anuidade_Exercicio'. Cannot insert duplicate key in object 'dbo.AD_Anuidade'")) { _msg = "Atenção: Já há um registro previamente cadastrado para o exercício informado"; } else { _msg = "Atenção: Não foi possível gravar o registro"; } // throw new Exception($"Commit Exception Type:{ex.GetType()}. Erro:{ex.Message}"); } finally { connection.Close(); } } return(_msg); }
public string SaveAnuidadeDao(AnuidadeDao a) { IEnumerable <TipoPublico> tiposPublicos = GetTiposPublicosToAnuidade(); List <TipoPublico> lstTipoPublico = new List <TipoPublico>(); foreach (var tp in tiposPublicos) { lstTipoPublico.Add(tp); } ArgumentsValidator.RaiseExceptionOfInvalidArguments( RaiseException.IfTrue(a.Exercicio == 0, "Exercício não informado"), RaiseException.IfFalse(Functions.CheckDate(a.DtVencimento.ToString()), "Data inválida"), RaiseException.IfFalse(Functions.CheckDate(a.DtInicioVigencia.ToString()), "Data início vigência inválida"), RaiseException.IfFalse(Functions.CheckDate(a.DtTerminoVigencia.ToString()), "Data término vigência inválida"), RaiseException.IfTrue(a.AnuidadesTiposPublicosDao == null, "Anuidade tipo público está nulo") ); foreach (var atp in a.AnuidadesTiposPublicosDao) { ArgumentsValidator.RaiseExceptionOfInvalidArguments( RaiseException.IfTrue(atp.ValoresAnuidades == null, "Valores anuidades está nulo") ); atp.TipoPublicoId = lstTipoPublico.Find(x => x.Codigo == atp.Codigo).TipoPublicoId; ArgumentsValidator.RaiseExceptionOfInvalidArguments( RaiseException.IfTrue(atp.TipoPublicoId == 0, "Tipo Publico não encontrado") ); } // Setando a primeira data de inicio da cobrança: if (a.CobrancaLiberada == true && a.DtCobrancaLiberada == null) { a.DtCobrancaLiberada = DateTime.Now; } AnuidadeDao _a = new AnuidadeDao { AnuidadeId = a.AnuidadeId, Exercicio = a.Exercicio, DtVencimento = a.DtVencimento, DtInicioVigencia = a.DtInicioVigencia, DtTerminoVigencia = a.DtTerminoVigencia, CobrancaLiberada = a.CobrancaLiberada, DtCobrancaLiberada = a.DtCobrancaLiberada, DtCadastro = a.DtCadastro, Ativo = a.Ativo, AnuidadesTiposPublicosDao = a.AnuidadesTiposPublicosDao }; try { if (_a.AnuidadeId == 0) { return(_anuidadeService.InsertAnuidadeDao(_a)); } else { return(_anuidadeService.UpdateAnuidadeDao(a.AnuidadeId, _a)); } } catch (Exception ex) { throw ex; } }
public string UpdateAnuidadeDao(int id, AnuidadeDao anuidadeDao) { return(_anuidadeRepository.UpdateAnuidadeDao(id, anuidadeDao)); }
public string InsertAnuidadeDao(AnuidadeDao anuidadeDao) { return(_anuidadeRepository.InsertAnuidadeDao(anuidadeDao)); }