/// <summary> /// Metodo responsavel por consultar um HistoricoContrato. /// </summary> /// <param name="id">Id a ser consultado.</param> /// <returns>retorna um HistoricoContrato com o Id informado.</returns> public HistoricoContrato Consultar(int id) { UtilBD banco = new UtilBD(); SqlConnection conexao = banco.ObterConexao(); HistoricoContrato historicoContrato = null; try { SqlCommand comando = new SqlCommand(QUERY_SELECT_ID, conexao); SqlDataReader resultado; comando.Parameters.AddWithValue("@Id", id); conexao.Open(); resultado = comando.ExecuteReader(); resultado.Read(); if (resultado.HasRows) { historicoContrato = this.CriarHistoricoContrato(resultado); } resultado.Close(); } catch (SqlException e) { throw new ErroBanco(e.Message); } finally { banco.FecharConexao(conexao); } return(historicoContrato); }
/// <summary> /// Metodo responsavel por inserir um HistoricoContrato. /// </summary> /// <param name="historicoContrato">Objeto do tipo HistoricoContrato a ser inserido</param> /// <returns>retorna o HistoricoContrato inserido.</returns> public HistoricoContrato Inserir(HistoricoContrato historicoContrato) { UtilBD banco = new UtilBD(); SqlConnection conexao = banco.ObterConexao(); try { SqlCommand comando = new SqlCommand(QUERY_INSERT, conexao); comando.Parameters.AddWithValue("@DataInicio", historicoContrato.ContratoHistorico.DataInicio); comando.Parameters.AddWithValue("@PlanoId", historicoContrato.ContratoHistorico.Plano.Id); comando.Parameters.AddWithValue("@Status", (int)historicoContrato.ContratoHistorico.Status); comando.Parameters.AddWithValue("@TitularId", historicoContrato.ContratoHistorico.TitularId); comando.Parameters.AddWithValue("@ContratoId", historicoContrato.Contrato.Id); comando.Parameters.AddWithValue("@DataAlteracao", historicoContrato.DataAlteracao); comando.Parameters.AddWithValue("@UsuarioId", historicoContrato.Usuario.Id); comando.Parameters.AddWithValue("@Descricao", historicoContrato.Descricao); conexao.Open(); int regitrosAfetados = comando.ExecuteNonQuery(); //historicoContrato.ContratoHistorico.Id = this.ObterMaximoId(); } catch (SqlException e) { throw new ErroBanco(e.Message); } finally { banco.FecharConexao(conexao); } return(historicoContrato); }
/// <summary> /// Metodo responsavel por inserir um Contrato. /// </summary> /// <param name="contrato">Objeto do tipo Contrato a ser inserido</param> /// <exception cref="ExecaoNegocio">Lançara a ExecaoNegocio caso o objeto seja nulo.</exception> /// <returns>retorna o Contrato inserido.</returns> public Contrato Inserir(Contrato contrato, Usuario usuario) { if (contrato == null) { throw new ExcecaoNegocio("Valor Inválido."); } if (this.Consultar(contrato.Id) != null) { throw new ExcecaoNegocio("Número de Contrato já Informado."); } Contrato c = this.repContrato.Inserir(contrato); HistoricoContrato hc = new HistoricoContrato(); hc.DataAlteracao = new DateTime(); hc.DataAlteracao = DateTime.Now; hc.Usuario = usuario; hc.Descricao = "Inserido"; hc.ContratoHistorico = c; hc.Contrato = c; this.InserirHistorico(hc); return(c); }
/// <summary> /// Metodo para montar um HistoricoContrato recebendo um SqlDataReader como parametro. /// </summary> /// <param name="resultado">SqlDataReader</param> /// <returns>Retorna um HistoricoContrato</returns> private HistoricoContrato CriarHistoricoContrato(SqlDataReader resultado) { HistoricoContrato historicoContrato = new HistoricoContrato(); if (resultado["Id"] != DBNull.Value) { historicoContrato.ContratoHistorico.Id = Convert.ToInt32(resultado["Id"]); } if (resultado["DataInicio"] != DBNull.Value) { historicoContrato.ContratoHistorico.DataInicio = Convert.ToDateTime(resultado["DataInicio"]); } if (resultado["PlanoId"] != DBNull.Value) { historicoContrato.ContratoHistorico.Plano.Id = Convert.ToInt32(resultado["PlanoId"]); } if (resultado["Status"] != DBNull.Value) { historicoContrato.ContratoHistorico.Status = (StatusControle)Convert.ToInt32(resultado["Status"]); } if (resultado["ContratoId"] != DBNull.Value) { historicoContrato.Contrato.Id = Convert.ToInt32(resultado["ContratoId"]); } if (resultado["TitularId"] != DBNull.Value) { historicoContrato.Contrato.TitularId = Convert.ToInt32(resultado["TitularId"]); } if (resultado["DataAlteracao"] != DBNull.Value) { historicoContrato.DataAlteracao = Convert.ToDateTime(resultado["DataAlteracao"]); } if (resultado["UsuarioId"] != DBNull.Value) { historicoContrato.Usuario.Id = Convert.ToInt32(resultado["UsuarioId"]); } if (resultado["Descricao"] != DBNull.Value) { historicoContrato.Descricao = Convert.ToString(resultado["Descricao"]); } return(historicoContrato); }
/// <summary> /// Metodo responsavel por alterar um Contrato. /// </summary> /// <param name="contrato">Objeto do tipo Contrato a ser alterado</param> /// <param name="TitularId">Id do Titular do Contrato.</param> /// <exception cref="ExecaoNegocio">Lançara a ExecaoNegocio caso o objeto seja nulo ou o Contrato não seja encontrado.</exception> public void Alterar(Contrato contrato, Usuario usuario) { Contrato contratoAntigo = this.Consultar(contrato.Id); if (contratoAntigo != null && contrato != null) { this.repContrato.Alterar(contrato); } else { throw new ExcecaoNegocio("Contrato não existente."); } HistoricoContrato hc = new HistoricoContrato(); hc.DataAlteracao = new DateTime(); hc.DataAlteracao = DateTime.Now; hc.Usuario = usuario; string descricao = "Alterado\n"; if (contratoAntigo.DataInicio != contrato.DataInicio) { descricao += "Data de inicio\n"; } if (contratoAntigo.Parcelas.Count != contrato.Parcelas.Count) { descricao += "Parcelas\n"; } if (contratoAntigo.Plano.Id != contrato.Plano.Id) { descricao += "Plano\n"; } if (contratoAntigo.Status != contrato.Status) { descricao += "Status\n"; } hc.Descricao = descricao; hc.ContratoHistorico = contrato; hc.Contrato = contrato; this.InserirHistorico(hc); }
/// <summary> /// Metodo responsavel por inserir um HistoricoContrato. /// </summary> /// <param name="historicoContrato">Objeto do tipo HistoricoContrato a ser inserido</param> /// <param name="TitularId">Id do Titular do HistoricoContrato.</param> /// <returns>retorna o HistoricoContrato inserido.</returns> public HistoricoContrato InserirHistorico(HistoricoContrato historicoContrato) { return(this.repHistoricoContrato.Inserir(historicoContrato)); }