public bool isValid(ContatoFields fieldInfo) { try { //Field Tipo if (fieldInfo.Tipo != string.Empty) { if (fieldInfo.Tipo.Trim().Length > 30) { throw new Exception("O campo \"Tipo\" deve ter comprimento máximo de 30 caracter(es)."); } } //Field Descricao if (fieldInfo.Descricao != string.Empty) { if (fieldInfo.Descricao.Trim().Length > 300) { throw new Exception("O campo \"Descricao\" deve ter comprimento máximo de 300 caracter(es)."); } } //Field Situacao if (fieldInfo.Situacao != string.Empty) { if (fieldInfo.Situacao.Trim().Length > 30) { throw new Exception("O campo \"Situacao\" deve ter comprimento máximo de 30 caracter(es)."); } } //Field fkProspect if (!(fieldInfo.fkProspect > 0)) { throw new Exception("O campo \"fkProspect\" deve ser maior que zero."); } return(true); } catch (Exception e) { this._ErrorMessage = e.Message; return(false); } }
protected void btnExcluir_Click(object sender, EventArgs e) { try { ContatoControl contatoDal = new ContatoControl(); ContatoFields contatoObj = new ContatoFields(); ImageButton imgButton; imgButton = (ImageButton)sender; //converter objeto para checkbox GridViewRow row = (GridViewRow)imgButton.Parent.Parent; // pegar a linha pai desta checkbox int idContato = Convert.ToInt32(gvPrincipal.DataKeys[row.RowIndex]["idContato"].ToString());//pegar o código da datakey da linha AssociacaoControl associacaoDal = new AssociacaoControl(); AssociacaoFields associacaoObj = associacaoDal.FindByfkContato(contatoObj.idContato); if (associacaoObj != null) associacaoDal.Delete(associacaoObj.idAssociacao); contatoDal.Delete(Convert.ToInt32(idContato)); MessageBox.Show("Contato apagado com sucesso.", MessageBox.MessageType.Success); DoSearch(); } catch (Exception ex) { MessageBox.Show(ex.Message, MessageBox.MessageType.Error); } }
protected void btnSalvar_Click(object sender, EventArgs e) { switch (ValidFields()) { case "Numero Conta Em Branco": MessageBox.Show("Situação Associada. Campo Número da Conta é de preenchimento obrigatório.", MessageBox.MessageType.Info); break; case "Descricao em Branco": MessageBox.Show("Campo Descrição é de preenchimento obrigatório.", MessageBox.MessageType.Info); break; case "Data em Branco": MessageBox.Show("Campo Data é de preenchimento obrigatório.", MessageBox.MessageType.Info); break; case "OK": using (TransactionScope scope = new TransactionScope()) { try { int idProspect = -1; if (Session["idProspectNew"] != null) { idProspect = Convert.ToInt32(Session["idProspectNew"].ToString()); } else if (Session["idProspectHist"] != null) { idProspect = Convert.ToInt32(Session["idProspectHist"].ToString()); } ProspectControl prospectData = new ProspectControl(); ProspectFields prospectObj = new ProspectFields(); prospectObj = prospectData.GetItem(idProspect); NomeProspect = prospectObj.Nome; ContatoControl contatoDal = new ContatoControl(); ContatoFields contatoObj = new ContatoFields(); contatoObj.DataCadastro = DateTime.Now; contatoObj.DataContato = Convert.ToDateTime(txtDate.Text + " " + DateTime.Now.TimeOfDay); contatoObj.Descricao = DescricaoContato; contatoObj.Situacao = Situacao; contatoObj.Tipo = Tipo; contatoObj.fkProspect = prospectObj.idProspect; int id = -1; if (Convert.ToInt32(hfEditaContato.Value) > 0) { contatoObj.idContato = Convert.ToInt32(hfEditaContato.Value); contatoDal.Update(contatoObj); id = contatoObj.idContato; } else { string situacaoContatoProspect = prospectObj.SituacaoProspect; if (situacaoContatoProspect != "Associada") id = contatoDal.Add(ref contatoObj); else { MessageBox.Show("Usuário com situação de Associada, favor verificar.", MessageBox.MessageType.Info); return; } } if (contatoObj.Tipo == "Associada") { AssociacaoControl associacaoDal = new AssociacaoControl(); AssociacaoFields associacaoObj = new AssociacaoFields(); associacaoObj.DataCadastro = contatoObj.DataCadastro; associacaoObj.DataAssociacao = contatoObj.DataContato; associacaoObj.NumeroConta = txtNumConta.Text; associacaoObj.fkContato = id; if (Convert.ToInt32(hfEditaContato.Value) > 0) { AssociacaoFields aux = associacaoDal.FindByfkContato(Convert.ToInt32(hfEditaContato.Value)); if (aux != null) { associacaoObj.idAssociacao = aux.idAssociacao; associacaoDal.Update(associacaoObj); prospectObj.SituacaoProspect = Situacao; prospectData.Update(prospectObj); } else { associacaoDal.Add(ref associacaoObj); prospectObj.SituacaoProspect = Situacao; prospectData.Update(prospectObj); } } else { string situacaoProspect = string.Empty; associacaoDal.Add(ref associacaoObj); prospectObj.SituacaoProspect = Situacao; prospectData.Update(prospectObj); } } if (Session["idProspectNew"] != null) { CleanFields(); MessageBox.Show("Contato adicionado com sucesso.", MessageBox.MessageType.Success); } else if (Session["idProspectHist"] != null) { CleanFields(); MessageBox.Show("Contato alterado com sucesso.", MessageBox.MessageType.Success); } } catch (Exception ex) { MessageBox.Show(ex.Message, MessageBox.MessageType.Error); } scope.Complete(); break; } } }
public bool isValid( ContatoFields fieldInfo ) { try { //Field Tipo if ( fieldInfo.Tipo != string.Empty ) if ( fieldInfo.Tipo.Trim().Length > 30 ) throw new Exception("O campo \"Tipo\" deve ter comprimento máximo de 30 caracter(es)."); //Field Descricao if ( fieldInfo.Descricao != string.Empty ) if ( fieldInfo.Descricao.Trim().Length > 300 ) throw new Exception("O campo \"Descricao\" deve ter comprimento máximo de 300 caracter(es)."); //Field Situacao if ( fieldInfo.Situacao != string.Empty ) if ( fieldInfo.Situacao.Trim().Length > 30 ) throw new Exception("O campo \"Situacao\" deve ter comprimento máximo de 30 caracter(es)."); //Field fkProspect if ( !( fieldInfo.fkProspect > 0 ) ) throw new Exception("O campo \"fkProspect\" deve ser maior que zero."); return true; } 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 ContatoFields</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( ContatoFields FieldInfo, SQLMode Modo ) { SqlParameter[] Parameters; switch (Modo) { case SQLMode.Add: Parameters = new SqlParameter[7]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idContato Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].Direction = ParameterDirection.Output; Parameters[0].ParameterName = "@Param_idContato"; Parameters[0].Value = DBNull.Value; break; case SQLMode.Update: Parameters = new SqlParameter[7]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idContato Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idContato"; Parameters[0].Value = FieldInfo.idContato; break; case SQLMode.SelectORDelete: Parameters = new SqlParameter[1]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); //Field idContato Parameters[0].SqlDbType = SqlDbType.Int; Parameters[0].ParameterName = "@Param_idContato"; Parameters[0].Value = FieldInfo.idContato; return Parameters; default: Parameters = new SqlParameter[7]; for (int I = 0; I < Parameters.Length; I++) Parameters[I] = new SqlParameter(); break; } //Field Tipo Parameters[1].SqlDbType = SqlDbType.VarChar; Parameters[1].ParameterName = "@Param_Tipo"; if (( FieldInfo.Tipo == null ) || ( FieldInfo.Tipo == string.Empty )) { Parameters[1].Value = DBNull.Value; } else { Parameters[1].Value = FieldInfo.Tipo; } Parameters[1].Size = 30; //Field Descricao Parameters[2].SqlDbType = SqlDbType.VarChar; Parameters[2].ParameterName = "@Param_Descricao"; if (( FieldInfo.Descricao == null ) || ( FieldInfo.Descricao == string.Empty )) { Parameters[2].Value = DBNull.Value; } else { Parameters[2].Value = FieldInfo.Descricao; } Parameters[2].Size = 300; //Field Situacao Parameters[3].SqlDbType = SqlDbType.VarChar; Parameters[3].ParameterName = "@Param_Situacao"; if (( FieldInfo.Situacao == null ) || ( FieldInfo.Situacao == string.Empty )) { Parameters[3].Value = DBNull.Value; } else { Parameters[3].Value = FieldInfo.Situacao; } Parameters[3].Size = 30; //Field DataContato Parameters[4].SqlDbType = SqlDbType.SmallDateTime; Parameters[4].ParameterName = "@Param_DataContato"; if ( FieldInfo.DataContato == DateTime.MinValue ) { Parameters[4].Value = DBNull.Value; } else { Parameters[4].Value = FieldInfo.DataContato; } //Field DataCadastro Parameters[5].SqlDbType = SqlDbType.SmallDateTime; Parameters[5].ParameterName = "@Param_DataCadastro"; if ( FieldInfo.DataCadastro == DateTime.MinValue ) { Parameters[5].Value = DBNull.Value; } else { Parameters[5].Value = FieldInfo.DataCadastro; } //Field fkProspect Parameters[6].SqlDbType = SqlDbType.Int; Parameters[6].ParameterName = "@Param_fkProspect"; Parameters[6].Value = FieldInfo.fkProspect; return Parameters; }
/// <summary> /// Retorna um objeto ContatoFields preenchido com os valores dos campos do SqlDataReader /// </summary> /// <param name="dr">SqlDataReader - Preenche o objeto ContatoFields </param> /// <returns>ContatoFields</returns> private ContatoFields GetDataFromReader( SqlDataReader dr ) { ContatoFields infoFields = new ContatoFields(); if (!dr.IsDBNull(0)) { infoFields.idContato = dr.GetInt32(0); } else { infoFields.idContato = 0; } if (!dr.IsDBNull(1)) { infoFields.Tipo = dr.GetString(1); } else { infoFields.Tipo = string.Empty; } if (!dr.IsDBNull(2)) { infoFields.Descricao = dr.GetString(2); } else { infoFields.Descricao = string.Empty; } if (!dr.IsDBNull(3)) { infoFields.Situacao = dr.GetString(3); } else { infoFields.Situacao = string.Empty; } if (!dr.IsDBNull(4)) { infoFields.DataContato = dr.GetDateTime(4); } else { infoFields.DataContato = DateTime.MinValue; } if (!dr.IsDBNull(5)) { infoFields.DataCadastro = dr.GetDateTime(5); } else { infoFields.DataCadastro = DateTime.MinValue; } if (!dr.IsDBNull(6)) { infoFields.fkProspect = dr.GetInt32(6); } else { infoFields.fkProspect = 0; } return infoFields; }
/// <summary> /// Grava/Persiste as alterações em um objeto ContatoFields 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 ContatoFields 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, ContatoFields FieldInfo ) { try { this.Cmd = new SqlCommand("Proc_Contato_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> /// Grava/Persiste as alterações em um objeto ContatoFields no banco de dados /// </summary> /// <param name="FieldInfo">Objeto ContatoFields 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( ContatoFields FieldInfo ) { try { this.Conn = new SqlConnection(this.StrConnetionDB); this.Conn.Open(); this.Tran = this.Conn.BeginTransaction(); this.Cmd = new SqlCommand("Proc_Contato_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 ContatoFields através da chave primária passada como parâmetro /// </summary> /// <param name="Param_idContato">int</param> /// <returns>Objeto ContatoFields</returns> public ContatoFields GetItem( int Param_idContato) { ContatoFields infoFields = new ContatoFields(); try { using (this.Conn = new SqlConnection(this.StrConnetionDB)) { using (this.Cmd = new SqlCommand("Proc_Contato_Select", this.Conn)) { this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.Add(new SqlParameter("@Param_idContato", SqlDbType.Int)).Value = Param_idContato; 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 ContatoFields 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, ContatoFields FieldInfo ) { return Delete(ConnIn, TranIn, FieldInfo.idContato); }
/// <summary> /// Exclui um registro da tabela no banco de dados /// </summary> /// <param name="FieldInfo">Objeto ContatoFields 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( ContatoFields FieldInfo ) { return Delete(FieldInfo.idContato); }