Пример #1
0
        public LoginResponse ValidarLogin(LoginRequest request)
        {
            LoginResponse response = new LoginResponse();

            try
            {
                if (request == null)
                {
                    throw new Exception("O objeto request não foi preenchido.");
                }

                PESSOA pessoa = data.PESSOA.Where(whr => whr.Email == request.Email).FirstOrDefault();

                if (pessoa.Email != request.Email || pessoa.Senha != request.Senha)
                {
                    response.Sucesso  = false;
                    response.Mensagem = "Usuário ou senha invalido!";
                }
                else if (pessoa.Email == request.Email && pessoa.Senha == request.Senha)
                {
                    response.PessoaID = pessoa.ID;
                    response.Sucesso  = true;
                    response.Mensagem = "Login Efetuado com Sucesso!";
                }
            }
            catch (Exception err)
            {
                response.Sucesso  = false;
                response.Mensagem = err.Message;
            }

            return(response);
        }
Пример #2
0
        public ActionResult DeleteConfirmed(long id)
        {
            PESSOA pESSOA = db.PESSOA.Find(id);

            db.PESSOA.Remove(pESSOA);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
 public PessoaTomador(PESSOA aobjPessoa)
 {
     if (aobjPessoa.TIPO_PESSOA_TRIBUTACAO == null && string.IsNullOrEmpty(aobjPessoa.TIPO_DOC) == false)
     {
         aobjPessoa.TIPO_PESSOA_TRIBUTACAO = Convert.ToInt32((aobjPessoa.TIPO_DOC == "F" ? enmTipoPessoaTrib.ePF : enmTipoPessoaTrib.ePJ_Comum));
     }
     setValues((enmTipoPessoaTrib)aobjPessoa.TIPO_PESSOA_TRIBUTACAO.GetValueOrDefault((int)enmTipoPessoaTrib.eNaoPreenchido), aobjPessoa.CIDADE);
 }
Пример #4
0
        public ActionResult CalculoRetencoes(Faturamento aobjFaturamento)
        {
            PESSOA        l_Cliente   = _db.PESSOA.Find(aobjFaturamento.ClienteID);
            PessoaTomador lobjTomador = new PessoaTomador((enmTipoPessoaTrib)l_Cliente.TIPO_PESSOA_TRIBUTACAO.GetValueOrDefault((int)enmTipoPessoaTrib.eNaoPreenchido), l_Cliente.CIDADE);
            string        lstrTemp;

            aobjFaturamento.Retencoes = FaturamentoRetencoes.getRetencoes(aobjFaturamento.ValorBruto, aobjFaturamento.ValorMaoDeObra, aobjFaturamento.EmpresaEmissao, ref lobjTomador, out lstrTemp);
            return(View(aobjFaturamento));
        }
Пример #5
0
 public ActionResult Create(PESSOA pessoa)
 {
     if (ModelState.IsValid)
     {
         db.PESSOA.Add(pessoa);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pessoa));
 }
Пример #6
0
 private bool RealizarLogin(LoginModel model)
 {
     if (repositorioConta.VerificaDadosLogin(model.Email, model.Senha))
     {
         PESSOA usuario = repositorioConta.ProcuraUsuarioPorEmail(model.Email);
         Session["CPF_Usuario"] = usuario.CPF_PESSOA;
         return(true);
     }
     return(false);
 }
Пример #7
0
        public JsonResult ListaClientes(int id)
        {
            //    var projetoClientes = _db.CLIENTE_PROJETO.Where(cp => cp.SITUACAO == "A").Where(cp => cp.PROJETO == id).Select(cp => cp.CLIENTE).ToList();
            //     var clientes = _db.PESSOA.Where(p => p.CLIENTE == 1).Where(p => p.SITUACAO == "A").Where(p => projetoClientes.Contains(p.ID));

            var clientes = new PESSOA[0];


            return(Json(new SelectList(clientes.ToArray(), "ID", "RAZAO"), JsonRequestBehavior.AllowGet));
        }
Пример #8
0
 public ActionResult Edit([Bind(Include = "CPF_PESSOA,NOM_PESSOA,SNO_PESSOA,DNA_PESSOA,DCA_PESSOA,SEX_PESSOA,PAI_PESSOA,CID_PESSOA,BAI_PESSOA,END_PESSOA,NEN_PESSOA,CEP_PESSOA,TEL_PESSOA,TEM_PESSOA,RG_PESSOA,SEN_PESSOA,EMA_PESSOA,FPE_PESSOA")] PESSOA pESSOA)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pESSOA).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CPF_PESSOA = new SelectList(db.ALUNO, "CPF_ALUNO", "CPF_ALUNO", pESSOA.CPF_PESSOA);
     ViewBag.CPF_PESSOA = new SelectList(db.FUNCIONARIO, "CPF_PESSOA", "CTP_PESSOA", pESSOA.CPF_PESSOA);
     return(View(pESSOA));
 }
Пример #9
0
        public bool VerificaDadosLogin(string email, string senha)
        {
            PESSOA usuario = context.PESSOA.Where(x => x.EMA_PESSOA == email).SingleOrDefault();

            if (usuario != null)
            {
                if (usuario.SEN_PESSOA == senha)
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #10
0
        public async Task <ActionResult> Edit(PESSOA p)
        {
            if (Session.IsFuncionario())
            {
                if (ModelState.IsValid)
                {
                    _db.Configuration.ValidateOnSaveEnabled = false;

                    var entry = _db.Entry(p);

                    _db.PESSOA.Attach(p);

                    entry.Property(pp => pp.PROJETO).IsModified = true;
                    entry.Property(pp => pp.SALARIO).IsModified = true;

                    entry.Property(pp => pp.VALE_TRANSPORTE).IsModified  = true;
                    entry.Property(pp => pp.VALE_ALIMENTACAO).IsModified = true;

                    entry.Property(pp => pp.ESPECIALIDADE1).IsModified = true;
                    entry.Property(pp => pp.ESPECIALIDADE2).IsModified = true;
                    entry.Property(pp => pp.ESPECIALIDADE3).IsModified = true;

                    entry.Property(pp => pp.TIPO_ACESSO).IsModified = true;

                    await _db.SaveChangesAsync();

                    return(RedirectToAction("Index", "RecursosHumanos"));
                }

                ViewBag.PROJETO =
                    new SelectList(await _db.PROJETO.ToArrayAsync(), "ID", "DESCRICAO", p.PROJETO);


                var especialidades = await _db.ESPECIALIDADE.Where(ep => ep.SITUACAO == "A").ToArrayAsync();

                ViewBag.ESPECIALIDADE1 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE1);

                ViewBag.ESPECIALIDADE2 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE2);

                ViewBag.ESPECIALIDADE3 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE3);

                ViewBag.TIPO_ACESSO =
                    new SelectList(await _db.FUNCIONARIO_TIPO_ACESSO.ToArrayAsync(), "ID", "DESCRICAO", p.TIPO_ACESSO);

                return(View(p));
            }
            else
            {
                return(RedirectToAction("", ""));
            }
        }
