예제 #1
0
        protected void LoadSession(SYS_Usuario entityUsuario)
        {
            __SessionWEB.__UsuarioWEB.Usuario = entityUsuario;

            System.Web.Configuration.PagesSection pagesSection = System.Configuration.ConfigurationManager.GetSection("system.web/pages") as System.Web.Configuration.PagesSection;
            if ((pagesSection != null))
            {
                __SessionWEB.TemaPadraoLogado = CFG_TemaPadraoBO.CarregarPorNome(pagesSection.Theme);
            }

            // Armazena o cid_id referente a entidade do usuário na Session
            Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id
            };

            SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

            END_Endereco entityEndereco = new END_Endereco {
                end_id = entityEntidadeEndereco.end_id
            };

            END_EnderecoBO.GetEntity(entityEndereco);
            __SessionWEB._cid_id = entityEndereco.cid_id;

            // Armazena o nome da pessoa ou o login do usuário na Session
            PES_Pessoa EntityPessoa = new PES_Pessoa {
                pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
            };

            PES_PessoaBO.GetEntity(EntityPessoa);
            __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome;
        }
예제 #2
0
    /// <summary>
    /// Carrega os dados do endereço nos controles caso seja alteração.
    /// </summary>
    private void _LoadFromEntity()
    {
        try
        {
            END_Endereco end = new END_Endereco {
                end_id = _VS_end_id
            };
            END_EnderecoBO.GetEntity(end);

            END_Cidade cid = new END_Cidade {
                cid_id = end.cid_id
            };
            END_CidadeBO.GetEntity(cid);

            _VS_cid_idAntigo = end.cid_id;

            txtCEP.Text        = end.end_cep;
            txtLogradouro.Text = end.end_logradouro;
            txtDistrito.Text   = !string.IsNullOrEmpty(end.end_distrito) ? end.end_distrito : string.Empty;
            UCComboZona1._Combo.SelectedValue = end.end_zona > 0 ? end.end_zona.ToString() : "-1";
            txtBairro.Text = end.end_bairro;
            _VS_cid_id     = end.cid_id;
            txtCidade.Text = cid.cid_nome;

            txtCEP.Enabled = false;
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o endereço.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #3
0
    /// <summary>
    /// Retorna a cidade pelo endereço da entidade do usuário logado.
    /// </summary>
    private Guid CarregarCidadeUsuarioLogado()
    {
        // Setar a cidade pelo endereço da Entidade do usuário logado.
        Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id;

        Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(ent_id);

        SYS_EntidadeEndereco entEndereco = new SYS_EntidadeEndereco
        {
            ent_id = ent_id
            ,
            ene_id = ene_id
        };

        SYS_EntidadeEnderecoBO.GetEntity(entEndereco);

        // Recuperando entidade Endereço do usuário logado.
        END_Endereco endereco = new END_Endereco
        {
            end_id = entEndereco.end_id
        };

        END_EnderecoBO.GetEntity(endereco);

        return(endereco.cid_id);
    }
예제 #4
0
        /// <summary>
        /// Valida os dados da unidade administrativa de acordo com o padrão do censo escolar.
        /// </summary>
        /// <param name="entityEscola">Entidade ESC_Escola</param>
        /// <param name="entityEndereco">Entidade END_Endereco</param>
        /// <param name="entityPredioEndereco">Entidade ESC_PredioEndereco</param>
        public static void ValidaCensoEscolar(ESC_Escola entityEscola, END_Endereco entityEndereco, ESC_PredioEndereco entityPredioEndereco)
        {
            string numero      = entityPredioEndereco != null ? entityPredioEndereco.ped_numero : string.Empty;
            string complemento = entityPredioEndereco != null ? entityPredioEndereco.ped_complemento : string.Empty;

            SYS_UnidadeAdministrativaBO.ValidaCensoEscolar(entityEscola.esc_nome, "Escola", entityEndereco, numero, complemento);
        }
예제 #5
0
    /// <summary>
    /// Insere e altera uma entidade
    /// </summary>
    private void _Salvar()
    {
        try
        {
            //[Gabriel]: Antes o sistema buscava no banco alguma cidade com o cep passado pelo usuario e setava essa cidade sem nenhum aviso, desprezando a cidade passada no formulário
            //List<END_Endereco> end = END_EnderecoBO.GetSelectBy_end_cep_end_logradouro(txtCEP.Text, DBNull.Value.ToString());

            END_Endereco entityEndereco = new END_Endereco
            {
                end_id = _VS_end_id
                ,
                end_cep = txtCEP.Text
                ,
                end_logradouro = txtLogradouro.Text
                ,
                end_distrito = txtDistrito.Text
                ,
                end_zona = UCComboZona1._Combo.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(UCComboZona1._Combo.SelectedValue)
                ,
                end_bairro = txtBairro.Text
                ,
                //cid_id = (end.Count > 0) ? end[0].cid_id : _VS_cid_id
                cid_id = _VS_cid_id
                ,
                end_situacao = 1
                ,
                IsNew = (_VS_end_id != Guid.Empty) ? false : true
            };

            if (END_EnderecoBO.Save(entityEndereco, _VS_cid_idAntigo, null) != Guid.Empty)
            {
                if (_VS_end_id == Guid.Empty)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "end_id: " + entityEndereco.end_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Endereço incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "end_id: " + entityEndereco.end_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Endereço alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoEndereco/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o endereço.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o endereço.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #6
0
    protected void _grvEndereco_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Associar")
        {
            int    index    = int.Parse(e.CommandArgument.ToString());
            Guid   end_id   = new Guid(_grvEndereco.DataKeys[index].Values[0].ToString());
            Guid   cid_id   = new Guid(_grvEndereco.DataKeys[index].Values[1].ToString());
            string end_zona = _grvEndereco.DataKeys[index].Values[2] == DBNull.Value ? "0" : _grvEndereco.DataKeys[index].Values[2].ToString();

            string end_cep        = Convert.ToString(_grvEndereco.Rows[index].Cells[0].Text);
            string end_logradouro = ((Label)_grvEndereco.Rows[index].FindControl("_lblLogradouro")).Text;
            string end_distrito   = ((Label)_grvEndereco.Rows[index].FindControl("_lblDistrito")).Text;
            string end_bairro     = ((Label)_grvEndereco.Rows[index].FindControl("_lblBairro")).Text;
            string cid_nome       = ((Label)_grvEndereco.Rows[index].FindControl("_lblCidade")).Text.Substring(0, ((Label)_grvEndereco.Rows[index].FindControl("_lblCidade")).Text.Length - 5);
            string unf_sigla      = ((Label)_grvEndereco.Rows[index].FindControl("_lblCidade")).Text.Substring(((Label)_grvEndereco.Rows[index].FindControl("_lblCidade")).Text.Length - 2, 2);

            _AssociarEndereco(end_id, end_cep, end_logradouro, end_distrito, end_zona, end_bairro, cid_id, cid_nome, unf_sigla);
            _CarregarGridAssociarEndereco();
        }
        else if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid end_id = new Guid(_grvEndereco.DataKeys[index].Values[0].ToString());

                if (!_VerificaExistenciaEndereco(end_id))
                {
                    END_Endereco entityEndereco = new END_Endereco {
                        end_id = end_id
                    };
                    END_EnderecoBO.GetEntity(entityEndereco);
                    if (END_EnderecoBO.Delete(entityEndereco))
                    {
                        _grvEndereco.PageIndex = 0;
                        _grvEndereco.DataBind();
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "end_id: " + end_id);
                        _lblMessage.Text = UtilBO.GetErroMessage("Endereço excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o endereço.", UtilBO.TipoMensagem.Erro);
                    }
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Endereço não pode ser excluído, pois está preparado para associação. Remover endereço da associação.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
예제 #7
0
        private void LoadSession(SYS_Usuario entityUsuario)
        {
            __SessionWEB.__UsuarioWEB.Usuario     = entityUsuario;
            __SessionWEB.__UsuarioWEB.responsavel = RadioButtonList1.SelectedIndex == 1;
            if (__SessionWEB.__UsuarioWEB.responsavel)
            {
                SYS_Usuario entityUsuarioAluno = new SYS_Usuario
                {
                    ent_id = UCComboEntidade1.Valor
                    ,
                    usu_login = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + txtLogin.Text
                };

                SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno);
                __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id;
            }

            // Carrega grupos do usuário
            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AreaAlunoSistemaID);

            // Verifica se foi carregado os grupos do usuário
            if (list.Count > 0)
            {
                __SessionWEB.__UsuarioWEB.Grupo = list[0];
            }
            else
            {
                throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado.");
            }

            // Armazena o cid_id referente a entidade do usuário na Session
            Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id
            };

            SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

            END_Endereco entityEndereco = new END_Endereco {
                end_id = entityEntidadeEndereco.end_id
            };

            END_EnderecoBO.GetEntity(entityEndereco);
            __SessionWEB._cid_id = entityEndereco.cid_id;

            // Armazena o nome da pessoa ou o login do usuário na Session
            PES_Pessoa EntityPessoa = new PES_Pessoa {
                pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
            };

            PES_PessoaBO.GetEntity(EntityPessoa);
            __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome;
        }
예제 #8
0
        /// <summary>
        /// Cria e retorna a entidade de Cadastro de Escola de Origem
        /// </summary>
        /// <returns>Estrutura ACA_AlunoEscolaOrigem_Cadastro</returns>
        public ACA_AlunoEscolaOrigem_Cadastro CriarEntityCadastroEscolaOrigem()
        {
            ACA_AlunoEscolaOrigem_Cadastro cad = new ACA_AlunoEscolaOrigem_Cadastro
            {
                entEscolaOrigem = new ACA_AlunoEscolaOrigem {
                    eco_id = VS_eco_id
                },
                entEndereco = new END_Endereco()
            };

            try
            {
                if (VS_eco_id > 0)
                {
                    // Carrega as escolas de origens cadastradas
                    ACA_AlunoEscolaOrigemBO.GetEntity(cad.entEscolaOrigem);

                    // Carrega o endereço da escola de origem cadastrada
                    cad.entEndereco.end_id = cad.entEscolaOrigem.end_id;
                    END_EnderecoBO.GetEntity(cad.entEndereco);
                }
                else
                {
                    // Recupera os campos do UserControl de endereço
                    END_Endereco entityEndereco = new END_Endereco();
                    string       numero         = string.Empty;
                    string       complemento    = string.Empty;
                    //string msg;
                    //UCEnderecos1.RetornaEnderecoCadastrado(out entityEndereco, out numero, out complemento, out msg);
                    entityEndereco.end_situacao = 1;

                    // Armazena os dados da escola de origem informados pelo usuário
                    cad.entEscolaOrigem.tre_id          = VS_tre_id > 0 ? VS_tre_id : UCComboTipoRedeEnsino1.Valor;
                    cad.entEscolaOrigem.eco_nome        = !string.IsNullOrEmpty(VS_eco_nome) ? VS_eco_nome : txtNomeEscolaOrigemDestino.Text;
                    cad.entEscolaOrigem.eco_codigoInep  = !string.IsNullOrEmpty(VS_eco_codigoInep) ? VS_eco_codigoInep : txtCodigoInepEscolaOrigemDestino.Text;
                    cad.entEscolaOrigem.cid_id          = !string.IsNullOrEmpty(VS_cid_id.ToString()) ? VS_cid_id : (string.IsNullOrEmpty(txtCid_idMunicipio.Value) ? Guid.Empty : new Guid(txtCid_idMunicipio.Value));
                    cad.entEscolaOrigem.eco_numero      = numero;
                    cad.entEscolaOrigem.eco_complemento = complemento;
                    cad.entEscolaOrigem.eco_situacao    = 1;

                    // Armazena os dados do endereço informados pelo usuário
                    cad.entEndereco = entityEndereco;
                }

                return(cad);
            }
            catch (Exception)
            {
                return(cad);
            }
        }
    /// <summary>
    /// Carrega um endereço com os dados passados por parâmetro - Utilizar quando for
    /// cadastro único.
    /// </summary>
    /// <param name="end_id"></param>
    /// <param name="numero"></param>
    /// <param name="complemento"></param>
    public void CarregarEndereco(Guid end_id, string numero, string complemento)
    {
        try
        {
            END_Endereco ent = new END_Endereco()
            {
                end_id = end_id
            };
            END_EnderecoBO.GetEntity(ent);

            CarregarEndereco(ent, numero, complemento);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os endereços.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #10
0
    /// <summary>
    /// Carrega um endereço com os dados passados por parâmetro - Utilizar quando for
    /// cadastro único.
    /// </summary>
    /// <param name="entEndereco"></param>
    /// <param name="numero"></param>
    /// <param name="complemento"></param>
    public void CarregarEndereco(END_Endereco entEndereco, string numero, string complemento, double latitude, double longitude, bool principal)
    {
        try
        {
            DataTable dt = CriaDataTable(true);

            dt.Rows[0]["end_id"] = entEndereco.end_id;

            // Se for endereço novo - não tem END_ID - setar novo ID.
            if (entEndereco.end_id == Guid.Empty)
            {
                dt.Rows[0]["end_id"] = Guid.NewGuid();
            }

            dt.Rows[0]["end_cep"]        = entEndereco.end_cep;
            dt.Rows[0]["end_logradouro"] = entEndereco.end_logradouro;
            dt.Rows[0]["end_distrito"]   = entEndereco.end_distrito;
            dt.Rows[0]["end_zona"]       = entEndereco.end_zona;
            dt.Rows[0]["end_bairro"]     = entEndereco.end_bairro;
            dt.Rows[0]["cid_id"]         = entEndereco.cid_id;

            // Carregar cidade.
            END_Cidade cid = new END_Cidade()
            {
                cid_id = entEndereco.cid_id
            };
            END_CidadeBO.GetEntity(cid);

            dt.Rows[0]["cid_nome"]          = cid.cid_nome;
            dt.Rows[0]["numero"]            = numero;
            dt.Rows[0]["complemento"]       = complemento;
            dt.Rows[0]["latitude"]          = latitude;
            dt.Rows[0]["longitude"]         = longitude;
            dt.Rows[0]["Enderecoprincipal"] = principal;
            dt.Rows[0]["novo"] = false;

            CarregarEnderecos(dt);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os endereços.", UtilBO.TipoMensagem.Erro);
        }
    }
        public static void SaveEnderecosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtEndereco)
        {
            //Verifica se os dados da pessoa serão sempre salvos em maiúsculo.
            string sSalvarMaiusculo        = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO);
            bool   Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo);

            PES_PessoaEndereco entityEndereco = new PES_PessoaEndereco
            {
                pes_id = entity.pes_id
            };

            if (banco == null)
            {
                PES_PessoaEnderecoDAO dao = new PES_PessoaEnderecoDAO();
                banco = dao._Banco.CopyThisInstance();
                banco.Open(IsolationLevel.ReadCommitted);
            }


            for (int i = 0; i < dtEndereco.Rows.Count; i++)
            {
                // if (dtEndereco.Rows[i].RowState != DataRowState.Deleted)
                if (!Convert.ToBoolean(dtEndereco.Rows[i]["excluido"].ToString()))
                {
                    string end_id = dtEndereco.Rows[i]["end_id"].ToString();

                    if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
                    {
                        END_Endereco entityNovoEndereco = new END_Endereco
                        {
                            //[OLD]end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString())
                            end_cep = dtEndereco.Rows[i]["end_cep"].ToString()
                            ,
                            end_logradouro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_logradouro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_logradouro"].ToString()
                            ,
                            end_distrito = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_distrito"].ToString().ToUpper() : dtEndereco.Rows[i]["end_distrito"].ToString()
                            ,
                            end_zona = dtEndereco.Rows[i]["end_zona"].ToString() == "0" || string.IsNullOrEmpty(dtEndereco.Rows[i]["end_zona"].ToString()) ? Convert.ToByte(0) : Convert.ToByte(dtEndereco.Rows[i]["end_zona"].ToString())
                            ,
                            end_bairro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_bairro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_bairro"].ToString()
                            ,
                            cid_id = new Guid(dtEndereco.Rows[i]["cid_id"].ToString())
                            ,
                            end_situacao = Convert.ToByte(1)
                        };

                        //Inclui dados na tabela END_Endereco (se necessário)
                        if (entityNovoEndereco.end_id == Guid.Empty)
                        {
                            entityEndereco.end_id     = END_EnderecoBO.Save(entityNovoEndereco, Guid.Empty, banco);
                            entityNovoEndereco.end_id = entityEndereco.end_id;
                        }

                        dtEndereco.Rows[i]["end_id"] = entityNovoEndereco.end_id;
                    }
                    string endRel_id = dtEndereco.Rows[i]["endRel_id"].ToString();

                    if (dtEndereco.Rows[i].RowState == DataRowState.Added || string.IsNullOrEmpty(endRel_id))
                    {
                        //TRATA DECIMAL
                        decimal latitude  = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString());
                        decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString());

                        //ATRIBUI VALORES
                        entityEndereco.end_id          = new Guid(dtEndereco.Rows[i]["end_id"].ToString());
                        entityEndereco.pse_numero      = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString();
                        entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString();
                        entityEndereco.pse_situacao    = Convert.ToByte(1);
                        entityEndereco.pse_id          = new Guid(dtEndereco.Rows[i]["id"].ToString());
                        entityEndereco.IsNew           = true;

                        entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]);
                        entityEndereco.pse_latitude          = latitude;
                        entityEndereco.pse_longitude         = longitude;

                        Save(entityEndereco, banco);

                        //Incrementa um na integridade do endereço
                        END_EnderecoDAO endDAL = new END_EnderecoDAO {
                            _Banco = banco
                        };
                        endDAL.Update_IncrementaIntegridade(entityEndereco.end_id);
                    }
                    else if (dtEndereco.Rows[i].RowState == DataRowState.Modified && !string.IsNullOrEmpty(endRel_id))
                    {
                        //TRATA DECIMAL
                        decimal latitude  = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString());
                        decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString());
                        //ATRIBUI VALORES
                        entityEndereco.end_id          = new Guid(dtEndereco.Rows[i]["end_id"].ToString());
                        entityEndereco.pse_numero      = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString();
                        entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString();

                        bool excluido = Convert.ToBoolean(dtEndereco.Rows[i]["excluido"]);
                        if (excluido)
                        {
                            entityEndereco.pse_situacao = Convert.ToByte(3);
                        }
                        else
                        {
                            entityEndereco.pse_situacao = Convert.ToByte(1);
                        }

                        entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id"].ToString());
                        entityEndereco.IsNew  = false;

                        entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]);
                        entityEndereco.pse_latitude          = latitude;
                        entityEndereco.pse_longitude         = longitude;

                        Save(entityEndereco, banco);
                    }
                }
                else
                {
                    entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id", DataRowVersion.Original].ToString());
                    entityEndereco.end_id = new Guid(dtEndereco.Rows[i]["end_id", DataRowVersion.Original].ToString());
                    PES_PessoaEnderecoDAO pesendDAL = new PES_PessoaEnderecoDAO {
                        _Banco = banco
                    };
                    pesendDAL.Delete(entityEndereco);

                    //Decrementa um na integridade do endereço
                    END_EnderecoDAO endDAL = new END_EnderecoDAO {
                        _Banco = banco
                    };
                    endDAL.Update_DecrementaIntegridade(entityEndereco.end_id);
                }
            }
        }
        /// <summary>
        /// Retorna um datatable contendo todos os endereços
        /// que não foram excluídos logicamente, filtrados por
        /// end_cep, end_logradouro
        /// </summary>
        /// <param name="end_cep">Campo end_cep da tabela END_Endereco do bd</param>
        /// <param name="end_logradouro">Campo end_logradouro da tabela END_Endereco do bd</param>
        /// <returns>Lista com os endereço</returns>
        public List <END_Endereco> SelectBy_end_id_end_logradouro
        (
            string end_cep
            , string end_logradouro
        )
        {
            List <END_Endereco>        lt = new List <END_Endereco>();
            QuerySelectStoredProcedure qs = new QuerySelectStoredProcedure("NEW_END_Endereco_SelectBy_end_cep_end_logradouro", this._Banco);

            try
            {
                #region PARAMETROS

                Param               = qs.NewParameter();
                Param.DbType        = DbType.AnsiString;
                Param.ParameterName = "@end_cep";
                Param.Size          = 8;
                if (!string.IsNullOrEmpty(end_cep))
                {
                    Param.Value = end_cep;
                }
                else
                {
                    Param.Value = DBNull.Value;
                }
                qs.Parameters.Add(Param);

                Param               = qs.NewParameter();
                Param.DbType        = DbType.AnsiString;
                Param.ParameterName = "@end_logradouro";
                Param.Size          = 200;
                if (!string.IsNullOrEmpty(end_logradouro))
                {
                    Param.Value = end_logradouro;
                }
                else
                {
                    Param.Value = DBNull.Value;
                }
                qs.Parameters.Add(Param);

                #endregion

                qs.Execute();

                foreach (DataRow dr in qs.Return.Rows)
                {
                    END_Endereco entity = new END_Endereco();
                    lt.Add(this.DataRowToEntity(dr, entity));
                }
                return(lt);
            }
            catch
            {
                throw;
            }
            finally
            {
                qs.Parameters.Clear();
            }
        }
예제 #13
0
    /// <summary>
    /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número
    /// e o complemento.
    /// Retorna true:
    /// - Se o endereço não é obrigatório e está completo
    ///     (todos os campos obrigatórios estão preenchidos).
    /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo.
    /// Retorna false:
    /// - Se o endereço é obrigatório e não foi preenchido todos os campos.
    /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos
    ///     (começou tem que terminar).
    /// </summary>
    /// <param name="ent"></param>
    /// <param name="numero"></param>
    /// <param name="complemento"></param>
    /// <param name="msgErro"></param>
    /// <returns></returns>
    public bool RetornaEnderecoCadastrado(out DataTable dt, out string msgErro)
    {
        END_Endereco ent = new END_Endereco();

        msgErro = "";
        string numero      = "";
        string complemento = "";
        double latitude    = 0;
        double longitude   = 0;

        //DataTable
        //dt = RetornaEnderecos();
        dt = VS_Uae;
        bool ret = false;
        bool enderecoPrincipal = false;

        // if (dt.Rows.Count > 0)
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            // Carregar dados do endereço.
            DataRow dr = dt.Rows[i];

            if (Convert.ToBoolean(dr["enderecoprincipal"].ToString()))
            {
                enderecoPrincipal = Convert.ToBoolean(dr["enderecoprincipal"].ToString());
            }

            string end_id = dr["end_id"].ToString();

            // Preenche o ID do endereço.
            if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
            {
                ent.end_id = new Guid(dr["id"].ToString());
                ent.IsNew  = true;
            }
            else
            {
                ent.end_id = new Guid(dr["end_id"].ToString());
                ent.IsNew  = false;

                END_EnderecoBO.GetEntity(ent);
            }

            ent.end_cep        = dr["end_cep"].ToString();
            ent.end_logradouro = dr["end_logradouro"].ToString();
            ent.end_distrito   = dr["end_distrito"].ToString();
            if (!(string.IsNullOrEmpty(dr["end_zona"].ToString())))
            {
                ent.end_zona = Convert.ToByte(dr["end_zona"]);
            }
            ent.end_bairro = dr["end_bairro"].ToString();
            ent.cid_id     = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString());
            ent.cid_nome   = dr["cid_nome"].ToString();

            numero      = dr["numero"].ToString();
            complemento = dr["complemento"].ToString();

            //}

            // Verificar se endereço está válido.
            if (_VS_Obrigatorio)
            {
                ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty));

                if (!ret)
                {
                    msgErro = UtilBO.ErrosValidacao(ent);
                }
                if (!string.IsNullOrEmpty(dr["latitude"].ToString()))
                {
                    if (double.TryParse(dr["latitude"].ToString(), out latitude))
                    {
                        dr["latitude"] = dr["latitude"].ToString().Replace(".", ",");
                        latitude       = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString());
                    }
                    else
                    {
                        msgErro += "Latitude está incorreto.<br/>";
                        ret      = false;
                    }
                }
                if (!string.IsNullOrEmpty(dr["longitude"].ToString()))
                {
                    if (double.TryParse(dr["longitude"].ToString(), out longitude))
                    {
                        dr["longitude"] = dr["longitude"].ToString().Replace(".", ",");
                        longitude       = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString());
                    }
                    else
                    {
                        msgErro += "Longitude está incorreto.<br/>";
                        ret      = false;
                    }
                }

                if (ent.cid_id == Guid.Empty)
                {
                    if (String.IsNullOrEmpty(ent.cid_nome))
                    {
                        msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>";
                    }
                    else
                    {
                        msgErro += "Endereço " + (i + 1) + " - Cidade não encontrada.<br/>";
                    }
                }

                if (String.IsNullOrEmpty(numero))
                {
                    ret      = false;
                    msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>";
                }
            }
            else
            {
                if ((!String.IsNullOrEmpty(ent.end_cep)) ||
                    (!String.IsNullOrEmpty(ent.end_logradouro)) ||
                    (!String.IsNullOrEmpty(numero)) ||
                    (!String.IsNullOrEmpty(ent.end_distrito)) ||
                    (ent.end_zona > 0) ||
                    (!String.IsNullOrEmpty(ent.end_bairro)) ||
                    (ent.cid_id != Guid.Empty))
                {
                    // Se preencheu pelo menos 1 campo, tem que preencher todos.
                    ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty));

                    if (!ret)
                    {
                        msgErro += UtilBO.ErrosValidacao(ent);
                    }

                    if (ent.cid_id == Guid.Empty)
                    {
                        msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>";
                    }

                    if (String.IsNullOrEmpty(numero))
                    {
                        ret      = false;
                        msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>";
                    }
                    if (!enderecoPrincipal)
                    {
                        ret      = false;
                        msgErro += "É necessário selecionar um endereço principal.";
                    }
                    if (!string.IsNullOrEmpty(dr["latitude"].ToString()))
                    {
                        if (double.TryParse(dr["latitude"].ToString(), out latitude))
                        {
                            // dr["latitude"] = dr["latitude"].ToString().Replace(".", ",");
                            latitude = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString());
                        }
                        else
                        {
                            msgErro += "Latitude está incorreto.<br/>";
                            ret      = false;
                        }
                    }

                    if (!string.IsNullOrEmpty(dr["longitude"].ToString()))
                    {
                        if (double.TryParse(dr["longitude"].ToString(), out longitude))
                        {
                            // dr["longitude"] = dr["longitude"].ToString().Replace(".", ",");
                            longitude = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString());
                        }
                        else
                        {
                            msgErro += "Longitude está incorreto.<br/>";
                            ret      = false;
                        }
                    }
                }
                else
                {
                    ret = true;
                }
            }
        }
        if (!_VS_Obrigatorio && dt.Rows.Count == 0)
        {
            ret = true;
        }

        if (_VS_Obrigatorio && !enderecoPrincipal)
        {
            ret      = false;
            msgErro += "É necessário selecionar um endereço principal.";
        }

        return(ret);
    }
예제 #14
0
    /// <summary>
    /// Insere e altera uma entidade
    /// </summary>
    private void _Salvar()
    {
        try
        {
            List <END_Endereco> ltEntityEndereco = new List <END_Endereco>();
            List <SYS_UnidadeAdministrativaEndereco> ltEntityUAEndereco = new List <SYS_UnidadeAdministrativaEndereco>();

            string  numero;
            string  complemento;
            string  msg;
            decimal latitude;
            decimal longitude;

            DataTable dt;

            bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out dt, out msg);

            if (ValidaCampos(dt))
            {
                string msgErro = string.Empty;
                if (String.IsNullOrEmpty(_lblMessage.Text.Trim()) && !UCGridContato1.SalvaConteudoGrid(out msgErro))
                {
                    UCGridContato1._MensagemErro.Visible = false;
                    _lblMessage.Text     = msgErro;
                    txtSelectedTab.Value = "2";
                    return;
                }

                //   Cadastra Unidade Administrativa
                SYS_UnidadeAdministrativa entityUnidadeAdministrativa = new SYS_UnidadeAdministrativa
                {
                    ent_id = _VS_ent_id
                    ,
                    uad_id = _VS_uad_id
                    ,
                    tua_id = new Guid(UCComboTipoUnidadeAdministrativa1._Combo.SelectedValue)
                    ,
                    uad_nome = _txtNome.Text
                    ,
                    uad_sigla = _txtSigla.Text
                    ,
                    uad_codigo = _txtCodigo.Text
                    ,
                    uad_codigoInep = _txtCodigoInep.Text
                    ,
                    uad_idSuperior = UCUASuperior.VsUadId
                    ,
                    uad_codigoIntegracao = _txtCodigoIntegracao.Text
                    ,
                    uad_situacao = _chkBloqueado.Checked ? Convert.ToByte(2) : Convert.ToByte(1)
                    ,
                    IsNew = (_VS_uad_id != Guid.Empty) ? false : true
                };


                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (!cadastraEndereco)
                    {
                        throw new ValidationException(msg);
                    }

                    DataRow dr     = dt.Rows[i];
                    string  end_id = dr["end_id"].ToString();
                    Guid    uae_id = string.IsNullOrEmpty(dr["endRel_id"].ToString()) ? Guid.NewGuid() : new Guid(dr["endRel_id"].ToString());

                    int zona = 0;
                    if (!string.IsNullOrEmpty(dr["end_zona"].ToString()))
                    {
                        zona = Convert.ToInt16(dr["end_zona"].ToString());
                    }

                    bool excluido = Convert.ToBoolean(dr["excluido"]);

                    if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
                    {
                        ltEntityEndereco.Add(new END_Endereco
                        {
                            end_id         = new Guid(dr["id"].ToString()),
                            IsNew          = true,
                            cid_nome       = dr["cid_nome"].ToString(),
                            end_logradouro = dr["end_logradouro"].ToString(),
                            end_distrito   = dr["end_distrito"].ToString(),
                            end_zona       = (zona != 0) ? Convert.ToByte(dr["end_zona"].ToString()) : Convert.ToByte(0),
                            end_bairro     = dr["end_bairro"].ToString(),
                            cid_id         = new Guid(dr["cid_id"].ToString()),
                            end_cep        = dr["end_cep"].ToString(),
                            end_situacao   = Convert.ToByte(1)
                        });
                    }
                    else
                    {
                        END_Endereco entityEndereco = new END_Endereco();
                        entityEndereco.end_id = new Guid(dr["end_id"].ToString());
                        entityEndereco.IsNew  = false;

                        END_EnderecoBO.GetEntity(entityEndereco);

                        entityEndereco.cid_id         = new Guid(dr["cid_id"].ToString());
                        entityEndereco.cid_nome       = dr["cid_nome"].ToString();
                        entityEndereco.end_logradouro = dr["end_logradouro"].ToString();
                        entityEndereco.end_distrito   = dr["end_distrito"].ToString();
                        entityEndereco.end_zona       = (zona != 0) ? Convert.ToByte(dr["end_zona"].ToString()) : Convert.ToByte(0);
                        entityEndereco.end_bairro     = dr["end_bairro"].ToString();
                        entityEndereco.end_cep        = dr["end_cep"].ToString();
                        entityEndereco.end_situacao   = (excluido) ? Convert.ToByte(3) : Convert.ToByte(1);
                        ltEntityEndereco.Add(entityEndereco);
                    }
                    numero      = dr["numero"].ToString();
                    complemento = dr["complemento"].ToString();
                    latitude    = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : decimal.Parse(dr["latitude"].ToString());
                    longitude   = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : decimal.Parse(dr["longitude"].ToString());

                    bool excluirEndereco = String.IsNullOrEmpty(dr["end_cep"].ToString()) && !_VS_IsNew_end_id;


                    if (!String.IsNullOrEmpty(ltEntityEndereco[i].end_cep))
                    {
                        ltEntityUAEndereco.Add(new SYS_UnidadeAdministrativaEndereco()
                        {
                            ent_id                = _VS_ent_id,
                            uad_id                = _VS_uad_id,
                            end_id                = ltEntityEndereco[i].end_id,
                            uae_numero            = numero,
                            uae_complemento       = complemento,
                            uae_situacao          = (excluido) ? Convert.ToByte(3) : Convert.ToByte(1),
                            IsNew                 = (string.IsNullOrEmpty(dr["novo"].ToString()) ? false : Convert.ToBoolean(dr["novo"].ToString())),
                            uae_latitude          = latitude,
                            uae_longitude         = longitude,
                            uae_id                = uae_id,
                            uae_enderecoPrincipal = (string.IsNullOrEmpty(dr["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dr["enderecoprincipal"].ToString())),
                        });
                    }
                }

                if (SYS_UnidadeAdministrativaBO.Save(entityUnidadeAdministrativa, ltEntityEndereco, ltEntityUAEndereco, UCGridContato1._VS_contatos, _VS_uad_idSuperiorAntigo, _VS_end_idAntigo, null))
                {
                    if (_VS_uad_id == Guid.Empty)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "ent_id: " + entityUnidadeAdministrativa.ent_id + "; uad_id: " + entityUnidadeAdministrativa.uad_id);
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Unidade administrativa incluída com sucesso."), UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "ent_id: " + entityUnidadeAdministrativa.ent_id + "; uad_id: " + entityUnidadeAdministrativa.uad_id);
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Unidade administrativa alterada com sucesso."), UtilBO.TipoMensagem.Sucesso);
                    }

                    Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "UA/Busca.aspx", false);
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a unidade administrativa.", UtilBO.TipoMensagem.Erro);
                }
            }
        }
        catch (ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            SetFocus(ValidationSummary1);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            SetFocus(ValidationSummary1);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            SetFocus(ValidationSummary1);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a unidade administrativa.", UtilBO.TipoMensagem.Erro);
            SetFocus(ValidationSummary1);
        }
    }
        /// <summary>
        /// Valida os dados da unidade administrativa de acordo com o padrão do censo escolar.
        /// </summary>
        /// <param name="entityUnidadeAdministrativa">Entidade SYS_UnidadeAdministrativa</param>
        /// <param name="entityEndereco">Entidade END_Endereco</param>
        /// <param name="entityUnidadeAdministrativaEndereco">Entidade SYS_UnidadeAdministrativaEndereco</param>
        public static void ValidaCensoEscolar(SYS_UnidadeAdministrativa entityUnidadeAdministrativa, END_Endereco entityEndereco, SYS_UnidadeAdministrativaEndereco entityUnidadeAdministrativaEndereco)
        {
            string numero      = entityUnidadeAdministrativaEndereco != null ? entityUnidadeAdministrativaEndereco.uae_numero : string.Empty;
            string complemento = entityUnidadeAdministrativaEndereco != null ? entityUnidadeAdministrativaEndereco.uae_complemento : string.Empty;

            ValidaCensoEscolar(entityUnidadeAdministrativa.uad_nome, "Unidade administrativa", entityEndereco, numero, complemento);
        }
        /// <summary>
        /// Valida os dados da unidade administrativa de acordo com o padrão do censo escolar.
        /// </summary>
        /// <param name="nomeUnidadeAdministrativa">Nome da unidade administrativa</param>
        /// <param name="termoUnidadeAdministrativa">Termo para referenciar a unidade administrativa</param>
        /// <param name="entityEndereco">Entidade END_Endereco</param>
        /// <param name="numero">Núemro do endereço</param>
        /// <param name="complemento">Complemento do endereço</param>
        public static void ValidaCensoEscolar(string nomeUnidadeAdministrativa, string termoUnidadeAdministrativa, END_Endereco entityEndereco, string numero, string complemento)
        {
            // Valida nome da unidade administrativa.
            Regex regex = new Regex(@"^[\sa-zA-Z0-9ÇÁÀÃÂÉÈÊÍÌÓÒÔÕÚÙçáàãâéèêíìóòôõúùªº°-]*$", RegexOptions.None);

            if (!regex.IsMatch(nomeUnidadeAdministrativa))
            {
                throw new ValidationException(string.Format("Nome da {0} não está no padrão do censo escolar, permitido somente os caracteres especiais: ª, º, -.", termoUnidadeAdministrativa.ToLower()));
            }

            regex = new Regex(@".{4}", RegexOptions.None);
            if (!regex.IsMatch(nomeUnidadeAdministrativa))
            {
                throw new ValidationException(string.Format("Nome da {0} não está no padrão do censo escolar, o nome deve ter no mínimo 4 caracteres.", termoUnidadeAdministrativa.ToLower()));
            }

            // Valida endereço.
            if (entityEndereco != null)
            {
                END_EnderecoBO.ValidaCensoEscolar(entityEndereco, numero, complemento);
            }
        }
