Exemplo n.º 1
0
        public ActionResult Criar(PessoaVM vm)
        {
            string urlRedireciona = Url.Action("Criar", "Pessoa");

            vm.CpfCnpjValido = true;
            vm.Pessoa.Ativa  = 1;            //Indica que pessoa está ativa no sistema

            if (vm.TipoCadastro != 0)
            {
                vm.Pessoa.Tipo = (vm.TipoCadastro == 2) ? PessoaTipo.JURIDICA : PessoaTipo.FISICA;
            }

            CarregaCampos(vm);

            if (vm.TipoCadastro == 1 && !vm.Pessoa.IsCopiado && (vm.Pessoa.Fisica.EstadoCivil == 2 || vm.Pessoa.Fisica.EstadoCivil == 5))
            {
                vm.Pessoa.Fisica.ConjugeId = -1;
            }

            if (vm.Pessoa.IsFisica)
            {
                vm.Pessoa.IsValidarConjuge = !vm.IsConjuge;
            }

            if (_bus.Salvar(vm.Pessoa))
            {
                Validacao.Add(Mensagem.Pessoa.Salvar);
                urlRedireciona += "?Msg=" + Validacao.QueryParam();
            }

            return(Json(new { IsPessoaSalva = Validacao.EhValido, UrlRedireciona = urlRedireciona, @Pessoa = vm.Pessoa, Msg = Validacao.Erros }));
        }
Exemplo n.º 2
0
        public bool AlterarDados(CredenciadoPessoa credenciado, string senha, string confirmarSenha)
        {
            try
            {
                credenciado.Id            = credenciado.Pessoa.CredenciadoId.GetValueOrDefault();
                credenciado.Usuario.Id    = User.UsuarioId;
                credenciado.Usuario.Login = User.Login;

                if (_validar.VerificarAlterarDados(credenciado, senha, confirmarSenha))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                    {
                        bancoDeDados.IniciarTransacao();

                        #region Alterar senha

                        if (credenciado.AlterarSenha)
                        {
                            string hashSenha = GerenciarAutenticacao.Criptografar(credenciado.Usuario.Login, senha);
                            _busUsuario.AlterarSenha(credenciado.Usuario, hashSenha, GerenciarAutenticacao.ObterAutenticacaoExecutor(), bancoDeDados);
                        }

                        #endregion

                        #region Pessoa

                        _pessoaCredenciadoBus.Salvar(credenciado.Pessoa, bancoDeDados);

                        CredenciadoPessoa aux = Obter(credenciado.Id, true);
                        _da.Salvar(aux, bancoDeDados);

                        bancoDeDados.Commit();

                        #endregion
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }
        public bool Salvar(Empreendimento empreendimento)
        {
            try
            {
                if (_validar.Salvar(empreendimento))
                {
                    Mensagem erros = VerificarLocalizacaoEmpreendimento(empreendimento.Coordenada.EastingUtmTexto, empreendimento.Coordenada.NorthingUtmTexto, empreendimento.Enderecos[0].EstadoId, empreendimento.Enderecos[0].MunicipioId);
                    if (erros.Texto != null)
                    {
                        Validacao.Add(erros);
                        return(Validacao.EhValido);
                    }

                    empreendimento.CredenciadoId = User.FuncionarioId;

                    if (empreendimento.InternoId.GetValueOrDefault() > 0)
                    {
                        empreendimento.InternoTid = new EmpreendimentoInternoBus().ObterSimplificado(empreendimento.InternoId.Value).Tid;
                    }

                    if (empreendimento.Coordenada.Tipo.Id > 0)
                    {
                        empreendimento.Coordenada.Datum.Sigla = ListaCredenciadoBus.Datuns.SingleOrDefault(x => Equals(x.Id, empreendimento.Coordenada.Datum.Id)).Sigla;
                    }

                    #region Utilizar o mesmo endereço de localização

                    if (empreendimento.Enderecos.Count == 1)
                    {
                        Endereco enderecoLocalizacao = empreendimento.Enderecos.First();

                        Endereco endereco = new Endereco();
                        endereco.Correspondencia     = 1;
                        endereco.Cep                 = enderecoLocalizacao.Cep;
                        endereco.Logradouro          = enderecoLocalizacao.Logradouro;
                        endereco.Bairro              = enderecoLocalizacao.Bairro;
                        endereco.EstadoId            = enderecoLocalizacao.EstadoId;
                        endereco.MunicipioId         = enderecoLocalizacao.MunicipioId;
                        endereco.Numero              = enderecoLocalizacao.Numero;
                        endereco.DistritoLocalizacao = enderecoLocalizacao.DistritoLocalizacao;
                        endereco.Complemento         = enderecoLocalizacao.Complemento;

                        empreendimento.Enderecos.Add(endereco);
                    }

                    #endregion

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
                    {
                        bancoDeDados.IniciarTransacao();
                        PessoaCredenciadoBus pessoaCredenciadoBus = new PessoaCredenciadoBus();
                        Pessoa          aux;
                        List <Mensagem> mensagens = new List <Mensagem>();

                        foreach (Responsavel responsavel in empreendimento.Responsaveis)
                        {
                            if (responsavel.Id <= 0)
                            {
                                aux = pessoaCredenciadoBus.ObterPessoa(interno: responsavel.InternoId);
                                Pessoa pessoaCredenciado = pessoaCredenciadoBus.Obter(aux.CPFCNPJ, bancoDeDados, simplificado: true, credenciadoId: User.FuncionarioId);

                                aux.Id = pessoaCredenciado.Id;
                                pessoaCredenciadoBus.Salvar(aux, bancoDeDados);

                                responsavel.Id = aux.Id;

                                if (!Validacao.EhValido)
                                {
                                    mensagens.Add(Mensagem.Pessoa.DadosRepresentanteIncompleto(aux.NomeRazaoSocial));
                                }
                            }
                        }

                        if (!Validacao.EhValido)
                        {
                            mensagens.ForEach(msg =>
                            {
                                msg.Texto = msg.Texto.Replace("representante", "responsável");
                            });

                            Validacao.Erros = mensagens;
                            bancoDeDados.Rollback();
                            return(false);
                        }

                        _da.Salvar(empreendimento, bancoDeDados);

                        #region Solicitação de CAR

                        CARSolicitacaoBus carSolicitacaoBus = new CARSolicitacaoBus();
                        CARSolicitacao    carSolicitacao    = new CARSolicitacao();
                        carSolicitacao.Empreendimento.Id = empreendimento.Id;
                        //carSolicitacaoBus.AlterarSituacao(carSolicitacao, new CARSolicitacao() { SituacaoId = (int)eCARSolicitacaoSituacao.Invalido }, bancoDeDados);

                        #endregion

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }