/// <summary> /// Grava/Persiste as alterações em um objeto GrupoClienteFields no banco de dados /// </summary> /// <param name="ConnIn">Objeto SqlConnection responsável pela conexão com o banco de dados.</param> /// <param name="TranIn">Objeto SqlTransaction responsável pela transação iniciada no banco de dados.</param> /// <param name="FieldInfo">Objeto GrupoClienteFields a ser alterado.</param> /// <returns>"true" = registro alterado com sucesso, "false" = erro ao tentar alterar registro (consulte a propriedade ErrorMessage para detalhes)</returns> public bool Update(SqlConnection ConnIn, SqlTransaction TranIn, GrupoClienteFields FieldInfo) { try { this.Cmd = new SqlCommand("Proc_GrupoCliente_Update", ConnIn, TranIn); this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.AddRange(GetAllParameters(FieldInfo, SQLMode.Update)); if (!(this.Cmd.ExecuteNonQuery() > 0)) { throw new Exception("Erro ao tentar atualizar registro!!"); } return(true); } catch (SqlException e) { //this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar atualizar o(s) registro(s) solicitados: Código do erro: {0}, Mensagem: {1}, Procedimento: {2}, Linha do erro {3}.", e.ErrorCode, e.Message, e.Procedure, e.LineNumber); this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar atualizar o(s) registro(s) solicitados: {0}.", e.Message); return(false); } catch (Exception e) { this._ErrorMessage = e.Message; return(false); } }
/// <summary> /// Retorna um objeto GrupoClienteFields através da chave primária passada como parâmetro /// </summary> /// <param name="Param_idGrupoCliente">int</param> /// <returns>Objeto GrupoClienteFields</returns> public GrupoClienteFields GetItem( int Param_idGrupoCliente) { GrupoClienteFields infoFields = new GrupoClienteFields(); try { using (this.Conn = new SqlConnection(this.StrConnetionDB)) { using (this.Cmd = new SqlCommand("Proc_GrupoCliente_Select", this.Conn)) { this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.Add(new SqlParameter("@Param_idGrupoCliente", SqlDbType.Int)).Value = Param_idGrupoCliente; this.Cmd.Connection.Open(); using (SqlDataReader dr = this.Cmd.ExecuteReader(CommandBehavior.SequentialAccess)) { if (!dr.HasRows) { return(null); } if (dr.Read()) { infoFields = GetDataFromReader(dr); } } } } return(infoFields); } catch (SqlException e) { //this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar selecionar o(s) registro(s) solicitados: Código do erro: {0}, Mensagem: {1}, Procedimento: {2}, Linha do erro {3}.", e.ErrorCode, e.Message, e.Procedure, e.LineNumber); this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar selecionar o(s) registro(s) solicitados: {0}.", e.Message); return(null); } catch (Exception e) { this._ErrorMessage = e.Message; return(null); } finally { if (this.Conn != null) { if (this.Conn.State == ConnectionState.Open) { this.Conn.Dispose(); } } } }
/// <summary> /// Grava/Persiste um novo objeto GrupoClienteFields no banco de dados /// </summary> /// <param name="FieldInfo">Objeto GrupoClienteFields a ser gravado.Caso o parâmetro solicite a expressão "ref", será adicionado um novo valor a algum campo auto incremento.</param> /// <returns>"true" = registro gravado com sucesso, "false" = erro ao gravar registro (consulte a propriedade ErrorMessage para detalhes)</returns> public bool Add(ref GrupoClienteFields FieldInfo) { try { this.Conn = new SqlConnection(this.StrConnetionDB); this.Conn.Open(); this.Tran = this.Conn.BeginTransaction(); this.Cmd = new SqlCommand("Proc_GrupoCliente_Add", this.Conn, this.Tran); this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.AddRange(GetAllParameters(FieldInfo, SQLMode.Add)); if (!(this.Cmd.ExecuteNonQuery() > 0)) { throw new Exception("Erro ao tentar inserir registro!!"); } this.Tran.Commit(); FieldInfo.idGrupoCliente = (int)this.Cmd.Parameters["@Param_idGrupoCliente"].Value; return(true); } catch (SqlException e) { this.Tran.Rollback(); //this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar inserir o(s) registro(s) solicitados: Código do erro: {0}, Mensagem: {1}, Procedimento: {2}, Linha do erro {3}.", e.ErrorCode, e.Message, e.Procedure, e.LineNumber); this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar inserir o(s) registro(s) solicitados: {0}.", e.Message); return(false); } catch (Exception e) { this.Tran.Rollback(); this._ErrorMessage = e.Message; return(false); } finally { if (this.Conn != null) { if (this.Conn.State == ConnectionState.Open) { this.Conn.Dispose(); } } if (this.Cmd != null) { this.Cmd.Dispose(); } } }
/// <summary> /// Retorna um objeto GrupoClienteFields preenchido com os valores dos campos do SqlDataReader /// </summary> /// <param name="dr">SqlDataReader - Preenche o objeto GrupoClienteFields </param> /// <returns>GrupoClienteFields</returns> private GrupoClienteFields GetDataFromReader(SqlDataReader dr) { GrupoClienteFields infoFields = new GrupoClienteFields(); if (!dr.IsDBNull(0)) { infoFields.idGrupoCliente = dr.GetInt32(0); } else { infoFields.idGrupoCliente = 0; } if (!dr.IsDBNull(1)) { infoFields.descricaoGrupoCliente = dr.GetString(1); } else { infoFields.descricaoGrupoCliente = string.Empty; } if (!dr.IsDBNull(2)) { infoFields.TipoClienteGrupoCliente = dr.GetString(2); } else { infoFields.TipoClienteGrupoCliente = string.Empty; } return(infoFields); }
/// <summary> /// Retorna um array de parâmetros com campos para atualização, seleção e inserção no banco de dados /// </summary> /// <param name="FieldInfo">Objeto GrupoClienteFields</param> /// <param name="Modo">Tipo de oepração a ser executada no banco de dados</param> /// <returns>SqlParameter[] - Array de parâmetros</returns> private SqlParameter[] GetAllParameters(GrupoClienteFields FieldInfo, SQLMode Modo) { SqlParameter[] Parameters; switch (Modo) { case SQLMode.Add: Parameters = new SqlParameter[3]; for (int I = 0; I < Parameters.Length; I++) { Parameters[I] = new SqlParameter(); } //Field idGrupoCliente Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].Direction = ParameterDirection.Output; Parameters[0].ParameterName = "@Param_idGrupoCliente"; Parameters[0].Value = DBNull.Value; break; case SQLMode.Update: Parameters = new SqlParameter[3]; for (int I = 0; I < Parameters.Length; I++) { Parameters[I] = new SqlParameter(); } //Field idGrupoCliente Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idGrupoCliente"; Parameters[0].Value = FieldInfo.idGrupoCliente; break; case SQLMode.SelectORDelete: Parameters = new SqlParameter[1]; for (int I = 0; I < Parameters.Length; I++) { Parameters[I] = new SqlParameter(); } //Field idGrupoCliente Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idGrupoCliente"; Parameters[0].Value = FieldInfo.idGrupoCliente; return(Parameters); default: Parameters = new SqlParameter[3]; for (int I = 0; I < Parameters.Length; I++) { Parameters[I] = new SqlParameter(); } break; } //Field descricaoGrupoCliente Parameters[1].SqlDbType = SqlDbType.VarChar; Parameters[1].ParameterName = "@Param_descricaoGrupoCliente"; if ((FieldInfo.descricaoGrupoCliente == null) || (FieldInfo.descricaoGrupoCliente == string.Empty)) { Parameters[1].Value = DBNull.Value; } else { Parameters[1].Value = FieldInfo.descricaoGrupoCliente; } Parameters[1].Size = 50; //Field TipoClienteGrupoCliente Parameters[2].SqlDbType = SqlDbType.VarChar; Parameters[2].ParameterName = "@Param_TipoClienteGrupoCliente"; if ((FieldInfo.TipoClienteGrupoCliente == null) || (FieldInfo.TipoClienteGrupoCliente == string.Empty)) { Parameters[2].Value = DBNull.Value; } else { Parameters[2].Value = FieldInfo.TipoClienteGrupoCliente; } Parameters[2].Size = 2; return(Parameters); }
/// <summary> /// Exclui um registro da tabela no banco de dados /// </summary> /// <param name="ConnIn">Objeto SqlConnection responsável pela conexão com o banco de dados.</param> /// <param name="TranIn">Objeto SqlTransaction responsável pela transação iniciada no banco de dados.</param> /// <param name="FieldInfo">Objeto GrupoClienteFields a ser excluído.</param> /// <returns>"true" = registro excluido com sucesso, "false" = erro ao tentar excluir registro (consulte a propriedade ErrorMessage para detalhes)</returns> public bool Delete(SqlConnection ConnIn, SqlTransaction TranIn, GrupoClienteFields FieldInfo) { return(Delete(ConnIn, TranIn, FieldInfo.idGrupoCliente)); }
/// <summary> /// Exclui um registro da tabela no banco de dados /// </summary> /// <param name="FieldInfo">Objeto GrupoClienteFields a ser excluído.</param> /// <returns>"true" = registro excluido com sucesso, "false" = erro ao tentar excluir registro (consulte a propriedade ErrorMessage para detalhes)</returns> public bool Delete(GrupoClienteFields FieldInfo) { return(Delete(FieldInfo.idGrupoCliente)); }