예제 #17
0
    private void _Associar()
    {
        try
        {
            END_Endereco entityEndereco = new END_Endereco
            {
                end_id = _VS_end_id
                ,
                end_cep = txtCEP.Text
                ,
                end_logradouro = txtLogradouro.Text
                ,
                end_distrito = txtDistrito.Text
                ,
                end_zona = UCComboZona1._Combo.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(UCComboZona1._Combo.SelectedValue)
                ,
                end_bairro = txtBairro.Text
                ,
                cid_id = _VS_cid_id
                ,
                end_situacao = 1
                ,
                IsNew = (_VS_end_id != Guid.Empty) ? false : true
            };

            XmlDocument xDoc      = new XmlDocument();
            XmlNode     xElem     = xDoc.CreateNode(XmlNodeType.Element, "Coluna", "");
            XmlNode     xNodeCoor = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", "");
            XmlNode     xNode;

            for (int i = 0; i < _VS_AssociarEnderecos.Rows.Count; i++)
            {
                if (_VS_AssociarEnderecos.Rows[i]["end_id"].ToString() != _VS_end_id.ToString())
                {
                    xNodeCoor       = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", "");
                    xNode           = xDoc.CreateNode(XmlNodeType.Element, "valor", "");
                    xNode.InnerText = _VS_AssociarEnderecos.Rows[i]["end_id"].ToString();
                    xNodeCoor.AppendChild(xNode);
                    xElem.AppendChild(xNodeCoor);
                }
            }
            xDoc.AppendChild(xElem);

            if (END_EnderecoBO.AssociarEnderecos(entityEndereco, _VS_cid_idAntigo, xDoc))
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "end_id: " + entityEndereco.end_id);
                __SessionWEB.PostMessages = UtilBO.GetErroMessage("Endereços associados com sucesso.", UtilBO.TipoMensagem.Sucesso);

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoEndereco/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar os endereços.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar os endereços.", UtilBO.TipoMensagem.Erro);
        }
        finally
        {
            _updEnderecos.Update();
        }
    }
