/// <summary> /// Retorna um objeto PedidoFields preenchido com os valores dos campos do SqlDataReader /// </summary> /// <param name="dr">SqlDataReader - Preenche o objeto PedidoFields </param> /// <returns>PedidoFields</returns> private PedidoFields GetDataFromReader( SqlDataReader dr ) { PedidoFields infoFields = new PedidoFields(); if (!dr.IsDBNull(0)) { infoFields.idPedido = dr.GetInt32(0); } else { infoFields.idPedido = 0; } if (!dr.IsDBNull(1)) { infoFields.dtPedido = dr.GetDateTime(1); } else { infoFields.dtPedido = DateTime.MinValue; } if (!dr.IsDBNull(2)) { infoFields.dtSaidaPedido = dr.GetDateTime(2); } else { infoFields.dtSaidaPedido = DateTime.MinValue; } if (!dr.IsDBNull(3)) { infoFields.tipoPedido = dr.GetString(3); } else { infoFields.tipoPedido = string.Empty; } if (!dr.IsDBNull(4)) { infoFields.situacaoPedido = dr.GetString(4); } else { infoFields.situacaoPedido = string.Empty; } if (!dr.IsDBNull(5)) { infoFields.tipoEntregaPedido = dr.GetString(5); } else { infoFields.tipoEntregaPedido = string.Empty; } if (!dr.IsDBNull(6)) { infoFields.fkCliente = dr.GetInt32(6); } else { infoFields.fkCliente = 0; } if (!dr.IsDBNull(7)) { infoFields.fkUsuario = dr.GetInt32(7); } else { infoFields.fkUsuario = 0; } if (!dr.IsDBNull(8)) { infoFields.fkTipoPagamento = dr.GetInt32(8); } else { infoFields.fkTipoPagamento = 0; } if (!dr.IsDBNull(9)) { infoFields.fkFormaPagamento = dr.GetInt32(9); } else { infoFields.fkFormaPagamento = 0; } if (!dr.IsDBNull(10)) { infoFields.valorTotalPedido = dr.GetDecimal(10); } else { infoFields.valorTotalPedido = 0; } if (!dr.IsDBNull(11)) { infoFields.numeroPedido = dr.GetInt32(11); } else { infoFields.numeroPedido = 0; } if (!dr.IsDBNull(12)) { infoFields.fkLoja = dr.GetInt32(12); } else { infoFields.fkLoja = 0; } if (!dr.IsDBNull(13)) { infoFields.numeroNF = dr.GetString(13); } else { infoFields.numeroNF = string.Empty; } if (!dr.IsDBNull(14)) { infoFields.Observacao = dr.GetString(14); } else { infoFields.Observacao = string.Empty; } if (!dr.IsDBNull(15)) { infoFields.ValorDesconto = dr.GetDecimal(15); } else { infoFields.ValorDesconto = 0; } if (!dr.IsDBNull(16)) { infoFields.ValorFrete = dr.GetDecimal(16); } else { infoFields.ValorFrete = 0; } return infoFields; }
/// <summary> /// Grava/Persiste as alterações em um objeto PedidoFields 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 PedidoFields 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, PedidoFields FieldInfo ) { try { this.Cmd = new SqlCommand("Proc_Pedido_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 array de parâmetros com campos para atualização, seleção e inserção no banco de dados /// </summary> /// <param name="FieldInfo">Objeto PedidoFields</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( PedidoFields FieldInfo, SQLMode Modo ) { SqlParameter[] Parameters; switch (Modo) { case SQLMode.Add: Parameters = new SqlParameter[17]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idPedido Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].Direction = ParameterDirection.Output; Parameters[0].ParameterName = "@Param_idPedido"; Parameters[0].Value = DBNull.Value; break; case SQLMode.Update: Parameters = new SqlParameter[17]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idPedido Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idPedido"; Parameters[0].Value = FieldInfo.idPedido; break; case SQLMode.SelectORDelete: Parameters = new SqlParameter[1]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idPedido Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idPedido"; Parameters[0].Value = FieldInfo.idPedido; return Parameters; default: Parameters = new SqlParameter[17]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); break; } //Field dtPedido Parameters[1].SqlDbType = SqlDbType.SmallDateTime; Parameters[1].ParameterName = "@Param_dtPedido"; if ( FieldInfo.dtPedido == DateTime.MinValue ) { Parameters[1].Value = DBNull.Value; } else { Parameters[1].Value = FieldInfo.dtPedido; } //Field dtSaidaPedido Parameters[2].SqlDbType = SqlDbType.SmallDateTime; Parameters[2].ParameterName = "@Param_dtSaidaPedido"; if ( FieldInfo.dtSaidaPedido == DateTime.MinValue ) { Parameters[2].Value = DBNull.Value; } else { Parameters[2].Value = FieldInfo.dtSaidaPedido; } //Field tipoPedido Parameters[3].SqlDbType = SqlDbType.VarChar; Parameters[3].ParameterName = "@Param_tipoPedido"; if (( FieldInfo.tipoPedido == null ) || ( FieldInfo.tipoPedido == string.Empty )) { Parameters[3].Value = DBNull.Value; } else { Parameters[3].Value = FieldInfo.tipoPedido; } Parameters[3].Size = 50; //Field situacaoPedido Parameters[4].SqlDbType = SqlDbType.VarChar; Parameters[4].ParameterName = "@Param_situacaoPedido"; if (( FieldInfo.situacaoPedido == null ) || ( FieldInfo.situacaoPedido == string.Empty )) { Parameters[4].Value = DBNull.Value; } else { Parameters[4].Value = FieldInfo.situacaoPedido; } Parameters[4].Size = 50; //Field tipoEntregaPedido Parameters[5].SqlDbType = SqlDbType.VarChar; Parameters[5].ParameterName = "@Param_tipoEntregaPedido"; if (( FieldInfo.tipoEntregaPedido == null ) || ( FieldInfo.tipoEntregaPedido == string.Empty )) { Parameters[5].Value = DBNull.Value; } else { Parameters[5].Value = FieldInfo.tipoEntregaPedido; } Parameters[5].Size = 50; //Field fkCliente Parameters[6].SqlDbType = SqlDbType.Int; Parameters[6].ParameterName = "@Param_fkCliente"; Parameters[6].Value = FieldInfo.fkCliente; //Field fkUsuario Parameters[7].SqlDbType = SqlDbType.Int; Parameters[7].ParameterName = "@Param_fkUsuario"; Parameters[7].Value = FieldInfo.fkUsuario; //Field fkTipoPagamento Parameters[8].SqlDbType = SqlDbType.Int; Parameters[8].ParameterName = "@Param_fkTipoPagamento"; Parameters[8].Value = FieldInfo.fkTipoPagamento; //Field fkFormaPagamento Parameters[9].SqlDbType = SqlDbType.Int; Parameters[9].ParameterName = "@Param_fkFormaPagamento"; Parameters[9].Value = FieldInfo.fkFormaPagamento; //Field valorTotalPedido Parameters[10].SqlDbType = SqlDbType.Decimal; Parameters[10].ParameterName = "@Param_valorTotalPedido"; Parameters[10].Value = FieldInfo.valorTotalPedido; //Field numeroPedido Parameters[11].SqlDbType = SqlDbType.Int; Parameters[11].ParameterName = "@Param_numeroPedido"; Parameters[11].Value = FieldInfo.numeroPedido; //Field fkLoja Parameters[12].SqlDbType = SqlDbType.Int; Parameters[12].ParameterName = "@Param_fkLoja"; Parameters[12].Value = FieldInfo.fkLoja; //Field numeroNF Parameters[13].SqlDbType = SqlDbType.VarChar; Parameters[13].ParameterName = "@Param_numeroNF"; if (( FieldInfo.numeroNF == null ) || ( FieldInfo.numeroNF == string.Empty )) { Parameters[13].Value = DBNull.Value; } else { Parameters[13].Value = FieldInfo.numeroNF; } Parameters[13].Size = 200; //Field Observacao Parameters[14].SqlDbType = SqlDbType.VarChar; Parameters[14].ParameterName = "@Param_Observacao"; if (( FieldInfo.Observacao == null ) || ( FieldInfo.Observacao == string.Empty )) { Parameters[14].Value = DBNull.Value; } else { Parameters[14].Value = FieldInfo.Observacao; } Parameters[14].Size = 2000; //Field ValorDesconto Parameters[15].SqlDbType = SqlDbType.Decimal; Parameters[15].ParameterName = "@Param_ValorDesconto"; Parameters[15].Value = FieldInfo.ValorDesconto; //Field ValorFrete Parameters[16].SqlDbType = SqlDbType.Decimal; Parameters[16].ParameterName = "@Param_ValorFrete"; Parameters[16].Value = FieldInfo.ValorFrete; return Parameters; }
/// <summary> /// Grava/Persiste as alterações em um objeto PedidoFields no banco de dados /// </summary> /// <param name="FieldInfo">Objeto PedidoFields 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( PedidoFields FieldInfo ) { try { this.Conn = new SqlConnection(this.StrConnetionDB); this.Conn.Open(); this.Tran = this.Conn.BeginTransaction(); this.Cmd = new SqlCommand("Proc_Pedido_Update", this.Conn, this.Tran); 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!!"); this.Tran.Commit(); return true; } catch (SqlException e) { this.Tran.Rollback(); //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.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 PedidoFields através da chave primária passada como parâmetro /// </summary> /// <param name="Param_idPedido">int</param> /// <returns>Objeto PedidoFields</returns> public PedidoFields GetItem( int Param_idPedido) { PedidoFields infoFields = new PedidoFields(); try { using (this.Conn = new SqlConnection(this.StrConnetionDB)) { using (this.Cmd = new SqlCommand("Proc_Pedido_Select", this.Conn)) { this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.Add(new SqlParameter("@Param_idPedido", SqlDbType.Int)).Value = Param_idPedido; 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> /// 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 PedidoFields 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, PedidoFields FieldInfo ) { return Delete(ConnIn, TranIn, FieldInfo.idPedido); }
/// <summary> /// Exclui um registro da tabela no banco de dados /// </summary> /// <param name="FieldInfo">Objeto PedidoFields 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( PedidoFields FieldInfo ) { return Delete(FieldInfo.idPedido); }
public bool isValid(PedidoFields fieldInfo) { try { //Field tipoPedido if (fieldInfo.tipoPedido != string.Empty) if (fieldInfo.tipoPedido.Trim().Length > 50) throw new Exception("O campo \"tipoPedido\" deve ter comprimento máximo de 50 caracter(es)."); //Field situacaoPedido if (fieldInfo.situacaoPedido != string.Empty) if (fieldInfo.situacaoPedido.Trim().Length > 50) throw new Exception("O campo \"situacaoPedido\" deve ter comprimento máximo de 50 caracter(es)."); //Field tipoEntregaPedido if (fieldInfo.tipoEntregaPedido != string.Empty) if (fieldInfo.tipoEntregaPedido.Trim().Length > 50) throw new Exception("O campo \"tipoEntregaPedido\" deve ter comprimento máximo de 50 caracter(es)."); //Field fkCliente if (!(fieldInfo.fkCliente > 0)) throw new Exception("O campo \"fkCliente\" deve ser maior que zero."); //Field fkUsuario if (!(fieldInfo.fkUsuario > 0)) throw new Exception("O campo \"fkUsuario\" deve ser maior que zero."); //Field fkTipoPagamento //if ( !( fieldInfo.fkTipoPagamento > 0 ) ) // throw new Exception("O campo \"fkTipoPagamento\" deve ser maior que zero."); //Field fkFormaPagamento //if ( !( fieldInfo.fkFormaPagamento > 0 ) ) // throw new Exception("O campo \"fkFormaPagamento\" deve ser maior que zero."); //Field valorTotalPedido //if (!(fieldInfo.valorTotalPedido > 0)) // throw new Exception("O campo \"valorTotalPedido\" deve ser maior que zero."); //Field numeroPedido //if (!(fieldInfo.numeroPedido > 0)) // throw new Exception("O campo \"numeroPedido\" deve ser maior que zero."); //Field fkLoja if (!(fieldInfo.fkLoja > 0)) throw new Exception("O campo \"fkLoja\" deve ser maior que zero."); //Field numeroNF if (fieldInfo.numeroNF != string.Empty) if (fieldInfo.numeroNF.Trim().Length > 200) throw new Exception("O campo \"numeroNF\" deve ter comprimento máximo de 200 caracter(es)."); //Field Observacao //if ( fieldInfo.Observacao != string.Empty ) // if ( fieldInfo.Observacao.Trim().Length > 0 ) // throw new Exception("O campo \"Observacao\" deve ter comprimento máximo de 0 caracter(es)."); ////Field ValorDesconto //if ( !( fieldInfo.ValorDesconto > 0 ) ) // throw new Exception("O campo \"ValorDesconto\" deve ser maior que zero."); ////Field ValorFrete //if ( !( fieldInfo.ValorFrete > 0 ) ) // throw new Exception("O campo \"ValorFrete\" deve ser maior que zero."); return true; } catch (Exception e) { this._ErrorMessage = e.Message; return false; } }