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;
                    }

            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtNomeProspect.Text))
                    throw new Exception("Campo Nome é preenchimento obrigatório.");

                IndicacaoControl indDal = new IndicacaoControl();
                IndicacaoFields indicacaoNew = new IndicacaoFields();

                if (Session["TpEdita"] != null)
                    indicacaoNew = indDal.GetItem(Convert.ToInt32(hfIdProspect.Value));

                //popula os obj indicacao
                indicacaoNew.Bairro = txtBairro.Text;
                indicacaoNew.Cidade = txtCidade.Text;
                indicacaoNew.Endereco = txtEndereco.Text;
                indicacaoNew.Nome = txtNomeProspect.Text;
                indicacaoNew.Telefone = txtTelefone.Text;
                indicacaoNew.Estado = ddlUF.SelectedValue;

                if (Session["TpEdita"] != null)
                {
                    UsuarioFields usuarioIndica = (UsuarioFields)Session["usuarioObj"];
                    indicacaoNew.idUsuarioIndica = usuarioIndica.idUsuario;
                    indicacaoNew.idUsuarioRecebe = int.Parse(ddlUsuarioParaIndicacao.SelectedValue);
                    IndicacaoValidator indicacaoBus = new IndicacaoValidator();
                    if (indicacaoBus.isValid(indicacaoNew))
                        indDal.Update(indicacaoNew);
                    else
                        throw new Exception("Erro ao tentar alterar indicação.");

                    ClearFields();
                    DoSearch();
                    Session.Remove("TpEdita");
                    MessageBox.Show("Indicação alterada com sucesso.", MessageBox.MessageType.Success);
                }

                else
                {
                    UsuarioFields user = (UsuarioFields)Session["usuarioObj"];
                    UsuarioControl userRecebe = new UsuarioControl();
                    indicacaoNew.idUsuarioIndica = Convert.ToInt32(user.idUsuario);
                    int idUserRecebe = userRecebe.GetItem(Convert.ToInt32(ddlUsuarioParaIndicacao.SelectedValue)).idUsuario;
                    indicacaoNew.idUsuarioRecebe = idUserRecebe;
                    IndicacaoValidator indicacaoBus = new IndicacaoValidator();
                    if (indicacaoBus.isValid(indicacaoNew))
                    {
                        indDal.Add(ref indicacaoNew);
                        int fkIndicacao = indicacaoNew.idIndicacao;

                        //cadastra o prospect na base do usuario como indicacao recebida
                        ProspectFields prospectInd = new ProspectFields();
                        prospectInd.Nome = indicacaoNew.Nome;
                        prospectInd.Telefone = indicacaoNew.Telefone;
                        prospectInd.FkUsuario = indicacaoNew.idUsuarioRecebe;
                        prospectInd.fkIndicacao = indicacaoNew.idIndicacao;
                        prospectInd.Estado = indicacaoNew.Estado;
                        prospectInd.Endereco = indicacaoNew.Endereco;
                        prospectInd.Cidade = indicacaoNew.Cidade;
                        prospectInd.Bairro = indicacaoNew.Bairro;
                        prospectInd.SituacaoProspect = "Indicação";
                        new ProspectControl().Add(ref prospectInd);

                    }

                    else
                        throw new Exception("Erro ao tentar incluir indicação.");

                    ClearFields();
                    DoSearch();
                    MessageBox.Show("Indicação cadastrada com sucesso.", MessageBox.MessageType.Success);
                }

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, MessageBox.MessageType.Error);
            }
        }
 /// <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 ProspectFields 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, ProspectFields FieldInfo )
 {
     return Delete(ConnIn, TranIn, FieldInfo.idProspect);
 }
        /// <summary> 
        /// Retorna um ou mais registros da tabela no banco de dados, filtrados pelo campo fkIndicacao.
        /// </summary>
        /// <param name="Param_fkIndicacao">int</param>
        /// <returns>ProspectFields</returns> 
        public ProspectFields FindByfkIndicacao(
                               int Param_fkIndicacao )
        {
            ProspectFields infoFields = new ProspectFields();
            try
            {
                using (this.Conn = new SqlConnection(this.StrConnetionDB))
                {
                    using (this.Cmd = new SqlCommand("Proc_Prospect_FindByfkIndicacao", this.Conn))
                    {
                        this.Cmd.CommandType = CommandType.StoredProcedure;
                        this.Cmd.Parameters.Clear();
                        this.Cmd.Parameters.Add(new SqlParameter("@Param_fkIndicacao", SqlDbType.Int)).Value = Param_fkIndicacao;
                        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> 
        /// Retorna um objeto ProspectFields preenchido com os valores dos campos do SqlDataReader
        /// </summary>
        /// <param name="dr">SqlDataReader - Preenche o objeto ProspectFields </param>
        /// <returns>ProspectFields</returns>
        private ProspectFields GetDataFromReader( SqlDataReader dr )
        {
            ProspectFields infoFields = new ProspectFields();

            if (!dr.IsDBNull(0))
            { infoFields.idProspect = dr.GetInt32(0); }
            else
            { infoFields.idProspect = 0; }

            if (!dr.IsDBNull(1))
            { infoFields.Nome = dr.GetString(1); }
            else
            { infoFields.Nome = string.Empty; }

            if (!dr.IsDBNull(2))
            { infoFields.Endereco = dr.GetString(2); }
            else
            { infoFields.Endereco = string.Empty; }

            if (!dr.IsDBNull(3))
            { infoFields.Telefone = dr.GetString(3); }
            else
            { infoFields.Telefone = string.Empty; }

            if (!dr.IsDBNull(4))
            { infoFields.Tipo = dr.GetString(4); }
            else
            { infoFields.Tipo = string.Empty; }

            if (!dr.IsDBNull(5))
            { infoFields.Segmento = dr.GetString(5); }
            else
            { infoFields.Segmento = string.Empty; }

            if (!dr.IsDBNull(6))
            { infoFields.Observacao = dr.GetString(6); }
            else
            { infoFields.Observacao = string.Empty; }

            if (!dr.IsDBNull(7))
            { infoFields.Email = dr.GetString(7); }
            else
            { infoFields.Email = string.Empty; }

            if (!dr.IsDBNull(8))
            { infoFields.Bairro = dr.GetString(8); }
            else
            { infoFields.Bairro = string.Empty; }

            if (!dr.IsDBNull(9))
            { infoFields.Cidade = dr.GetString(9); }
            else
            { infoFields.Cidade = string.Empty; }

            if (!dr.IsDBNull(10))
            { infoFields.Estado = dr.GetString(10); }
            else
            { infoFields.Estado = string.Empty; }

            if (!dr.IsDBNull(11))
            { infoFields.DataCadastro = dr.GetDateTime(11); }
            else
            { infoFields.DataCadastro = DateTime.MinValue; }

            if (!dr.IsDBNull(12))
            { infoFields.PessoaContato = dr.GetString(12); }
            else
            { infoFields.PessoaContato = string.Empty; }

            if (!dr.IsDBNull(13))
            { infoFields.CPF = dr.GetString(13); }
            else
            { infoFields.CPF = string.Empty; }

            if (!dr.IsDBNull(14))
            { infoFields.CNPJ = dr.GetString(14); }
            else
            { infoFields.CNPJ = string.Empty; }

            if (!dr.IsDBNull(15))
            { infoFields.FkUsuario = dr.GetInt32(15); }
            else
            { infoFields.FkUsuario = 0; }

            if (!dr.IsDBNull(16))
            { infoFields.SituacaoProspect = dr.GetString(16); }
            else
            { infoFields.SituacaoProspect = string.Empty; }

            if (!dr.IsDBNull(17))
            { infoFields.fkIndicacao = dr.GetInt32(17); }
            else
            { infoFields.fkIndicacao = 0; }

            return infoFields;
        }
 /// <summary> 
 /// Exclui um registro da tabela no banco de dados
 /// </summary>
 /// <param name="FieldInfo">Objeto ProspectFields 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( ProspectFields FieldInfo )
 {
     return Delete(FieldInfo.idProspect);
 }
 /// <summary> 
 /// Grava/Persiste as alterações em um objeto ProspectFields 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 ProspectFields 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, ProspectFields FieldInfo )
 {
     try
     {
         this.Cmd = new SqlCommand("Proc_Prospect_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 ProspectFields</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( ProspectFields FieldInfo, SQLMode Modo )
        {
            SqlParameter[] Parameters;

            switch (Modo)
            {
                case SQLMode.Add:
                    Parameters = new SqlParameter[18];
                    for (int I = 0; I < Parameters.Length; I++)
                       Parameters[I] = new SqlParameter();
                    //Field idProspect
                    Parameters[0].SqlDbType = SqlDbType.Int;
                    Parameters[0].Direction = ParameterDirection.Output;
                    Parameters[0].ParameterName = "@Param_idProspect";
                    Parameters[0].Value = DBNull.Value;

                    break;

                case SQLMode.Update:
                    Parameters = new SqlParameter[18];
                    for (int I = 0; I < Parameters.Length; I++)
                       Parameters[I] = new SqlParameter();
                    //Field idProspect
                    Parameters[0].SqlDbType = SqlDbType.Int;
                    Parameters[0].ParameterName = "@Param_idProspect";
                    Parameters[0].Value = FieldInfo.idProspect;

                    break;

                case SQLMode.SelectORDelete:
                    Parameters = new SqlParameter[1];
                    for (int I = 0; I < Parameters.Length; I++)
                       Parameters[I] = new SqlParameter();
                    //Field idProspect
                    Parameters[0].SqlDbType = SqlDbType.Int;
                    Parameters[0].ParameterName = "@Param_idProspect";
                    Parameters[0].Value = FieldInfo.idProspect;

                    return Parameters;

                default:
                    Parameters = new SqlParameter[18];
                    for (int I = 0; I < Parameters.Length; I++)
                       Parameters[I] = new SqlParameter();
                    break;
            }

            //Field Nome
            Parameters[1].SqlDbType = SqlDbType.VarChar;
            Parameters[1].ParameterName = "@Param_Nome";
            if (( FieldInfo.Nome == null ) || ( FieldInfo.Nome == string.Empty ))
            { Parameters[1].Value = DBNull.Value; }
            else
            { Parameters[1].Value = FieldInfo.Nome; }
            Parameters[1].Size = 150;

            //Field Endereco
            Parameters[2].SqlDbType = SqlDbType.VarChar;
            Parameters[2].ParameterName = "@Param_Endereco";
            if (( FieldInfo.Endereco == null ) || ( FieldInfo.Endereco == string.Empty ))
            { Parameters[2].Value = DBNull.Value; }
            else
            { Parameters[2].Value = FieldInfo.Endereco; }
            Parameters[2].Size = 250;

            //Field Telefone
            Parameters[3].SqlDbType = SqlDbType.VarChar;
            Parameters[3].ParameterName = "@Param_Telefone";
            if (( FieldInfo.Telefone == null ) || ( FieldInfo.Telefone == string.Empty ))
            { Parameters[3].Value = DBNull.Value; }
            else
            { Parameters[3].Value = FieldInfo.Telefone; }
            Parameters[3].Size = 11;

            //Field Tipo
            Parameters[4].SqlDbType = SqlDbType.VarChar;
            Parameters[4].ParameterName = "@Param_Tipo";
            if (( FieldInfo.Tipo == null ) || ( FieldInfo.Tipo == string.Empty ))
            { Parameters[4].Value = DBNull.Value; }
            else
            { Parameters[4].Value = FieldInfo.Tipo; }
            Parameters[4].Size = 2;

            //Field Segmento
            Parameters[5].SqlDbType = SqlDbType.VarChar;
            Parameters[5].ParameterName = "@Param_Segmento";
            if (( FieldInfo.Segmento == null ) || ( FieldInfo.Segmento == string.Empty ))
            { Parameters[5].Value = DBNull.Value; }
            else
            { Parameters[5].Value = FieldInfo.Segmento; }
            Parameters[5].Size = 30;

            //Field Observacao
            Parameters[6].SqlDbType = SqlDbType.VarChar;
            Parameters[6].ParameterName = "@Param_Observacao";
            if (( FieldInfo.Observacao == null ) || ( FieldInfo.Observacao == string.Empty ))
            { Parameters[6].Value = DBNull.Value; }
            else
            { Parameters[6].Value = FieldInfo.Observacao; }
            Parameters[6].Size = 300;

            //Field Email
            Parameters[7].SqlDbType = SqlDbType.VarChar;
            Parameters[7].ParameterName = "@Param_Email";
            if (( FieldInfo.Email == null ) || ( FieldInfo.Email == string.Empty ))
            { Parameters[7].Value = DBNull.Value; }
            else
            { Parameters[7].Value = FieldInfo.Email; }
            Parameters[7].Size = 50;

            //Field Bairro
            Parameters[8].SqlDbType = SqlDbType.VarChar;
            Parameters[8].ParameterName = "@Param_Bairro";
            if (( FieldInfo.Bairro == null ) || ( FieldInfo.Bairro == string.Empty ))
            { Parameters[8].Value = DBNull.Value; }
            else
            { Parameters[8].Value = FieldInfo.Bairro; }
            Parameters[8].Size = 100;

            //Field Cidade
            Parameters[9].SqlDbType = SqlDbType.VarChar;
            Parameters[9].ParameterName = "@Param_Cidade";
            if (( FieldInfo.Cidade == null ) || ( FieldInfo.Cidade == string.Empty ))
            { Parameters[9].Value = DBNull.Value; }
            else
            { Parameters[9].Value = FieldInfo.Cidade; }
            Parameters[9].Size = 100;

            //Field Estado
            Parameters[10].SqlDbType = SqlDbType.VarChar;
            Parameters[10].ParameterName = "@Param_Estado";
            if (( FieldInfo.Estado == null ) || ( FieldInfo.Estado == string.Empty ))
            { Parameters[10].Value = DBNull.Value; }
            else
            { Parameters[10].Value = FieldInfo.Estado; }
            Parameters[10].Size = 2;

            //Field DataCadastro
            Parameters[11].SqlDbType = SqlDbType.SmallDateTime;
            Parameters[11].ParameterName = "@Param_DataCadastro";
            if ( FieldInfo.DataCadastro == DateTime.MinValue )
            { Parameters[11].Value = DBNull.Value; }
            else
            { Parameters[11].Value = FieldInfo.DataCadastro; }

            //Field PessoaContato
            Parameters[12].SqlDbType = SqlDbType.VarChar;
            Parameters[12].ParameterName = "@Param_PessoaContato";
            if (( FieldInfo.PessoaContato == null ) || ( FieldInfo.PessoaContato == string.Empty ))
            { Parameters[12].Value = DBNull.Value; }
            else
            { Parameters[12].Value = FieldInfo.PessoaContato; }
            Parameters[12].Size = 150;

            //Field CPF
            Parameters[13].SqlDbType = SqlDbType.VarChar;
            Parameters[13].ParameterName = "@Param_CPF";
            if (( FieldInfo.CPF == null ) || ( FieldInfo.CPF == string.Empty ))
            { Parameters[13].Value = DBNull.Value; }
            else
            { Parameters[13].Value = FieldInfo.CPF; }
            Parameters[13].Size = 50;

            //Field CNPJ
            Parameters[14].SqlDbType = SqlDbType.VarChar;
            Parameters[14].ParameterName = "@Param_CNPJ";
            if (( FieldInfo.CNPJ == null ) || ( FieldInfo.CNPJ == string.Empty ))
            { Parameters[14].Value = DBNull.Value; }
            else
            { Parameters[14].Value = FieldInfo.CNPJ; }
            Parameters[14].Size = 50;

            //Field FkUsuario
            Parameters[15].SqlDbType = SqlDbType.Int;
            Parameters[15].ParameterName = "@Param_FkUsuario";
            Parameters[15].Value = FieldInfo.FkUsuario;

            //Field SituacaoProspect
            Parameters[16].SqlDbType = SqlDbType.VarChar;
            Parameters[16].ParameterName = "@Param_SituacaoProspect";
            if (( FieldInfo.SituacaoProspect == null ) || ( FieldInfo.SituacaoProspect == string.Empty ))
            { Parameters[16].Value = DBNull.Value; }
            else
            { Parameters[16].Value = FieldInfo.SituacaoProspect; }
            Parameters[16].Size = 20;

            //Field fkIndicacao
            Parameters[17].SqlDbType = SqlDbType.Int;
            Parameters[17].ParameterName = "@Param_fkIndicacao";
            Parameters[17].Value = FieldInfo.fkIndicacao;

            return Parameters;
        }
 /// <summary> 
 /// Grava/Persiste as alterações em um objeto ProspectFields no banco de dados
 /// </summary>
 /// <param name="FieldInfo">Objeto ProspectFields 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( ProspectFields FieldInfo )
 {
     try
     {
         this.Conn = new SqlConnection(this.StrConnetionDB);
         this.Conn.Open();
         this.Tran = this.Conn.BeginTransaction();
         this.Cmd = new SqlCommand("Proc_Prospect_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();
     }
 }
        public bool isValid( ProspectFields fieldInfo )
        {
            try
            {

                //Field Nome
                if (  fieldInfo.Nome != string.Empty )
                   if ( fieldInfo.Nome.Trim().Length > 150  )
                      throw new Exception("O campo \"Nome\" deve ter comprimento máximo de 150 caracter(es).");
                if ( ( fieldInfo.Nome == string.Empty ) || ( fieldInfo.Nome.Trim().Length < 1 ) )
                   throw new Exception("O campo \"Nome\" não pode ser nulo ou vazio e deve ter comprimento mínimo de 1 caracter(es).");

                //Field Endereco
                if (  fieldInfo.Endereco != string.Empty )
                   if ( fieldInfo.Endereco.Trim().Length > 250  )
                      throw new Exception("O campo \"Endereco\" deve ter comprimento máximo de 250 caracter(es).");

                //Field Telefone
                if (  fieldInfo.Telefone != string.Empty )
                   if ( fieldInfo.Telefone.Trim().Length > 11  )
                      throw new Exception("O campo \"Telefone\" deve ter comprimento máximo de 11 caracter(es).");

                //Field Tipo
                if (  fieldInfo.Tipo != string.Empty )
                   if ( fieldInfo.Tipo.Trim().Length > 2  )
                      throw new Exception("O campo \"Tipo\" deve ter comprimento máximo de 2 caracter(es).");

                //Field Segmento
                if (  fieldInfo.Segmento != string.Empty )
                   if ( fieldInfo.Segmento.Trim().Length > 30  )
                      throw new Exception("O campo \"Segmento\" deve ter comprimento máximo de 30 caracter(es).");

                //Field Observacao
                if (  fieldInfo.Observacao != string.Empty )
                   if ( fieldInfo.Observacao.Trim().Length > 300  )
                      throw new Exception("O campo \"Observacao\" deve ter comprimento máximo de 300 caracter(es).");

                //Field Email
                if (  fieldInfo.Email != string.Empty )
                   if ( fieldInfo.Email.Trim().Length > 50  )
                      throw new Exception("O campo \"Email\" deve ter comprimento máximo de 50 caracter(es).");

                //Field Bairro
                if (  fieldInfo.Bairro != string.Empty )
                   if ( fieldInfo.Bairro.Trim().Length > 100  )
                      throw new Exception("O campo \"Bairro\" deve ter comprimento máximo de 100 caracter(es).");

                //Field Cidade
                if (  fieldInfo.Cidade != string.Empty )
                   if ( fieldInfo.Cidade.Trim().Length > 100  )
                      throw new Exception("O campo \"Cidade\" deve ter comprimento máximo de 100 caracter(es).");

                //Field Estado
                if (  fieldInfo.Estado != string.Empty )
                   if ( fieldInfo.Estado.Trim().Length > 2  )
                      throw new Exception("O campo \"Estado\" deve ter comprimento máximo de 2 caracter(es).");

                //Field PessoaContato
                if (  fieldInfo.PessoaContato != string.Empty )
                   if ( fieldInfo.PessoaContato.Trim().Length > 150  )
                      throw new Exception("O campo \"PessoaContato\" deve ter comprimento máximo de 150 caracter(es).");

                //Field CPF
                if (  fieldInfo.CPF != string.Empty )
                   if ( fieldInfo.CPF.Trim().Length > 50  )
                      throw new Exception("O campo \"CPF\" deve ter comprimento máximo de 50 caracter(es).");

                //Field CNPJ
                if (  fieldInfo.CNPJ != string.Empty )
                   if ( fieldInfo.CNPJ.Trim().Length > 50  )
                      throw new Exception("O campo \"CNPJ\" deve ter comprimento máximo de 50 caracter(es).");

                //Field FkUsuario
                if ( !( fieldInfo.FkUsuario > 0 ) )
                   throw new Exception("O campo \"FkUsuario\" deve ser maior que zero.");

                //Field SituacaoProspect
                if (  fieldInfo.SituacaoProspect != string.Empty )
                   if ( fieldInfo.SituacaoProspect.Trim().Length > 20  )
                      throw new Exception("O campo \"SituacaoProspect\" deve ter comprimento máximo de 20 caracter(es).");

                //Field fkIndicacao
                if ( !( fieldInfo.fkIndicacao > 0 ) )
                   throw new Exception("O campo \"fkIndicacao\" deve ser maior que zero.");

                return true;

            }
            catch (Exception e)
            {
                this._ErrorMessage = e.Message;
                return false;
            }
        }
        public bool isValid(ProspectFields fieldInfo)
        {
            try
            {
                //Field Nome
                if (fieldInfo.Nome != string.Empty)
                {
                    if (fieldInfo.Nome.Trim().Length > 150)
                    {
                        throw new Exception("O campo \"Nome\" deve ter comprimento máximo de 150 caracter(es).");
                    }
                }
                if ((fieldInfo.Nome == string.Empty) || (fieldInfo.Nome.Trim().Length < 1))
                {
                    throw new Exception("O campo \"Nome\" não pode ser nulo ou vazio e deve ter comprimento mínimo de 1 caracter(es).");
                }


                //Field Endereco
                if (fieldInfo.Endereco != string.Empty)
                {
                    if (fieldInfo.Endereco.Trim().Length > 250)
                    {
                        throw new Exception("O campo \"Endereco\" deve ter comprimento máximo de 250 caracter(es).");
                    }
                }


                //Field Telefone
                if (fieldInfo.Telefone != string.Empty)
                {
                    if (fieldInfo.Telefone.Trim().Length > 11)
                    {
                        throw new Exception("O campo \"Telefone\" deve ter comprimento máximo de 11 caracter(es).");
                    }
                }


                //Field Tipo
                if (fieldInfo.Tipo != string.Empty)
                {
                    if (fieldInfo.Tipo.Trim().Length > 2)
                    {
                        throw new Exception("O campo \"Tipo\" deve ter comprimento máximo de 2 caracter(es).");
                    }
                }


                //Field Segmento
                if (fieldInfo.Segmento != string.Empty)
                {
                    if (fieldInfo.Segmento.Trim().Length > 30)
                    {
                        throw new Exception("O campo \"Segmento\" deve ter comprimento máximo de 30 caracter(es).");
                    }
                }


                //Field Observacao
                if (fieldInfo.Observacao != string.Empty)
                {
                    if (fieldInfo.Observacao.Trim().Length > 300)
                    {
                        throw new Exception("O campo \"Observacao\" deve ter comprimento máximo de 300 caracter(es).");
                    }
                }


                //Field Email
                if (fieldInfo.Email != string.Empty)
                {
                    if (fieldInfo.Email.Trim().Length > 50)
                    {
                        throw new Exception("O campo \"Email\" deve ter comprimento máximo de 50 caracter(es).");
                    }
                }


                //Field Bairro
                if (fieldInfo.Bairro != string.Empty)
                {
                    if (fieldInfo.Bairro.Trim().Length > 100)
                    {
                        throw new Exception("O campo \"Bairro\" deve ter comprimento máximo de 100 caracter(es).");
                    }
                }


                //Field Cidade
                if (fieldInfo.Cidade != string.Empty)
                {
                    if (fieldInfo.Cidade.Trim().Length > 100)
                    {
                        throw new Exception("O campo \"Cidade\" deve ter comprimento máximo de 100 caracter(es).");
                    }
                }


                //Field Estado
                if (fieldInfo.Estado != string.Empty)
                {
                    if (fieldInfo.Estado.Trim().Length > 2)
                    {
                        throw new Exception("O campo \"Estado\" deve ter comprimento máximo de 2 caracter(es).");
                    }
                }


                //Field PessoaContato
                if (fieldInfo.PessoaContato != string.Empty)
                {
                    if (fieldInfo.PessoaContato.Trim().Length > 150)
                    {
                        throw new Exception("O campo \"PessoaContato\" deve ter comprimento máximo de 150 caracter(es).");
                    }
                }


                //Field CPF
                if (fieldInfo.CPF != string.Empty)
                {
                    if (fieldInfo.CPF.Trim().Length > 50)
                    {
                        throw new Exception("O campo \"CPF\" deve ter comprimento máximo de 50 caracter(es).");
                    }
                }


                //Field CNPJ
                if (fieldInfo.CNPJ != string.Empty)
                {
                    if (fieldInfo.CNPJ.Trim().Length > 50)
                    {
                        throw new Exception("O campo \"CNPJ\" deve ter comprimento máximo de 50 caracter(es).");
                    }
                }


                //Field FkUsuario
                if (!(fieldInfo.FkUsuario > 0))
                {
                    throw new Exception("O campo \"FkUsuario\" deve ser maior que zero.");
                }


                //Field SituacaoProspect
                if (fieldInfo.SituacaoProspect != string.Empty)
                {
                    if (fieldInfo.SituacaoProspect.Trim().Length > 20)
                    {
                        throw new Exception("O campo \"SituacaoProspect\" deve ter comprimento máximo de 20 caracter(es).");
                    }
                }


                //Field fkIndicacao
                if (!(fieldInfo.fkIndicacao > 0))
                {
                    throw new Exception("O campo \"fkIndicacao\" deve ser maior que zero.");
                }

                return(true);
            }
            catch (Exception e)
            {
                this._ErrorMessage = e.Message;
                return(false);
            }
        }
        private void ReadExcelInfo(string fileName, int idUsuario)
        {
            SqlTransaction trans = null;
            SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StringConn"].ToString());
            Conn.Open();
            trans = Conn.BeginTransaction();

            try
            {
                DataSet dsFile = new DataSet();
                OleDbDataAdapter MyCommand;
               // OleDbConnection MyConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=Excel 8.0;");
                OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\"+ fileName + ";Extended Properties=Excel 12.0;");
                MyCommand = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Plan1$]", MyConnection);
                MyCommand.TableMappings.Add("Table", "TableIndicacao");
                MyCommand.Fill(dsFile);

                foreach (DataRow row in dsFile.Tables["TableIndicacao"].Rows)
                {

                    UsuarioFields userFazIndicacao = (UsuarioFields)Session["usuarioObj"];

                    ProspectControl prospectDal = new ProspectControl();
                    ProspectFields indicacaoRecebida = new ProspectFields();
                    ProspectValidator prospectBus = new ProspectValidator();

                    indicacaoRecebida.Bairro = row["Bairro"].ToString();
                    indicacaoRecebida.Cidade = row["Cidade"].ToString();
                    indicacaoRecebida.Endereco = row["Endereço"].ToString();
                    indicacaoRecebida.Estado = row["Estado"].ToString();
                    indicacaoRecebida.Nome = row["Nome"].ToString();
                    indicacaoRecebida.Telefone = row["Telefone"].ToString();
                    indicacaoRecebida.Tipo = row["Tipo_Pessoa"].ToString();
                    indicacaoRecebida.Segmento = row["Segmento"].ToString();
                    indicacaoRecebida.CPF = row["CPF"].ToString();
                    indicacaoRecebida.CNPJ = row["CNPJ"].ToString();
                    indicacaoRecebida.PessoaContato = row["Contato"].ToString();
                    indicacaoRecebida.Email = row["Email"].ToString();
                    indicacaoRecebida.DataCadastro = DateTime.Now;
                    indicacaoRecebida.SituacaoProspect = "Indicação";
                    indicacaoRecebida.FkUsuario = int.Parse(ddlUsuarioParaIndicacao.SelectedValue);
                    indicacaoRecebida.fkIndicacao = 999;
                    if (prospectBus.isValid(indicacaoRecebida))
                        prospectDal.Add(ref indicacaoRecebida);
                    else
                    {
                        trans.Rollback();
                        Conn.Close();
                        MyConnection.Close();
                        throw new Exception("Erro ao tentar importar indicação.");
                    }

                }

                trans.Commit();
                Conn.Close();
                MyConnection.Close();
                MessageBox.Show("Importação realizada com sucesso",MessageBox.MessageType.Success);
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, MessageBox.MessageType.Error);
            }
        }
Beispiel #13
0
        private void SetFields(ProspectFields prospect)
        {
            try
            {
                txtNomeNovoProspect.Text = prospect.Nome;
                txtEndereco.Text = prospect.Endereco;
                txtTelefone.Text = prospect.Telefone;
                txtEmail.Text = prospect.Email;
                TipoPessoa = prospect.Tipo;
                Segmento = prospect.Segmento;
                Observacao = prospect.Observacao;
                Bairro = prospect.Bairro;
                Cidade = prospect.Cidade;
                Estado = prospect.Estado;
                PessoaContato = prospect.PessoaContato;
                CPF = prospect.CPF;
                CNPJ = prospect.CNPJ;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, MessageBox.MessageType.Error);
            }
        }