예제 #18
0
    /// <summary>
    /// Insere e altera uma pessoa
    /// </summary>
    private void _Salvar()
    {
        try
        {
            string msgErro;
            bool   mensagemEmBranco = String.IsNullOrEmpty(_lblMessage.Text.Trim());
            if (mensagemEmBranco && !UCGridContato1.SalvaConteudoGrid(out msgErro))
            {
                UCGridContato1._MensagemErro.Visible = false;
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "2";
                return;
            }

            if (mensagemEmBranco && !UCGridCertidaoCivil1.AtualizaViewState(out msgErro))
            {
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "3";
                return;
            }

            if (!UCGridDocumento1.ValidaConteudoGrid(out msgErro))
            {
                UCGridDocumento1._MensagemErro.Visible = false;
                _lblMessage.Text     = UtilBO.GetErroMessage(msgErro, UtilBO.TipoMensagem.Alerta);
                txtSelectedTab.Value = "3";
                return;
            }

            //Adiciona valores na entidade de pessoa
            PES_Pessoa entityPessoa = new PES_Pessoa
            {
                pes_id = UCCadastroPessoa1._VS_pes_id
                ,
                pes_nome = UCCadastroPessoa1._txtNome.Text
                ,
                pes_nome_abreviado = UCCadastroPessoa1._txtNomeAbreviado.Text
                ,
                pes_nomeSocial = UCCadastroPessoa1._txtNomeSocial.Text
                ,
                pai_idNacionalidade = UCCadastroPessoa1._ComboNacionalidade.SelectedValue == "-1" ? Guid.Empty : new Guid(UCCadastroPessoa1._ComboNacionalidade.SelectedValue)
                ,
                pes_naturalizado = UCCadastroPessoa1._chkNaturalizado.Checked
                ,
                cid_idNaturalidade = UCCadastroPessoa1._VS_cid_id
                ,
                pes_dataNascimento = (String.IsNullOrEmpty(UCCadastroPessoa1._txtDataNasc.Text.Trim()) ? new DateTime() : Convert.ToDateTime(UCCadastroPessoa1._txtDataNasc.Text.Trim()))
                ,
                pes_racaCor = UCCadastroPessoa1._ComboRacaCor.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboRacaCor.SelectedValue)
                ,
                pes_sexo = UCCadastroPessoa1._ComboSexo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboSexo.SelectedValue)
                ,
                pes_idFiliacaoPai = UCCadastroPessoa1._VS_pes_idFiliacaoPai
                ,
                pes_idFiliacaoMae = UCCadastroPessoa1._VS_pes_idFiliacaoMae
                ,
                tes_id = new Guid(UCCadastroPessoa1._ComboEscolaridade.SelectedValue)
                ,
                pes_estadoCivil = UCCadastroPessoa1._ComboEstadoCivil.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboEstadoCivil.SelectedValue)
                ,
                pes_situacao = 1
                ,
                IsNew = (UCCadastroPessoa1._VS_pes_id != Guid.Empty) ? false : true
            };

            PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
            {
                pes_id = _VS_pes_id
                ,
                tde_id = new Guid(UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue)
                ,
                IsNew = true
            };

            CFG_Arquivo entArquivo = null;

            //armazema a imagem na entidade de pessoa
            if (!string.IsNullOrEmpty(UCCadastroPessoa1._iptFoto.PostedFile.FileName))
            {
                string tam = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_MAX_FOTO_PESSOA);

                if (!string.IsNullOrEmpty(tam))
                {
                    if (UCCadastroPessoa1._iptFoto.PostedFile.ContentLength > Convert.ToInt32(tam) * 1000)
                    {
                        throw new ArgumentException("Foto é maior que o tamanho máximo permitido.");
                    }
                }

                if (UCCadastroPessoa1._iptFoto.PostedFile.FileName.Substring(UCCadastroPessoa1._iptFoto.PostedFile.FileName.Length - 3, 3).ToUpper() != "JPG")
                {
                    throw new ArgumentException("Foto tem que estar no formato \".jpg\".");
                }

                entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(UCCadastroPessoa1._iptFoto.PostedFile);

                if (_VS_arq_idAntigo > 0)
                {
                    // Se já existia foto e vai ser alterada, muda só o conteúdo.
                    entArquivo.arq_id = _VS_arq_idAntigo;
                    entArquivo.IsNew  = false;
                }
            }

            if (_VS_arq_idAntigo > 0)
            {
                entityPessoa.arq_idFoto = _VS_arq_idAntigo;
            }

            //Chama método salvar da pessoa

            /* [OLD]  if (PES_PessoaBO.Save(entityPessoa
             *                  , entityPessoaDeficiencia
             *                  , UCEnderecos1._VS_enderecos
             *                  , UCGridContato1._VS_contatos
             *                  , UCGridDocumento1.RetornaDocumentoSave()
             *                  , UCGridCertidaoCivil1._VS_certidoes
             *                  , _VS_pai_idAntigo
             *                  , _VS_cid_idAntigo
             *                  , _VS_pes_idPaiAntigo
             *                  , _VS_pes_idMaeAntigo
             *                  , _VS_tes_idAntigo
             *                  , _VS_tde_idAntigo
             *                  , ApplicationWEB.TipoImagensPermitidas
             *                  , ApplicationWEB.TamanhoMaximoArquivo
             *                  , entArquivo
             *                  , UCCadastroPessoa1._chbExcluirImagem.Checked
             *                  )
             *     )*/
            END_Endereco entityEndereco = new END_Endereco();

            string    msg;
            DataTable dtEndereco;

            bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out dtEndereco, out msg);

            if (PES_PessoaBO.Save(entityPessoa
                                  , entityPessoaDeficiencia
                                  , dtEndereco
                                  , UCGridContato1._VS_contatos
                                  , UCGridDocumento1.RetornaDocumentoSave()
                                  , UCGridCertidaoCivil1._VS_certidoes
                                  , _VS_pai_idAntigo
                                  , _VS_cid_idAntigo
                                  , _VS_pes_idPaiAntigo
                                  , _VS_pes_idMaeAntigo
                                  , _VS_tes_idAntigo
                                  , _VS_tde_idAntigo
                                  , ApplicationWEB.TipoImagensPermitidas
                                  , ApplicationWEB.TamanhoMaximoArquivo
                                  , entArquivo
                                  , UCCadastroPessoa1._chbExcluirImagem.Checked
                                  )
                )
            {
                if (_VS_pes_id == Guid.Empty)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "pes_id: " + entityPessoa.pes_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa incluída com sucesso."), UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "pes_id: " + entityPessoa.pes_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa alterada com sucesso."), UtilBO.TipoMensagem.Sucesso);
                }

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoPessoa/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro);
        }
    }