Пример #11
0
        public PESSOA ListarPorCodigo(long codigo)
        {
            using (var entities = new DB_LaborSafetyEntities())
            {
                PESSOA pessoa = entities.PESSOA.Where(p => p.CodPessoa == codigo && p.Ativo).FirstOrDefault();

                if (pessoa == null)
                {
                    throw new KeyNotFoundException();
                }

                return(pessoa);
            }
        }
Пример #12
0
        // GET: PESSOAs/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PESSOA pESSOA = db.PESSOA.Find(id);

            if (pESSOA == null)
            {
                return(HttpNotFound());
            }
            return(View(pESSOA));
        }
Пример #13
0
        public PessoaModelo MapeamentoPessoa(PESSOA pessoa)
        {
            PessoaModelo pessoaModelo = new PessoaModelo()
            {
                CodPessoa = pessoa.CodPessoa,
                Matricula = pessoa.Matricula,
                Nome      = pessoa.Nome,
                CPF       = pessoa.CPF,
                Telefone  = pessoa.Telefone,
                Email     = pessoa.Email,
                Empresa   = pessoa.Empresa,
                Ativo     = pessoa.Ativo
            };

            return(pessoaModelo);
        }
Пример #14
0
        // GET: PESSOAs/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PESSOA pESSOA = db.PESSOA.Find(id);

            if (pESSOA == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CPF_PESSOA = new SelectList(db.ALUNO, "CPF_ALUNO", "CPF_ALUNO", pESSOA.CPF_PESSOA);
            ViewBag.CPF_PESSOA = new SelectList(db.FUNCIONARIO, "CPF_PESSOA", "CTP_PESSOA", pESSOA.CPF_PESSOA);
            return(View(pESSOA));
        }
Пример #15
0
        public PESSOA ListarPorCpf(string cpf)
        {
            using (var entities = new DB_LaborSafetyEntities())
            {
                PESSOA pessoa = entities.PESSOA
                                .Where(x => x.CPF == cpf && x.Ativo)
                                .FirstOrDefault();

                if (pessoa == null)
                {
                    throw new KeyNotFoundException();
                }

                return(pessoa);
            }
        }
Пример #16
0
        public ActionResult DadosClientePorCnpj(PESSOA aobjPessoaParam)
        {
            List <string> llistOutAlert = new List <string>();

            try
            {
                aobjPessoaParam            = Utils.getPessoaFromReceita_PMSP(aobjPessoaParam.NUM_DOC, ref llistOutAlert);
                aobjPessoaParam.NUM_DOC    = Utils.LimpaCpfCnpj(aobjPessoaParam.NUM_DOC);
                aobjPessoaParam.OBSERVACAO = string.Join(", ", llistOutAlert.ToArray());
            }
            catch (Exception Erro)
            {
                aobjPessoaParam.NOME = Erro.Message;
            }

            return(View(aobjPessoaParam));
        }