예제 #19
0
        public static bool Save
        (
            SYS_Entidade entityEntidade
            , DataTable entityEntidadeEndereco
            , DataTable dtContatos
            , Guid ent_idSuperiorAntigo
            , Guid end_idAntigo
            , string caminho
            , string nomeLogoCliente
            , HttpPostedFile logoCliente
            , CoreLibrary.Data.Common.TalkDBTransaction banco
        )

        /* public static bool Save
         * (
         * SYS_Entidade entityEntidade
         * , END_Endereco entityEndereco
         * , SYS_EntidadeEndereco entityEntidadeEndereco
         * , DataTable dtContatos
         * , Guid ent_idSuperiorAntigo
         * , Guid end_idAntigo
         * , string caminho
         * , string nomeLogoCliente
         * , HttpPostedFile logoCliente
         * ,CoreLibrary.Data.Common.TalkDBTransaction banco
         * )*/
        {
            SYS_EntidadeDAO entDAL = new SYS_EntidadeDAO();

            if (banco == null)
            {
                entDAL._Banco.Open(IsolationLevel.ReadCommitted);
            }
            else
            {
                entDAL._Banco = banco;
            }

            try
            {
                //Salva dados na tabela SYS_Entidade
                if (entityEntidade.Validate())
                {
                    if (VerificaRazaoSocialExistente(entityEntidade))
                    {
                        throw new DuplicateNameException("Já existe uma entidade cadastrada com esta razão social.");
                    }

                    if (!string.IsNullOrEmpty(entityEntidade.ent_cnpj.Trim()))
                    {
                        if (!UtilBO._ValidaCNPJ(entityEntidade.ent_cnpj))
                        {
                            throw new ArgumentException("CNPJ inválido.");
                        }

                        if (VerificaCNPJExistente(entityEntidade))
                        {
                            throw new DuplicateNameException("Já existe uma entidade cadastrada com este CNPJ.");
                        }
                    }

                    if (!string.IsNullOrEmpty(entityEntidade.ent_urlAcesso))
                    {
                        Regex reg = new Regex(@"^(http|https):\/\/([a-z]+)(\.[a-z]+)+$");

                        if (!reg.IsMatch(entityEntidade.ent_urlAcesso))
                        {
                            throw new ArgumentException("URL de acesso inválido.");
                        }
                    }

                    if (entDAL.Salvar(entityEntidade) && !string.IsNullOrEmpty(nomeLogoCliente) && logoCliente != null)
                    {
                        nomeLogoCliente = entityEntidade.ent_id + "_" + nomeLogoCliente;

                        UtilBO.SaveThumbnailImage
                        (
                            1000
                            , caminho
                            , nomeLogoCliente
                            , logoCliente
                            , 84
                            , 60
                        );
                    }
                }
                else
                {
                    throw new CoreLibrary.Validation.Exceptions.ValidationException(entityEntidade.PropertiesErrorList[0].Message);
                }


                //TODO:[Gabriel] Multiplos endereços

                /*
                 *
                 * if (entityEntidadeEndereco != null)
                 * {
                 *  //Salva dados na tabela SYS_EntidadeEndereco
                 *  if (entityEntidadeEndereco.Validate())
                 *  {
                 *      SYS_EntidadeEnderecoDAO entendDAL = new SYS_EntidadeEnderecoDAO { _Banco = entDAL._Banco };
                 *      entityEntidadeEndereco.ent_id = entityEntidade.ent_id;
                 *      entendDAL.Salvar(entityEntidadeEndereco);
                 *  }
                 *  else
                 *  {
                 *      throw new CoreLibrary.Validation.Exceptions.ValidationException(entityEntidadeEndereco.PropertiesErrorList[0].Message);
                 *  }
                 *
                 *  if (entityEntidadeEndereco.IsNew)
                 *  {
                 *      if (entityEntidadeEndereco.end_id != Guid.Empty)
                 *      {
                 *          //Incrementa um na integridade do endereço
                 *          END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco };
                 *          endDAL.Update_IncrementaIntegridade(entityEntidadeEndereco.end_id);
                 *      }
                 *  }
                 *  else
                 *  {
                 *      if (end_idAntigo != entityEntidadeEndereco.end_id)
                 *      {
                 *          END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco };
                 *
                 *          if (entityEntidadeEndereco.ene_situacao != 3)
                 *          {
                 *              //Decrementa um na integridade do endereço antigo (se existia)
                 *              if (end_idAntigo != Guid.Empty)
                 *                  endDAL.Update_DecrementaIntegridade(end_idAntigo);
                 *
                 *              //Incrementa um na integridade do endereço atual (se existir)
                 *              if (entityEntidadeEndereco.end_id != Guid.Empty)
                 *                  endDAL.Update_IncrementaIntegridade(entityEntidadeEndereco.end_id);
                 *          }
                 *      }
                 *      else
                 *      {
                 *          if (entityEntidadeEndereco.ene_situacao == 3)
                 *          {
                 *              //Decrementa um na integridade do endereço atual
                 *              if (end_idAntigo != Guid.Empty)
                 *              {
                 *                  END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco };
                 *                  endDAL.Update_DecrementaIntegridade(entityEntidadeEndereco.end_id);
                 *              }
                 *          }
                 *      }
                 *  }
                 * }
                 */

                //Salva dados na tabela SYS_EntidadeContato
                SYS_EntidadeContato entityContato = new SYS_EntidadeContato
                {
                    ent_id = entityEntidade.ent_id
                };

                for (int i = 0; i < dtContatos.Rows.Count; i++)
                {
                    if (dtContatos.Rows[i].RowState != DataRowState.Deleted)
                    {
                        if (dtContatos.Rows[i].RowState == DataRowState.Added)
                        {
                            entityContato.tmc_id       = new Guid(dtContatos.Rows[i]["tmc_id"].ToString());
                            entityContato.enc_contato  = dtContatos.Rows[i]["contato"].ToString();
                            entityContato.enc_situacao = Convert.ToByte(1);
                            entityContato.enc_id       = new Guid(dtContatos.Rows[i]["id"].ToString());
                            entityContato.IsNew        = true;
                            SYS_EntidadeContatoBO.Save(entityContato, entDAL._Banco);

                            //Incrementa um na integridade do tipo de contato
                            SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO {
                                _Banco = entDAL._Banco
                            };
                            tipoDAL.Update_IncrementaIntegridade(entityContato.tmc_id);
                        }
                        else if (dtContatos.Rows[i].RowState == DataRowState.Modified)
                        {
                            entityContato.tmc_id       = new Guid(dtContatos.Rows[i]["tmc_id"].ToString());
                            entityContato.enc_contato  = dtContatos.Rows[i]["contato"].ToString();
                            entityContato.enc_situacao = Convert.ToByte(1);
                            entityContato.enc_id       = new Guid(dtContatos.Rows[i]["id"].ToString());
                            entityContato.IsNew        = false;
                            SYS_EntidadeContatoBO.Save(entityContato, entDAL._Banco);
                        }
                    }
                    else
                    {
                        entityContato.enc_id = (Guid)dtContatos.Rows[i]["id", DataRowVersion.Original];
                        entityContato.tmc_id = (Guid)dtContatos.Rows[i]["tmc_id", DataRowVersion.Original];
                        SYS_EntidadeContatoDAO entconDAL = new SYS_EntidadeContatoDAO {
                            _Banco = entDAL._Banco
                        };
                        entconDAL.Delete(entityContato);

                        //Decrementa um na integridade do tipo de contato
                        SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO {
                            _Banco = entDAL._Banco
                        };
                        tipoDAL.Update_DecrementaIntegridade(entityContato.tmc_id);
                    }
                }

                if (entityEntidade.IsNew)
                {
                    //Incrementa um na integridade do tipo de entidade
                    SYS_TipoEntidadeDAO tipoDAL = new SYS_TipoEntidadeDAO {
                        _Banco = entDAL._Banco
                    };
                    tipoDAL.Update_IncrementaIntegridade(entityEntidade.ten_id);

                    //Incrementa um na integridade da entidade superior (se existir)
                    if (entityEntidade.ent_idSuperior != Guid.Empty)
                    {
                        entDAL.Update_IncrementaIntegridade(entityEntidade.ent_idSuperior);
                    }
                }
                else
                {
                    if (ent_idSuperiorAntigo != entityEntidade.ent_idSuperior)
                    {
                        //Decrementa um na integridade da entidade superior anterior (se existia)
                        if (ent_idSuperiorAntigo != Guid.Empty)
                        {
                            entDAL.Update_DecrementaIntegridade(ent_idSuperiorAntigo);
                        }

                        //Incrementa um na integridade da entidade superior atual (se existir)
                        if (entityEntidade.ent_idSuperior != Guid.Empty)
                        {
                            entDAL.Update_IncrementaIntegridade(entityEntidade.ent_idSuperior);
                        }
                    }
                }


                // endereço

                SYS_EntidadeEndereco entityEndereco = new SYS_EntidadeEndereco
                {
                    ent_id = entityEntidade.ent_id
                };

                // ABRIR CONEXÃO
                SYS_EntidadeEnderecoDAO entidadeEnderecoDAO = new SYS_EntidadeEnderecoDAO();
                entidadeEnderecoDAO._Banco = entDAL._Banco;

                for (int i = 0; i < entityEntidadeEndereco.Rows.Count; i++)
                {
                    //if (entityEntidadeEndereco.Rows[i].RowState != DataRowState.Deleted)
                    if (!Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["excluido"].ToString()))
                    {
                        string end_id = entityEntidadeEndereco.Rows[i]["end_id"].ToString();

                        if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
                        {
                            END_Endereco entityNovoEndereco = new END_Endereco
                            {
                                //[OLD]end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString())
                                end_cep = entityEntidadeEndereco.Rows[i]["end_cep"].ToString()
                                ,
                                end_logradouro = entityEntidadeEndereco.Rows[i]["end_logradouro"].ToString()
                                ,
                                end_distrito = entityEntidadeEndereco.Rows[i]["end_distrito"].ToString()
                                ,
                                end_zona = entityEntidadeEndereco.Rows[i]["end_zona"].ToString() == "0" || string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["end_zona"].ToString()) ? Convert.ToByte(0) : Convert.ToByte(entityEntidadeEndereco.Rows[i]["end_zona"].ToString())
                                ,
                                end_bairro = entityEntidadeEndereco.Rows[i]["end_bairro"].ToString()
                                ,
                                cid_id = new Guid(entityEntidadeEndereco.Rows[i]["cid_id"].ToString())
                                ,
                                end_situacao = Convert.ToByte(1)
                            };
                            //Inclui dados na tabela END_Endereco (se necessário)
                            if (entityNovoEndereco.end_id == Guid.Empty)
                            {
                                entityEndereco.end_id     = END_EnderecoBO.Save(entityNovoEndereco, Guid.Empty, entDAL._Banco);
                                entityNovoEndereco.end_id = entityEndereco.end_id;
                            }
                            //
                            entityEntidadeEndereco.Rows[i]["end_id"] = entityNovoEndereco.end_id;
                        }
                        string endRel_id = entityEntidadeEndereco.Rows[i]["endRel_id"].ToString();

                        if (entityEntidadeEndereco.Rows[i].RowState == DataRowState.Added || string.IsNullOrEmpty(endRel_id))
                        {
                            //TRATA DECIMAL
                            decimal latitude  = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["latitude"].ToString());
                            decimal longitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["longitude"].ToString());
                            //ATRIBUI VALORES
                            entityEndereco.ent_id          = entityEntidade.ent_id;
                            entityEndereco.end_id          = new Guid(entityEntidadeEndereco.Rows[i]["end_id"].ToString());
                            entityEndereco.ene_numero      = entityEntidadeEndereco.Rows[i]["numero"].ToString();
                            entityEndereco.ene_complemento = entityEntidadeEndereco.Rows[i]["complemento"].ToString();
                            entityEndereco.ene_situacao    = Convert.ToByte(1);
                            entityEndereco.ene_id          = new Guid(entityEntidadeEndereco.Rows[i]["id"].ToString());
                            entityEndereco.IsNew           = true;
                            //
                            entityEndereco.ene_enderecoPrincipal = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["enderecoprincipal"]);
                            entityEndereco.ene_latitude          = latitude;
                            entityEndereco.ene_longitude         = longitude;
                            //
                            entidadeEnderecoDAO.Salvar(entityEndereco);
                        }
                        else if (entityEntidadeEndereco.Rows[i].RowState == DataRowState.Modified && !string.IsNullOrEmpty(endRel_id))
                        {
                            //TRATA DECIMAL
                            decimal latitude  = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["latitude"].ToString());
                            decimal longitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["longitude"].ToString());
                            //ATRIBUI VALORES
                            entityEndereco.ene_id = new Guid(entityEntidadeEndereco.Rows[i]["endRel_id"].ToString());
                            entityEndereco.ent_id = entityEntidade.ent_id;
                            entityEndereco.end_id = new Guid(entityEntidadeEndereco.Rows[i]["end_id"].ToString());
                            //
                            entityEndereco.ene_numero      = entityEntidadeEndereco.Rows[i]["numero"].ToString();
                            entityEndereco.ene_complemento = entityEntidadeEndereco.Rows[i]["complemento"].ToString();
                            bool excluido = Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["excluido"]);
                            if (excluido)
                            {
                                entityEndereco.ene_situacao = Convert.ToByte(3);
                            }
                            else
                            {
                                entityEndereco.ene_situacao = Convert.ToByte(1);
                            }
                            entityEndereco.IsNew = false;
                            //
                            entityEndereco.ene_enderecoPrincipal = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["enderecoprincipal"]);
                            entityEndereco.ene_latitude          = latitude;
                            entityEndereco.ene_longitude         = longitude;
                            //
                            entidadeEnderecoDAO.Salvar(entityEndereco);
                        }
                    }
                    else
                    {
                        entityEndereco.ene_id = new Guid(entityEntidadeEndereco.Rows[i]["endRel_id", DataRowVersion.Original].ToString());
                        entityEndereco.end_id = new Guid(entityEntidadeEndereco.Rows[i]["end_id", DataRowVersion.Original].ToString());
                        entidadeEnderecoDAO.Delete(entityEndereco);
                    }
                }

                return(true);
            }
            catch (Exception err)
            {
                if (banco == null)
                {
                    entDAL._Banco.Close(err);
                }

                throw;
            }
            finally
            {
                if (banco == null)
                {
                    entDAL._Banco.Close();
                }
            }
        }
    /// <summary>
    /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número
    /// e o complemento.
    /// Retorna true:
    /// - Se o endereço não é obrigatório e está completo
    ///     (todos os campos obrigatórios estão preenchidos).
    /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo.
    /// Retorna false:
    /// - Se o endereço é obrigatório e não foi preenchido todos os campos.
    /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos
    ///     (começou tem que terminar).
    /// </summary>
    /// <param name="ent"></param>
    /// <param name="numero"></param>
    /// <param name="complemento"></param>
    /// <param name="msgErro"></param>
    /// <returns></returns>
    public bool RetornaEnderecoCadastrado(out END_Endereco ent, out string numero, out string complemento, out string msgErro)
    {
        ent         = new END_Endereco();
        msgErro     = "";
        numero      = "";
        complemento = "";

        DataTable dt = RetornaEnderecos();

        if (dt.Rows.Count > 0)
        {
            // Carregar dados do endereço.
            DataRow dr = dt.Rows[0];

            string end_id = dr["end_id"].ToString();

            // Preenche o ID do endereço.
            if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
            {
                ent.end_id = new Guid(dr["id"].ToString());
                ent.IsNew  = true;
            }
            else
            {
                ent.end_id = new Guid(dr["end_id"].ToString());
                ent.IsNew  = false;

                END_EnderecoBO.GetEntity(ent);
            }

            ent.end_cep        = dr["end_cep"].ToString();
            ent.end_logradouro = dr["end_logradouro"].ToString();
            ent.end_distrito   = dr["end_distrito"].ToString();
            ent.end_zona       = Convert.ToByte(dr["end_zona"]);
            ent.end_bairro     = dr["end_bairro"].ToString();
            ent.cid_id         = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString());
            ent.cid_nome       = dr["cid_nome"].ToString();

            numero      = dr["numero"].ToString();
            complemento = dr["complemento"].ToString();
        }

        bool ret;

        // Verificar se endereço está válido.
        if (_VS_Obrigatorio)
        {
            ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty));

            if (!ret)
            {
                msgErro = UtilBO.ErrosValidacao(ent);
            }

            if (ent.cid_id == Guid.Empty)
            {
                if (String.IsNullOrEmpty(ent.cid_nome))
                {
                    msgErro += "Cidade é obrigatório.<br/>";
                }
                else
                {
                    msgErro += "Cidade não encontrada.<br/>";
                }
            }

            if (String.IsNullOrEmpty(numero))
            {
                ret      = false;
                msgErro += "Número é obrigatório.";
            }
        }
        else
        {
            if ((!String.IsNullOrEmpty(ent.end_cep)) ||
                (!String.IsNullOrEmpty(ent.end_logradouro)) ||
                (!String.IsNullOrEmpty(numero)) ||
                (!String.IsNullOrEmpty(ent.end_distrito)) ||
                (ent.end_zona > 0) ||
                (!String.IsNullOrEmpty(ent.end_bairro)) ||
                (ent.cid_id != Guid.Empty))
            {
                // Se preencheu pelo menos 1 campo, tem que preencher todos.
                ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty));

                if (!ret)
                {
                    msgErro += UtilBO.ErrosValidacao(ent);
                }

                if (ent.cid_id == Guid.Empty)
                {
                    msgErro += "Cidade é obrigatório.<br/>";
                }

                if (String.IsNullOrEmpty(numero))
                {
                    ret      = false;
                    msgErro += "Número é obrigatório.";
                }
            }
            else
            {
                ret = true;
            }
        }

        return(ret);
    }