Пример #17
0
        public bool Salvar(PESSOA pessoa)
        {
            int salvo = 0;

            try
            {
                using (var ctx = new LEILAOEntities())
                {
                    ctx.PESSOA.Add(pessoa);
                    salvo = ctx.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(salvo > 0);
        }
Пример #18
0
        public PESSOA BuscaID(int ID)
        {
            PESSOA pes = new PESSOA();

            if (ID > 0)
            {
                using (var ctx = new LEILAOEntities())
                {
                    pes = ctx.PESSOA.FirstOrDefault(x => x.ID == ID);
                }
            }

            if (pes == null)
            {
                pes = new PESSOA();
            }

            return(pes);
        }
Пример #19
0
        public static bool IsTomadorPreenchidoCorretamente(PESSOA aobjPessoaTomador, ref List <string> alistMsgErro)
        {
            bool lblnRet = true;

            if (alistMsgErro == null)
            {
                alistMsgErro = new List <string>();
            }

            if (string.IsNullOrEmpty(aobjPessoaTomador.NOME))
            {
                alistMsgErro.Add("O nome do tomador não está preenchido");
                lblnRet = false;
            }

            if (string.IsNullOrEmpty(aobjPessoaTomador.NUM_DOC))
            {
                alistMsgErro.Add("O cpf/cnpj do tomador não está preenchido");
                lblnRet = false;
            }

            if (string.IsNullOrEmpty(aobjPessoaTomador.CIDADE))
            {
                alistMsgErro.Add("A cidade do tomador não está preenchido");
                lblnRet = false;
            }

            if (string.IsNullOrEmpty(aobjPessoaTomador.UF))
            {
                alistMsgErro.Add("O estado do tomador não está preenchido");
                lblnRet = false;
            }

            if (aobjPessoaTomador.TIPO_PESSOA_TRIBUTACAO == (int?)enmTipoPessoaTrib.eNaoPreenchido)
            {
                alistMsgErro.Add("A forma de tributação deste cliente não está preenchido, o sistema poderá calcular incorretamente as retenções");
                lblnRet = false;
            }

            return(lblnRet);
        }
Пример #20
0
        public void Editar(PessoaModelo pessoaModelo)
        {
            using (DB_LaborSafetyEntities entities = new DB_LaborSafetyEntities())
            {
                PESSOA pessoaExistente = entities.PESSOA.Where(p => p.CodPessoa == pessoaModelo.CodPessoa && p.Ativo).FirstOrDefault();

                if (pessoaExistente == null)
                {
                    throw new KeyNotFoundException();
                }

                pessoaExistente.CodPessoa = pessoaModelo.CodPessoa;
                pessoaExistente.Matricula = pessoaModelo.Matricula;
                pessoaExistente.Nome      = pessoaModelo.Nome;
                pessoaExistente.CPF       = pessoaModelo.CPF;
                pessoaExistente.Telefone  = pessoaModelo.Telefone;
                pessoaExistente.Email     = pessoaModelo.Email;
                pessoaExistente.Empresa   = pessoaModelo.Empresa;

                entities.SaveChanges();
            }
        }
Пример #21
0
        public ActionResult NovoCliente(string endereco, string email, string nome)
        {
            if (Session.IsFuncionario())
            {
                PESSOA cliente = new PESSOA()
                {
                    CLIENTE       = 1,
                    NOME          = nome.ToUpper(),
                    RAZAO         = nome.ToUpper(),
                    ENDERECO      = endereco.ToUpper(),
                    EMAIL         = email,
                    BAIRRO        = "",
                    TELEFONE1     = "",
                    TELEFONE2     = "",
                    TELEFONE3     = "",
                    NUM_DOC       = "",
                    CIDADE        = "",
                    INSC_ESTADUAL = "",
                    COMO_CONHECEU = 0,
                    CEP           = "",
                    COMPLEMENTO   = "",
                    OBSERVACAO    = "",
                    CONTATO       = "",
                    SITUACAO      = "A",
                    TIPO_DOC      = "J",
                    UF            = "",
                };

                _db.PESSOA.Add(cliente);

                _db.SaveChanges();

                return(Json(new { id = cliente.ID, nome = cliente.RAZAO }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(null);
            }
        }
Пример #22
0
        public async Task <ActionResult> Edit(int id = 0)
        {
            if (Session.IsFuncionario())
            {
                PESSOA p = _db.PESSOA.FirstOrDefault(pe => pe.ID == id);

                if (p == null)
                {
                    return(HttpNotFound());
                }


                ViewBag.PROJETO =
                    new SelectList(await _db.PROJETO.ToArrayAsync(), "ID", "DESCRICAO", p.PROJETO);

                ViewBag.TIPO_ACESSO =
                    new SelectList(await _db.FUNCIONARIO_TIPO_ACESSO.ToArrayAsync(), "ID", "DESCRICAO", p.TIPO_ACESSO);


                var especialidades = await _db.ESPECIALIDADE
                                     .Where(ep => ep.SITUACAO == "A")
                                     .OrderBy(ep => ep.DESCRICAO)
                                     .ToArrayAsync();

                ViewBag.ESPECIALIDADE1 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE1);

                ViewBag.ESPECIALIDADE2 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE2);

                ViewBag.ESPECIALIDADE3 = new SelectList(especialidades, "ID", "DESCRICAO", p.ESPECIALIDADE3);

                return(View(p));
            }
            else
            {
                return(RedirectToAction("", ""));
            }
        }
Пример #23
0
        public bool Editar(PESSOA pessoa)
        {
            int salvo = 0;

            try
            {
                if (pessoa.ID > 0)
                {
                    using (var ctx = new LEILAOEntities())
                    {
                        if (ctx.PESSOA.Any(x => x.ID == pessoa.ID))
                        {
                            ctx.PESSOA.Add(pessoa);
                            salvo = ctx.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(salvo > 0);
        }
Пример #24
0
        public GravarPessoaResponse GravarPessoa(GravarPessoaRequest request)
        {
            GravarPessoaResponse response = new GravarPessoaResponse();

            var transaction = data.Database.BeginTransaction();

            try
            {
                if (request == null)
                {
                    throw new Exception("O objeto request não foi preenchido.");
                }

                PESSOA pessoa = data.PESSOA.Where(whr => whr.ID == request.ID).FirstOrDefault();

                if (pessoa == null)
                {
                    pessoa = new PESSOA()
                    {
                        TipoPessoaID   = request.TipoPessoaID,
                        RazaoSocial    = request.RazaoSocial,
                        Nome           = request.Nome,
                        Email          = request.Email,
                        Senha          = request.Senha,
                        Cpf_Cnpj       = request.Cpf_Cnpj,
                        Telefone       = request.Telefone,
                        Celular        = request.Celular,
                        DataNascimento = request.DataNascimento,
                        DataCriacao    = DateTime.Now,
                        DataAlteracao  = DateTime.Now
                    };

                    data.Add(pessoa);
                    data.SaveChanges();
                }
                else
                {
                    pessoa.Nome           = request.Nome;
                    pessoa.DataNascimento = request.DataNascimento;
                    pessoa.Cpf_Cnpj       = request.Cpf_Cnpj;
                    pessoa.Email          = request.Email;
                    pessoa.Senha          = request.Senha;
                    pessoa.Telefone       = request.Telefone;
                    pessoa.Celular        = request.Celular;
                    pessoa.Senha          = request.Senha;
                    pessoa.DataNascimento = request.DataNascimento;
                    pessoa.DataAlteracao  = DateTime.Now;

                    data.Update(pessoa);
                    data.SaveChanges();
                }

                if (request.Enderecos != null)
                {
                    foreach (var item in request.Enderecos)
                    {
                        PESSOA_ENDERECO endereco = data.PESSOA_ENDERECO.Where(whr => whr.PessoaID == pessoa.ID).FirstOrDefault();

                        if (endereco == null)
                        {
                            endereco = new PESSOA_ENDERECO()
                            {
                                PessoaID         = pessoa.ID,
                                EnderecoCobranca = item.EnderecoCobranca,
                                Logradouro       = item.Logradouro,
                                Numero           = item.Numero,
                                Bairro           = item.Bairro,
                                CEP    = item.CEP,
                                Cidade = item.Cidade,
                                UF     = item.UF
                            };

                            data.Add(endereco);
                            data.SaveChanges();
                        }
                        else
                        {
                            endereco.Logradouro       = item.Logradouro;
                            endereco.EnderecoCobranca = item.EnderecoCobranca;
                            endereco.Numero           = item.Numero;
                            endereco.CEP    = item.CEP;
                            endereco.Bairro = item.Bairro;
                            endereco.Cidade = item.Cidade;
                            endereco.UF     = item.UF;


                            data.Update(endereco);
                            data.SaveChanges();
                        }
                    }
                }

                response.ID       = pessoa.ID;
                response.Sucesso  = true;
                response.Mensagem = "O Registro foi salvo com sucesso.";

                transaction.Commit();
            }
            catch (System.Exception err)
            {
                transaction.Rollback();
                response.Sucesso  = false;
                response.Mensagem = err.Message;
            }

            return(response);
        }
Пример #25
0
        public ActionResult Edit(PESSOA pessoa)
        {
            if (Session.IsFuncionario())
            {
                var existe = _db
                             .PESSOA
                             .Any(x => x.NUM_DOC == pessoa.NUM_DOC && x.ID != pessoa.ID);

                if (existe)
                {
                    ModelState.AddModelError(string.Empty, "Este documento já esta cadastrado para outro Fornecedor!");
                }

                if (pessoa.CLIENTE == 0 && pessoa.FUNCIONARIO == 0 && pessoa.FORNECEDOR == 0 && pessoa.TERCEIRO == 0)
                {
                    ModelState.AddModelError(string.Empty, "A pessoa deve ter pelo menos um tipo!");
                }

                if (pessoa.NUM_DOC.Length < 14)
                {
                    ModelState.AddModelError(string.Empty, "Informe um Número de Documento válido!");
                }

                if ((string.IsNullOrEmpty(pessoa.TELEFONE1)) && (string.IsNullOrEmpty(pessoa.TELEFONE2)) && (string.IsNullOrEmpty(pessoa.TELEFONE3)))
                {
                    ModelState.AddModelError(string.Empty, "Informe um pelo menos um número de telefone!");
                }

                if ((!string.IsNullOrEmpty(pessoa.TELEFONE1)) && (pessoa.TELEFONE1.Length != 14))
                {
                    ModelState.AddModelError(string.Empty, "Telefone Inválido!");
                }

                if ((!string.IsNullOrEmpty(pessoa.TELEFONE2)) && (pessoa.TELEFONE2.Length != 15))
                {
                    ModelState.AddModelError(string.Empty, "Celular Inválido!");
                }

                if ((!string.IsNullOrEmpty(pessoa.TELEFONE3)) && (pessoa.TELEFONE3.Length != 14))
                {
                    ModelState.AddModelError(string.Empty, "Tel. Contato Inválido!");
                }

                if (!ModelState.IsValid)
                {
                    return(View(pessoa));
                }

                switch (pessoa.NUM_DOC.Length)
                {
                case 18:
                    pessoa.TIPO_DOC = "J";
                    break;

                case 14:
                    pessoa.TIPO_DOC = "F";
                    break;
                }

                if (pessoa.TIPO_PESSOA_TRIBUTACAO == null || pessoa.TIPO_PESSOA_TRIBUTACAO == 0)
                {
                    pessoa.TIPO_PESSOA_TRIBUTACAO = Convert.ToInt32((pessoa.TIPO_DOC == "F" ? enmTipoPessoaTrib.ePF : enmTipoPessoaTrib.ePJ_Comum));
                }

                if (!string.IsNullOrEmpty(pessoa.RAZAO))
                {
                    pessoa.RAZAO = pessoa.RAZAO.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.NOME))
                {
                    pessoa.NOME = pessoa.NOME.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.ENDERECO))
                {
                    pessoa.ENDERECO = pessoa.ENDERECO.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.COMPLEMENTO))
                {
                    pessoa.COMPLEMENTO = pessoa.COMPLEMENTO.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.BAIRRO))
                {
                    pessoa.BAIRRO = pessoa.BAIRRO.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.CIDADE))
                {
                    pessoa.CIDADE = pessoa.CIDADE.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.UF))
                {
                    pessoa.UF = pessoa.UF.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.ZONA))
                {
                    pessoa.ZONA = pessoa.ZONA.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.CONTATO))
                {
                    pessoa.CONTATO = pessoa.CONTATO.ToUpper();
                }

                if (!string.IsNullOrEmpty(pessoa.OBSERVACAO))
                {
                    pessoa.OBSERVACAO = pessoa.OBSERVACAO.ToUpper();
                }


                _db.Configuration.ValidateOnSaveEnabled = false;

                _db.PESSOA.Attach(pessoa);

                var entry = _db.Entry(pessoa);

                entry.Property(p => p.NOME).IsModified        = true;
                entry.Property(p => p.NUM_DOC).IsModified     = true;
                entry.Property(p => p.TIPO_DOC).IsModified    = true;
                entry.Property(p => p.TELEFONE1).IsModified   = true;
                entry.Property(p => p.TELEFONE2).IsModified   = true;
                entry.Property(p => p.TELEFONE3).IsModified   = true;
                entry.Property(p => p.NOME).IsModified        = true;
                entry.Property(p => p.RAZAO).IsModified       = true;
                entry.Property(p => p.UF).IsModified          = true;
                entry.Property(p => p.ZONA).IsModified        = true;
                entry.Property(p => p.SITUACAO).IsModified    = true;
                entry.Property(p => p.RESPONSAVEL).IsModified = true;

                if (Session.IsAdministrador())
                {
                    entry.Property(p => p.ADMINISTRADOR).IsModified = true;
                }

                entry.Property(p => p.RESPONSAVEL).IsModified            = true;
                entry.Property(p => p.TERCEIRO).IsModified               = true;
                entry.Property(p => p.FUNCIONARIO).IsModified            = true;
                entry.Property(p => p.FORNECEDOR).IsModified             = true;
                entry.Property(p => p.CLIENTE).IsModified                = true;
                entry.Property(p => p.COMPLEMENTO).IsModified            = true;
                entry.Property(p => p.CEP).IsModified                    = true;
                entry.Property(p => p.ENDERECO).IsModified               = true;
                entry.Property(p => p.BAIRRO).IsModified                 = true;
                entry.Property(p => p.CIDADE).IsModified                 = true;
                entry.Property(p => p.CONTATO).IsModified                = true;
                entry.Property(p => p.EMAIL).IsModified                  = true;
                entry.Property(p => p.OBSERVACAO).IsModified             = true;
                entry.Property(p => p.TIPO_PESSOA_TRIBUTACAO).IsModified = true;

                try
                {
                    _db.SaveChanges();
                }
                catch (FileLoadException ex)
                {
                    DbUpdateException dbu = ex.InnerException.InnerException as DbUpdateException;

                    var builder = new StringBuilder("A DbUpdateException was caught while saving changes. ");

                    try
                    {
                        foreach (var result in dbu.Entries)
                        {
                            builder.AppendFormat("Type: {0} was part of the problem. ", result.Entity.GetType().Name);
                        }
                    }
                    catch (Exception e)
                    {
                        builder.Append("Error parsing DbUpdateException: " + e.ToString());
                    }

                    string message = builder.ToString();

                    throw new Exception(message, dbu);
                }

                return(RedirectToAction("Index", new { doc = pessoa.NUM_DOC }));
            }
            else
            {
                return(RedirectToAction("", ""));
            }
        }
Пример #26
0
        public ActionResult Create(PESSOA pessoa)
        {
            var existe = _db
                         .PESSOA
                         .Any(x => x.NUM_DOC == pessoa.NUM_DOC);

            if (existe)
            {
                ModelState.AddModelError(string.Empty, "Este documento já esta cadastrado para outro Fornecedor!");
            }

            if (pessoa.CLIENTE == 0 && pessoa.FUNCIONARIO == 0 && pessoa.FORNECEDOR == 0 && pessoa.TERCEIRO == 0)
            {
                ModelState.AddModelError(string.Empty, "A pessoa deve ter pelo menos um tipo!");
            }

            if (pessoa.NUM_DOC.Length < 14)
            {
                ModelState.AddModelError(string.Empty, "Informe um Número de Documento válido!");
            }

            if ((string.IsNullOrEmpty(pessoa.TELEFONE1)) && (string.IsNullOrEmpty(pessoa.TELEFONE2)) &&
                (string.IsNullOrEmpty(pessoa.TELEFONE3)))
            {
                ModelState.AddModelError(string.Empty, "Informe pelo menos um telefone para contato!");
            }

            if ((!string.IsNullOrEmpty(pessoa.TELEFONE1)) && (pessoa.TELEFONE1.Length != 14))
            {
                ModelState.AddModelError(string.Empty, "Telefone Inválido!");
            }

            if ((!string.IsNullOrEmpty(pessoa.TELEFONE2)) && (pessoa.TELEFONE2.Length != 15))
            {
                ModelState.AddModelError(string.Empty, "Celular Inválido!");
            }

            if ((!string.IsNullOrEmpty(pessoa.TELEFONE3)) && (pessoa.TELEFONE3.Length != 14))
            {
                ModelState.AddModelError(string.Empty, "Tel. Contato Inválido!");
            }

            if (!ModelState.IsValid)
            {
                ViewBag.COMO_CONHECEU = new SelectList(_db
                                                       .COMO_CONHECEU
                                                       .Where(c => c.SITUACAO == "A"), "ID", "DESCRICAO", pessoa.COMO_CONHECEU);

                return(View(pessoa));
            }

            switch (pessoa.NUM_DOC.Length)
            {
            case 18:
                pessoa.TIPO_DOC = "J";
                break;

            case 14:
                pessoa.TIPO_DOC = "F";
                break;
            }

            if (pessoa.TIPO_PESSOA_TRIBUTACAO == null || pessoa.TIPO_PESSOA_TRIBUTACAO == 0)
            {
                pessoa.TIPO_PESSOA_TRIBUTACAO = Convert.ToInt32((pessoa.TIPO_DOC == "F" ? enmTipoPessoaTrib.ePF : enmTipoPessoaTrib.ePJ_Comum));
            }

            if (!string.IsNullOrEmpty(pessoa.RAZAO))
            {
                pessoa.RAZAO = pessoa.RAZAO.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.NOME))
            {
                pessoa.NOME = pessoa.NOME.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.ENDERECO))
            {
                pessoa.ENDERECO = pessoa.ENDERECO.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.COMPLEMENTO))
            {
                pessoa.COMPLEMENTO = pessoa.COMPLEMENTO.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.BAIRRO))
            {
                pessoa.BAIRRO = pessoa.BAIRRO.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.CIDADE))
            {
                pessoa.CIDADE = pessoa.CIDADE.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.UF))
            {
                pessoa.UF = pessoa.UF.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.ZONA))
            {
                pessoa.ZONA = pessoa.ZONA.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.CONTATO))
            {
                pessoa.CONTATO = pessoa.CONTATO.ToUpper();
            }

            if (!string.IsNullOrEmpty(pessoa.OBSERVACAO))
            {
                pessoa.OBSERVACAO = pessoa.OBSERVACAO.ToUpper();
            }

            _db.PESSOA.Add(pessoa);
            _db.SaveChanges();

            /*
             * if (pessoa.IS_CLIENTE && pessoa.QUANTIDADE_LOJAS > 0)
             * {
             *  for (Int32 it = 0; it < pessoa.QUANTIDADE_LOJAS; ++it)
             *  {
             *      LOJA loja = new LOJA()
             *      {
             *          CLIENTE = pessoa.ID,
             *          DESCRICAO = it.ToString(),
             *          BAIRRO = "",
             *          CEP = "",
             *          CIDADE = "",
             *          EMAIL = "",
             *          FATURAR_EM = "",
             *          CONTATO = "",
             *          COMPLEMENTO = "",
             *          SITUACAO = "A",
             *          TELEFONE2 = "",
             *          TELEFONE1 = "",
             *          TELEFONE3 = "",
             *          ZONA = "",
             *          UF = "",
             *          ENDERECO = "",
             *          NUM_DOC = "",
             *          OBSERVACAO = "",
             *          APELIDO="",
             *      };
             *
             *      _db.LOJA.Add(loja);
             *  }
             * }
             */

            _db.SaveChanges();

            return(RedirectToAction("Index", new { doc = pessoa.NUM_DOC }));
        }
Пример #27
0
        public ActionResult DadosClientePorCnpj()
        {
            PESSOA lobjPessoa = new PESSOA();

            return(View(lobjPessoa));
        }
Пример #28
0
        public static XmlNode GetXmlRPS(XmlDocument aobjXmlDoc, Empresa aobjEmpresaPrestador, X509Certificate2 aobjCertificado, Faturamento aobjFaturamento)
        {
            try
            {
                string  lstrTipoDocto;
                string  lstrStringAssinatura;
                string  lstrIndicadorTomador;
                string  lstrDescrRetencoes       = string.Empty;
                string  lstrCodIbgeCidadeTomador = string.Empty;
                decimal ldecValorCargaTributaria = 0;

                if (aobjFaturamento.ServicoPMSP == null)
                {
                    aobjFaturamento.ServicoPMSP = new ServicoPMSP();
                }

                aobjFaturamento.ServicoPMSP.Codigo = aobjEmpresaPrestador.ServicoPMSP.Codigo;

                PESSOA l_Cliente = _db.PESSOA.Find(aobjFaturamento.ClienteID);

                if (string.IsNullOrEmpty(l_Cliente.NUM_DOC))
                {
                    if (l_Cliente.ID == 0)
                    {
                        throw new Exception("Não foi informado um cliente para a RPS " + aobjFaturamento.NumeroRPS.ToString());
                    }
                }

                if (string.IsNullOrEmpty(l_Cliente.CIDADE) == false)
                {
                    lstrCodIbgeCidadeTomador = MunicipioHelper.getCodigoIbgeFromCidade(Utils.removerAcentos(l_Cliente.CIDADE));

                    if (string.IsNullOrEmpty(lstrCodIbgeCidadeTomador))
                    {
                        throw new Exception("A cidade '" + l_Cliente.CIDADE + "' não está cadastrada no cadastro de cidades. Por favor verifique se o nome da cidade está correto, e caso esteja, favor consulte ao analista responsável");
                    }
                }
                else
                {
                    throw new Exception("É necessário informar uma cidade para o cliente código " + l_Cliente.ID.ToString());
                }

                l_Cliente.NUM_DOC = l_Cliente.NUM_DOC.Replace(".", "").Replace("/", "").Replace("-", "").Trim();

                if (l_Cliente.NUM_DOC.Length == 11)
                {
                    lstrTipoDocto        = "CPF";
                    lstrIndicadorTomador = "1";
                }
                else if (l_Cliente.NUM_DOC.Length == 14)
                {
                    lstrTipoDocto        = "CNPJ";
                    lstrIndicadorTomador = "2";
                }
                else
                {
                    lstrTipoDocto        = "";
                    lstrIndicadorTomador = "3";
                }

                aobjFaturamento.ServicoPMSP.Aliquota = getAliquotaRetencao(enmTipoImposto.eISS, aobjFaturamento) / 100;

                XmlNode lobjXmlRPS = aobjXmlDoc.CreateElement("RPS");
                lobjXmlRPS.Attributes.Append(aobjXmlDoc.CreateAttribute("xmlns"));

                XmlNode lobjXmlAssinatura = aobjXmlDoc.CreateElement("Assinatura");
                XmlNode lobjXmChaveRPS    = aobjXmlDoc.CreateElement("ChaveRPS");

                XmlNode lobjXmlInscrPrest = aobjXmlDoc.CreateElement("InscricaoPrestador");
                XmlNode lobjXmlSerieRPS   = aobjXmlDoc.CreateElement("SerieRPS");
                XmlNode lobjXmlNumeroRPS  = aobjXmlDoc.CreateElement("NumeroRPS");

                lobjXmlInscrPrest.InnerText = aobjEmpresaPrestador.CcmPmsp;
                lobjXmChaveRPS.AppendChild(lobjXmlInscrPrest);
                lobjXmlSerieRPS.InnerText = aobjFaturamento.SerieRPS;
                lobjXmChaveRPS.AppendChild(lobjXmlSerieRPS);
                lobjXmlNumeroRPS.InnerText = aobjFaturamento.NumeroRPS.ToString();
                lobjXmChaveRPS.AppendChild(lobjXmlNumeroRPS);

                XmlNode lobjXmlTipoRPS                = aobjXmlDoc.CreateElement("TipoRPS");
                XmlNode lobjXmlDataEmissao            = aobjXmlDoc.CreateElement("DataEmissao");
                XmlNode lobjXmlStatusEmissao          = aobjXmlDoc.CreateElement("StatusRPS");
                XmlNode lobjXmlTributacao             = aobjXmlDoc.CreateElement("TributacaoRPS");
                XmlNode lobjXmlValorServico           = aobjXmlDoc.CreateElement("ValorServicos");
                XmlNode lobjXmlValorDeducoes          = aobjXmlDoc.CreateElement("ValorDeducoes");
                XmlNode lobjXmlValorPIS               = aobjXmlDoc.CreateElement("ValorPIS");
                XmlNode lobjXmlValorCOFINS            = aobjXmlDoc.CreateElement("ValorCOFINS");
                XmlNode lobjXmlValorINSS              = aobjXmlDoc.CreateElement("ValorINSS");
                XmlNode lobjXmlValorIR                = aobjXmlDoc.CreateElement("ValorIR");
                XmlNode lobjXmlValorCSLL              = aobjXmlDoc.CreateElement("ValorCSLL");
                XmlNode lobjXmlCodigoServico          = aobjXmlDoc.CreateElement("CodigoServico");
                XmlNode lobjXmlAliquotaISS            = aobjXmlDoc.CreateElement("AliquotaServicos");
                XmlNode lobjXmlISSRetido              = aobjXmlDoc.CreateElement("ISSRetido");
                XmlNode lobjXmlCpfCnpjTomador         = null;
                XmlNode lobjNoXmlCcmTomador           = aobjXmlDoc.CreateElement("InscricaoMunicipalTomador"); //NAO PREENCHIDO
                XmlNode lobjNoXmlInscrEstadualTomador = aobjXmlDoc.CreateElement("InscricaoEstadualTomador");  //NAO PRENECHIDO
                XmlNode lobjXmlRazaoTomador           = aobjXmlDoc.CreateElement("RazaoSocialTomador");
                XmlNode lobjXmlEmail             = aobjXmlDoc.CreateElement("EmailTomador");
                XmlNode lobjXmlDiscrimicacaoServ = aobjXmlDoc.CreateElement("Discriminacao");
                XmlNode lobjXmlCargaTribValor    = aobjXmlDoc.CreateElement("ValorCargaTributaria");
                XmlNode lobjXmlCargaTribPercent  = aobjXmlDoc.CreateElement("PercentualCargaTributaria");
                XmlNode lobjXmlCargaTribFonte    = aobjXmlDoc.CreateElement("FonteCargaTributaria");

                if (aobjFaturamento.DataEmissao.HasValue == false)
                {
                    aobjFaturamento.DataEmissao = DateTime.Now.Date;
                }

                lobjXmlTipoRPS.InnerText       = "RPS";
                lobjXmlDataEmissao.InnerText   = aobjFaturamento.DataEmissao.Value.ToString("yyyy-MM-dd");
                lobjXmlStatusEmissao.InnerText = "N";
                lobjXmlTributacao.InnerText    = "T";
                lobjXmlValorServico.InnerText  = aobjFaturamento.ValorBruto.ToString("######0.00").Replace(",", ".");
                lobjXmlValorDeducoes.InnerText = getValorRetencao(enmTipoImposto.eNaoDefinido, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlValorPIS.InnerText      = getValorRetencao(enmTipoImposto.ePis, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlValorCOFINS.InnerText   = getValorRetencao(enmTipoImposto.eCofins, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlValorINSS.InnerText     = getValorRetencao(enmTipoImposto.eINSS, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlValorIR.InnerText       = getValorRetencao(enmTipoImposto.eImpostodeRenda, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlValorCSLL.InnerText     = getValorRetencao(enmTipoImposto.eCSLL, aobjFaturamento).ToString("######0.00").Replace(",", ".");
                lobjXmlCodigoServico.InnerText = Convert.ToInt32(aobjFaturamento.ServicoPMSP.Codigo).ToString("00000");
                lobjXmlAliquotaISS.InnerText   = aobjFaturamento.ServicoPMSP.Aliquota.GetValueOrDefault(0).ToString("##0.00").Replace(",", ".");
                lobjXmlISSRetido.InnerText     = (getValorRetencao(enmTipoImposto.eISS, aobjFaturamento) > 0) ? "true" : "false";

                if (lstrTipoDocto != string.Empty)
                {
                    lobjXmlCpfCnpjTomador = aobjXmlDoc.CreateElement("CPFCNPJTomador");
                    XmlNode lobjXmlCpfCnpj = aobjXmlDoc.CreateElement(lstrTipoDocto);
                    lobjXmlCpfCnpj.InnerText = l_Cliente.NUM_DOC;
                    lobjXmlCpfCnpjTomador.AppendChild(lobjXmlCpfCnpj);
                }

                lobjNoXmlInscrEstadualTomador.InnerText = Utils.TrataNullString(l_Cliente.INSC_ESTADUAL);
                lobjXmlRazaoTomador.InnerText           = l_Cliente.NOME;
                lobjXmlEmail.InnerText = Utils.TrataNullString(l_Cliente.EMAIL);

                XmlNode lobjXmlEndTomador           = aobjXmlDoc.CreateElement("EnderecoTomador");
                XmlNode lobjXmlEndTomadorTipoLog    = aobjXmlDoc.CreateElement("TipoLogradouro");
                XmlNode lobjXmlEndTomadorLogradouro = aobjXmlDoc.CreateElement("Logradouro");
                lobjXmlEndTomadorLogradouro.InnerText = l_Cliente.ENDERECO;
                XmlNode lobjXmlEndTomadorNumero = aobjXmlDoc.CreateElement("NumeroEndereco");
                XmlNode lobjXmlEndTomadorCompl  = aobjXmlDoc.CreateElement("ComplementoEndereco");
                XmlNode lobjXmlEndTomadorBairro = aobjXmlDoc.CreateElement("Bairro");
                XmlNode lobjXmlEndTomadorCidade = aobjXmlDoc.CreateElement("Cidade");
                lobjXmlEndTomadorCidade.InnerText = lstrCodIbgeCidadeTomador;
                XmlNode lobjXmlEndTomadorUF = aobjXmlDoc.CreateElement("UF");
                lobjXmlEndTomadorUF.InnerText = l_Cliente.UF;
                XmlNode lobjXmlEndTomadorCEP = aobjXmlDoc.CreateElement("CEP");
                lobjXmlEndTomadorCEP.InnerText = l_Cliente.CEP.Replace("-", "").Trim();

                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorTipoLog);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorLogradouro);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorNumero);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorCompl);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorBairro);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorCidade);
                lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorUF);
                if (lobjXmlEndTomadorCEP.InnerText != string.Empty)
                {
                    lobjXmlEndTomador.AppendChild(lobjXmlEndTomadorCEP);
                }
                //XmlNode lobjXmlEmail = aobjXmlDoc.CreateElement("EmailTomador");
                //lobjXmlEmail.InnerText = " ";


                lobjXmlDiscrimicacaoServ.InnerText = aobjFaturamento.Descricao;

                /*
                 * if ((ValorRetencaoIR > 0) || (ValorRetencaoPisCofinsCSLL > 0))
                 * {
                 *  lstrDescrRetencoes = lstrDescrRetencoes + "|RETENÇÕES:";
                 *
                 *  if (ValorRetencaoIR > 0)
                 *      lstrDescrRetencoes = lstrDescrRetencoes + "|\tIMPOSTO DE RENDA:" + FraUtils.Utils.getFormattedValueToDB(ValorRetencaoIR);
                 *
                 *  if (ValorRetencaoPisCofinsCSLL > 0)
                 *      lstrDescrRetencoes = lstrDescrRetencoes + "|\tPIS/COFINS/CSLL:" + FraUtils.Utils.getFormattedValueToDB(ValorRetencaoPisCofinsCSLL);
                 *
                 * }
                 */

                if (aobjEmpresaPrestador.PercentualCargaTributaria > 0)
                {
                    lobjXmlCargaTribFonte.InnerText   = aobjEmpresaPrestador.FonteCargaTrib;
                    lobjXmlCargaTribPercent.InnerText = aobjEmpresaPrestador.PercentualCargaTributaria.GetValueOrDefault(0).ToString("##0.00").Replace(",", ".");
                    ldecValorCargaTributaria          = Math.Round((aobjFaturamento.ValorBruto * aobjEmpresaPrestador.PercentualCargaTributaria.GetValueOrDefault(0)) / 100, 2);
                    lobjXmlCargaTribValor.InnerText   = ldecValorCargaTributaria.ToString("##0.00").Replace(",", ".");
                }

                lstrStringAssinatura = aobjEmpresaPrestador.CcmPmsp.PadLeft(8, '0') +
                                       aobjFaturamento.SerieRPS.PadRight(5) +
                                       aobjFaturamento.NumeroRPS.ToString().PadLeft(12, '0') +
                                       aobjFaturamento.DataEmissao.Value.ToString("yyyyMMdd") +
                                       lobjXmlTributacao.InnerText +
                                       lobjXmlStatusEmissao.InnerText +
                                       ((lobjXmlISSRetido.InnerText) == "true" ? "S" : "N") +
                                       Convert.ToInt32(aobjFaturamento.ValorBruto * 100).ToString().PadLeft(15, '0') +
                                       Convert.ToInt32(getValorRetencao(enmTipoImposto.eNaoDefinido, aobjFaturamento) * 100).ToString().PadLeft(15, '0') +
                                       aobjFaturamento.ServicoPMSP.Codigo.ToString().PadLeft(5, '0') +
                                       lstrIndicadorTomador +
                                       l_Cliente.NUM_DOC.PadLeft(14, '0');

                if (lstrStringAssinatura.Length != 86)
                {
                    throw new Exception("A string de assinatura deve ter 86 caracteres, favor verifique o metodo FaturamentoNota.GetXmlRPS");
                }

                lobjXmlAssinatura.InnerText = Certificado.getAssinatura(lstrStringAssinatura, aobjCertificado);

                lobjXmlRPS.AppendChild(lobjXmlAssinatura);
                if (lobjXmChaveRPS != null)
                {
                    lobjXmlRPS.AppendChild(lobjXmChaveRPS);
                }
                if (lobjXmlTipoRPS != null)
                {
                    lobjXmlRPS.AppendChild(lobjXmlTipoRPS);
                }

                lobjXmlRPS.AppendChild(lobjXmlDataEmissao);
                lobjXmlRPS.AppendChild(lobjXmlStatusEmissao);
                lobjXmlRPS.AppendChild(lobjXmlTributacao);
                lobjXmlRPS.AppendChild(lobjXmlValorServico);
                lobjXmlRPS.AppendChild(lobjXmlValorDeducoes);
                lobjXmlRPS.AppendChild(lobjXmlValorPIS);
                lobjXmlRPS.AppendChild(lobjXmlValorCOFINS);
                lobjXmlRPS.AppendChild(lobjXmlValorINSS);
                lobjXmlRPS.AppendChild(lobjXmlValorIR);
                lobjXmlRPS.AppendChild(lobjXmlValorCSLL);
                lobjXmlRPS.AppendChild(lobjXmlCodigoServico);
                lobjXmlRPS.AppendChild(lobjXmlAliquotaISS);
                lobjXmlRPS.AppendChild(lobjXmlISSRetido);
                if (lobjXmlCpfCnpjTomador != null)
                {
                    lobjXmlRPS.AppendChild(lobjXmlCpfCnpjTomador);
                }
                if (lobjNoXmlCcmTomador.InnerText != string.Empty)
                {
                    lobjXmlRPS.AppendChild(lobjNoXmlCcmTomador);
                }
                if (lobjNoXmlInscrEstadualTomador.InnerText != string.Empty)
                {
                    lobjXmlRPS.AppendChild(lobjNoXmlInscrEstadualTomador);
                }
                lobjXmlRPS.AppendChild(lobjXmlRazaoTomador);
                lobjXmlRPS.AppendChild(lobjXmlEndTomador);
                if (lobjXmlEmail.InnerText != string.Empty)
                {
                    lobjXmlRPS.AppendChild(lobjXmlEmail);
                }
                lobjXmlRPS.AppendChild(lobjXmlDiscrimicacaoServ);

                if (ldecValorCargaTributaria > 0)
                {
                    lobjXmlRPS.AppendChild(lobjXmlCargaTribValor);
                    lobjXmlRPS.AppendChild(lobjXmlCargaTribPercent);
                    lobjXmlRPS.AppendChild(lobjXmlCargaTribFonte);
                }
                return(lobjXmlRPS);
            }
            catch (Exception Erro)
            {
                throw Erro;
            }
        }