예제 #21
0
        /// <summary>
        /// Verifica se a Session do usuário está nula,
        /// se estiver verifica o FormsIdentity e carrega a Session
        /// </summary>
        private void GetFormsIdentityLoadSession()
        {
            try
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    //var identity = HttpContext.Current.User.Identity as FormsIdentity;
                    //if (identity != null)
                    //{
                    var identity = HttpContext.Current.User.Identity;
                    var entityId = identity.GetEntityId();
                    var usuLogin = identity.GetUsuLogin();
                    if (identity != null && entityId != null && usuLogin != null)
                    {
                        //    // Recupera Ticket de autenticação gravado em Cookie
                        //    FormsIdentity id = identity;
                        //FormsAuthenticationTicket ticket = id.Ticket;

                        // Carrega usuário na session através do ticket de authenticação
                        __SessionWEB.__UsuarioWEB.Usuario = new SYS_Usuario
                        {
                            ent_id    = new Guid(entityId),
                            usu_login = usuLogin
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(__SessionWEB.__UsuarioWEB.Usuario);

                        // Carrega grupo na session através do ticket de autenticação
                        var gru_id = identity.GetGrupoId();
                        if (!string.IsNullOrEmpty(gru_id))
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                                gru_id = new Guid(gru_id)
                            });
                        }
                        else
                        {
                            // Carrega grupos do usuário
                            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                                __SessionWEB.__UsuarioWEB.Usuario.usu_id
                                , ApplicationWEB.SistemaID);

                            // Verifica se foi carregado os grupos do usuário
                            if (list.Count > 0)
                            {
                                // Seleciona o primeiro grupo do usuário logado para carregar na Session
                                __SessionWEB.__UsuarioWEB.Grupo = list[0];

                                DataTable dtUaPermissao = ESC_EscolaBO.RetornaUAPermissaoUsuarioGrupo(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB._EntidadeID, __SessionWEB.__UsuarioWEB.Grupo.gru_id);
                                if (dtUaPermissao.Rows.Count > 0)
                                {
                                    int esc_id;
                                    Int32.TryParse(dtUaPermissao.Rows[0]["esc_id"].ToString(), out esc_id);
                                    __SessionWEB.__UsuarioWEB.Esc_idPermissao = esc_id;

                                    //Caso não tenha escola, significa que o usuário possui permissão de Gestão
                                    if (esc_id == 0)
                                    {
                                        if (!string.IsNullOrEmpty(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString()))
                                        {
                                            __SessionWEB.__UsuarioWEB.Uad_idSuperiorPermissao = new Guid(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString());
                                        }
                                    }
                                }
                            }
                        }
                        // Carrega o cid_id na session referente a entidade do usuário autenticado
                        Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id;
                        Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(ent_id);

                        SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                            ent_id = ent_id, ene_id = ene_id
                        };
                        SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

                        END_Endereco entityEndereco = new END_Endereco {
                            end_id = entityEntidadeEndereco.end_id
                        };
                        END_EnderecoBO.GetEntity(entityEndereco);

                        __SessionWEB._cid_id = entityEndereco.cid_id;

                        // Carrega nome ou login na session do usuário autenticado
                        PES_Pessoa entityPessoa = new PES_Pessoa {
                            pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                        };
                        PES_PessoaBO.GetEntity(entityPessoa);
                        __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(entityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : entityPessoa.pes_nome;

                        LoadSessionSistema();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
            }
        }