Пример #29
0
        //public static PESSOA getPessoaFromReceita_PMSP(string astrCpfCnpj, out string astrOutAlert)
        public static PESSOA getPessoaFromReceita_PMSP(string astrCpfCnpj, ref List <string> alistOutAlert)
        {
            PESSOA lobjPessoaRet = new PESSOA();

            if (alistOutAlert == null)
            {
                alistOutAlert = new List <string>();
            }
            try
            {
                string lstrTipo;
                if (string.IsNullOrEmpty(astrCpfCnpj) == false)
                {
                    astrCpfCnpj = Utils.LimpaCpfCnpj(astrCpfCnpj);
                    switch (astrCpfCnpj.Length)
                    {
                    case 11:
                        lstrTipo = "F";
                        break;

                    case 14:
                        lstrTipo = "J";
                        break;

                    default:
                        throw new Exception("O documento deve ter 11 dígitos (CPF) ou 14 dígitos (CNPJ)");
                    }

                    if (lstrTipo == "J")
                    {
                        DadosFromReceitaWs lobjDados = DadosFromReceitaWs.getDados(astrCpfCnpj);

                        if (lobjDados.status != "OK")
                        {
                            throw new Exception(lobjDados.message);
                        }

                        if (lobjDados.situacao != "ATIVA")
                        {
                            alistOutAlert.Add("ESTE CNPJ NÃO ESTÁ ATVO NA RECEITA FEDERAL");
                        }

                        lobjPessoaRet.BAIRRO    = lobjDados.bairro;
                        lobjPessoaRet.CEP       = lobjDados.cep;
                        lobjPessoaRet.CIDADE    = lobjDados.municipio;
                        lobjPessoaRet.EMAIL     = lobjDados.email;
                        lobjPessoaRet.ENDERECO  = lobjDados.getEnderecoCompleto();
                        lobjPessoaRet.NOME      = lobjDados.nome;
                        lobjPessoaRet.NUM_DOC   = lobjDados.cnpj;
                        lobjPessoaRet.TELEFONE1 = lobjDados.telefone;
                        lobjPessoaRet.UF        = lobjDados.uf;
                        lobjPessoaRet.TIPO_DOC  = "CNPJ";
                        lobjPessoaRet.NUM_DOC   = lobjDados.cnpj;
                    }

                    ListResultadoCcm lobjResultCcm = new ListResultadoCcm();
                    try
                    {
                        lobjResultCcm = ListResultadoCcm.getDadosFromPMSPByCpfCnpj(Utils.LimpaCpfCnpj(astrCpfCnpj));
                    }
                    catch (Exception ErroPmsp)
                    {
                        alistOutAlert.Add("Não foi possível obter os dados do site da prefeitura pelo seguinte motivo : " + ErroPmsp.Message);
                    }

                    if (lobjResultCcm.getIndexCadastroOK > -1)
                    {
                        CadastroPessoaPMSP cad = lobjResultCcm.Cadastros[lobjResultCcm.getIndexCadastroOK];

                        if (lstrTipo == "F")
                        {
                            lobjPessoaRet.BAIRRO    = cad.Bairro;
                            lobjPessoaRet.CEP       = cad.Cep;
                            lobjPessoaRet.CIDADE    = cad.CidadeSite;
                            lobjPessoaRet.ENDERECO  = cad.EnderecoSite;
                            lobjPessoaRet.NOME      = cad.RazaoSocial;
                            lobjPessoaRet.TELEFONE1 = cad.Telefone;
                            lobjPessoaRet.UF        = cad.Bairro;
                            lobjPessoaRet.TIPO_DOC  = "CPF";
                            lobjPessoaRet.NUM_DOC   = cad.CpfCnpj;
                        }

                        if (cad.SituacaoCcm == enmSituacaoCcm.eCcmEncontrado)
                        {
                            lobjPessoaRet.INSC_MUNICIPAL = cad.CcmSite;
                        }
                        else if (cad.SituacaoCcm == enmSituacaoCcm.eCcmCancelado)
                        {
                            alistOutAlert.Add("CCM CANCELADO NA PREFEITURA DE SAO PAULO");
                        }

                        switch (cad.TipoPessoa.Trim())
                        {
                        case "PJ SIMPLES":
                            lobjPessoaRet.TIPO_PESSOA_TRIBUTACAO = (int?)enmTipoPessoaTrib.ePJ_OptanteSimples;
                            break;

                        case "PJ COMUM":
                            lobjPessoaRet.TIPO_PESSOA_TRIBUTACAO = (int?)enmTipoPessoaTrib.ePJ_Comum;
                            break;

                        case "PJ":
                            lobjPessoaRet.TIPO_PESSOA_TRIBUTACAO = (int?)enmTipoPessoaTrib.ePF;
                            break;

                        case "PJ MEI":
                            lobjPessoaRet.TIPO_PESSOA_TRIBUTACAO = (int?)enmTipoPessoaTrib.ePJ_Mei;
                            break;

                        default:
                            break;
                        }
                    }
                    else if (lstrTipo == "F")
                    {
                        //throw new Exception("Este cadastro não foi encontrado no site da prefeitura de São Paulo pelo CPF informado");
                    }
                }
            }
            catch (Exception Erro)
            {
                throw Erro;
            }

            return(lobjPessoaRet);
        }