Exemplo n.º 1
0
        public EmpresaVM ConsultaRUC(string RUC)
        {
            EmpresaVM empresa = new EmpresaVM();

            try
            {
                try
                {
                    ServiceATU.Servicio_ATU servicio = new ServiceATU.Servicio_ATU();
                    var consultaRuc = servicio.ConsultaRUC(new ServiceATU.Usuario()
                    {
                        USULOG = "sissit", USUCON = "p4_tu_l1br0"
                    }, RUC);
                    empresa.RUC          = consultaRuc.ddp_numruc;
                    empresa.RAZON_SOCIAL = consultaRuc.ddp_nombre;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(empresa);
        }
Exemplo n.º 2
0
        public EmpresaVM CrearEmpresaSTD(EmpresaVM empresa)
        {
            EmpresaVM modelo = new EmpresaVM();

            Servicio_STD.Servicio_STD servicio = new Servicio_STD.Servicio_STD();
            try
            {
                var resultadoSUNAT = servicio.AgregarProveedor(new Servicio_STD.Usuario()
                {
                    USULOG = "sissit", USUCON = "p4_tu_l1br0"
                }, new Servicio_STD.Proveedor()
                {
                    RAZON_SOCIAL = empresa.RAZON_SOCIAL,
                    RUC          = empresa.RUC,
                    CODPAIS      = 173,
                    CODDPTO      = 15,
                    CODPROV      = 1,
                    CODDIST      = 1,
                    DIRECCION    = "S/N",
                    IDPERTIP     = 1
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(modelo);
        }
Exemplo n.º 3
0
        public EmpresaVM ConsultaRuc(string RUC)
        {
            EmpresaVM empresa = new EmpresaVM();

            try
            {
                EmpresaVM resultadoSUNAT = new EmpresaVM();

                resultadoSUNAT = EmpresaDAL.ConsultarEmpresa(RUC);
                if (resultadoSUNAT.ResultadoProcedimientoVM.CodResultado != 1)
                {
                    resultadoSUNAT = EmpresaDAL.ConsultaRuc(RUC);
                }

                empresa = EmpresaDAL.BuscaEmpresaSTD(RUC);

                if (empresa.ID_EMPRESA == 0)
                {
                    EmpresaDAL.CrearEmpresaSTD(resultadoSUNAT);
                    empresa = EmpresaDAL.BuscaEmpresaSTD(RUC);
                }
                empresa.RUC          = resultadoSUNAT.RUC;
                empresa.RAZON_SOCIAL = resultadoSUNAT.RAZON_SOCIAL;
                if (resultadoSUNAT.FECHA_VENCIMIENTO_EXPEDIENTE != null)
                {
                    empresa.FECHA_VENCIMIENTO_EXPEDIENTE = resultadoSUNAT.FECHA_VENCIMIENTO_EXPEDIENTE;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(empresa);
        }
Exemplo n.º 4
0
        public ActionResult Edit(int id)
        {
            var find = _db.Empresas.Find(id);

            if (find == null)
            {
                throw new Exception("Empresa não existe!");
            }

            var empresa = new EmpresaVM
            {
                ID           = find.ID,
                RazaoSocial  = find.Nome,
                NomeFantasia = find.NomeFantasia,
                CNPJ         = find.CNPJ,
                WebSite      = find.WebSite,
                Contatos     = find.Contatos.Select(d => new ContatoVM
                {
                    ID       = d.ID,
                    Nome     = d.Nome,
                    Telefone = d.Telefone,
                    Celular  = d.Celular,
                    Email    = d.Email
                }).ToList()
            };

            return(View("AddEdit", empresa));
        }
Exemplo n.º 5
0
        public bool gravar(EmpresaVM emp)
        {
            Endereco end = new Endereco()
            {
                bairro      = emp.bairro,
                cep         = emp.cep,
                cidade      = new Cidade().getCidade(emp.cidade),
                complemento = emp.complemento,
                id          = emp.idEndereco,
                numero      = emp.numero,
                referencia  = emp.referencia,
                rua         = emp.rua
            };
            Empresa e = new Empresa()
            {
                id            = emp.id,
                cnpj          = emp.cnpj,
                endereco      = end,
                inscEstadual  = emp.inscEstadual,
                inscMunicipal = emp.inscMunicipal,
                layout        = emp.layout,
                logo          = emp.logo,
                nomeFantasia  = emp.nomeFantasia,
                razaoSocial   = emp.razaoSocial,
                telefone1     = emp.telefone1,
                telefone2     = emp.telefone2
            };

            return(e.gravar());
        }
        public ActionResult Editar(int id)
        {
            try
            {
                var       empresa = empresaDal.ListarPorId(id);
                EmpresaVM model   = new EmpresaVM();

                model.IdEmpresa     = empresa.IdEmpresa;
                model.URL           = empresa.URL;
                model.CNPJ          = empresa.CNPJ;
                model.DiaVencimento = empresa.DiaVencimento;
                model.Ativa         = empresa.Ativa;
                model.Observacoes   = empresa.Observacoes;
                model.Nome          = empresa.Nome;
                model.Email         = empresa.Email;
                model.CEP           = empresa.CEP;
                model.Logradouro    = empresa.Logradouro;
                model.Bairro        = empresa.Bairro;
                model.Cidade        = empresa.Cidade;
                model.Estado        = empresa.Estado;
                model.Telefone1     = empresa.Telefone1;
                model.Telefone2     = empresa.Telefone2;
                model.DataCadastro  = empresa.DataCadastro;

                ListarEstado();

                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public IActionResult Persistir([FromBody] EmpresaVM empresaVM)
        {
            if (empresaVM.Id == 0)
            {
                var empresaPrestador = Mapper.Map <EmpresaPrestador>(empresaVM);
                empresaPrestador.Empresa.Usuario = _variables.UsuarioToken;
                empresaPrestador.Empresa.Ativo   = true;
                var empresaDB = _empresaPrestadorService.Adicionar(empresaPrestador);
                empresaVM.Id         = empresaDB.Id;
                empresaVM.IdEndereco = empresaDB.IdEndereco;
                var empresa   = Mapper.Map <Empresa>(empresaVM);
                var prestador = _prestadorService.BuscarPorId(empresaVM.IdPrestador);
                _empresaService.AdicionarEmpresaDoPrestadorEAcesso(empresa, prestador.CodEacessoLegado.Value, prestador);
            }
            else
            {
                var empresa = Mapper.Map <Empresa>(empresaVM);
                CriarVinculoEmpresaPrestador(empresaVM, empresa);
                _empresaService.AtualizarEmpresaPrestador(empresa);
                _empresaService.AtualizarEmpresaDoPrestadorEAcesso(empresa, empresaVM.IdPrestador);
            }

            IntegrarComRM(empresaVM);

            empresaVM = Mapper.Map <EmpresaVM>(_empresaService.BuscarPorId(empresaVM.Id));

            return(Ok(empresaVM));
        }
Exemplo n.º 8
0
        public EmpresaVM ConsultaRUC2(string RUC)
        {
            var       TARGETURL = "https://api.aate.gob.pe/sunat/getDatosPrincipales/" + RUC;
            EmpresaVM empresa   = new EmpresaVM();

            try
            {
                HttpClient client    = new HttpClient();
                var        byteArray = Encoding.ASCII.GetBytes("PIDE:sisacse2019Aate");
                client.Timeout = TimeSpan.FromSeconds(5);
                client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
                //https://stackoverflow.com/questions/22628087/calling-async-method-synchronously/22629216
                HttpResponseMessage response = client.GetAsync(TARGETURL).Result;
                HttpContent         content  = response.Content;
                string jsonResult            = content.ReadAsStringAsync().Result;
                var    resultado             = JsonConvert.DeserializeObject <EmpresaVM>(jsonResult);

                empresa.RUC          = resultado.ddp_numruc;
                empresa.RAZON_SOCIAL = resultado.ddp_nombre;
            }
            catch (Exception ex)
            {
            }
            return(empresa);
        }
Exemplo n.º 9
0
        public IActionResult NovaEmpresa(EmpresaVM empresa)
        {
            var empresaEntity = _mapper.Map <Empresa>(empresa);

            _empresaService.Add(empresaEntity);
            ViewBag.message = "Empresa cadastrada com sucesso!";
            return(RedirectToAction("Index"));
        }
Exemplo n.º 10
0
        public EmpresaVM CrearEmpresaSTD(EmpresaVM empresa)
        {
            EmpresaVM    modelo = new EmpresaVM();
            SunatService obj    = new SunatService();

            modelo = obj.CrearEmpresaSTD(empresa);
            return(modelo);
        }
Exemplo n.º 11
0
        public EmpresaVM ConsultaRuc(string RUC)
        {
            EmpresaVM    empresa = new EmpresaVM();
            SunatService obj     = new SunatService();

            empresa = obj.ConsultaRUC2(RUC);
            return(empresa);
        }
Exemplo n.º 12
0
        public EmpresaVM BuscaEmpresaSTD(string RUC)
        {
            EmpresaVM    empresa = new EmpresaVM();
            SunatService obj     = new SunatService();

            empresa = obj.BuscaEmpresaSTD(RUC);
            return(empresa);
        }
        public async Task <IActionResult> Update([FromBody] EmpresaVM empresa)
        {
            if (string.IsNullOrWhiteSpace(empresa.CNPJ))
            {
                return(BadRequest());
            }

            try
            {
                var model = await _repo.GetById(empresa.Id);

                if (model == null)
                {
                    return(NoContent());
                }

                if (!string.IsNullOrWhiteSpace(empresa.NomeFantasia))
                {
                    model.NomeFantasia = empresa.NomeFantasia;
                }
                if (!string.IsNullOrWhiteSpace(empresa.CNPJ))
                {
                    model.CNPJ = empresa.CNPJ;
                }
                if (!string.IsNullOrWhiteSpace(empresa.UF))
                {
                    model.UF = empresa.UF;
                }
                if (empresa.Fornecedor != null)
                {
                    var fornecedor = empresa.Fornecedor;
                    if (fornecedor.Remove)
                    {
                        model.Fornecedor = null;
                    }
                    else
                    {
                        const CompareOptions cOpts = CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase;
                        var forn = _mapper.Map <Fornecedor>(fornecedor);
                        if (
                            string.Compare(empresa.UF, "parana", CultureInfo.CurrentCulture, cOpts) == 0 &&
                            forn.Pessoa?.GetIdade() < 18)
                        {
                            return(BadRequest(new { errorMessage = "Fornecedor precisa ser maior de idade." }));
                        }
                        model.Fornecedor = _mapper.Map <Fornecedor>(fornecedor);
                    }
                }

                _repo.Update(model);
                var result = await _uow.CommitAsync();

                return(result ?
                       Ok(_mapper.Map <EmpresaVM>(model)) :
                       BadRequest() as IActionResult);
            }
            catch { return(StatusCode(500)); }
        }
        private void IntegrarComRM(EmpresaVM empresaVM)
        {
            var connectionStringRM = _connectionStrings.Value.RMIntegracaoConnection;

            using (IDbConnection dbConnection = new SqlConnection(connectionStringRM))
            {
                dbConnection.Open();
                _pluginRMService.EnviarEmpresaRM(empresaVM.IdPrestador, dbConnection, null);
                dbConnection.Close();
            }
        }
Exemplo n.º 15
0
        public async Task <ResponseResult> CadastrarEmpresa(EmpresaVM empresaVM)
        {
            var content  = ObterConteudo(empresaVM);
            var response = await _httpClient.PostAsync("api/empresa/", content);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }
            return(new ResponseResult());
        }
Exemplo n.º 16
0
        public async Task <ResponseResult> AtualizarEmpresa(int id, EmpresaVM empresaVM)
        {
            var content  = ObterConteudo(empresaVM);
            var response = await _httpClient.PutAsync($"api/empresa/{id}", content);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }
            return(new ResponseResult());
        }
Exemplo n.º 17
0
        public JsonResult GetEmpresaByCpfCnpj(string cpfCnpj)
        {
            var empresa   = _empresaRepository.Where(obj => obj.IDCompany == idCompany && obj.StatusEmpresa == "a" && obj.NrMatricula == cpfCnpj).FirstOrDefault();
            var empresaVM = new EmpresaVM();

            if (empresa != null)
            {
                empresaVM = new EmpresaVM
                {
                    IDEmpresa        = empresa.IDEmpresa,
                    CpfCnpj          = empresa.NrMatricula,
                    RazaoSocial      = empresa.RazaoSocial,
                    NomeFantasia     = empresa.NomeFantasia,
                    NomeRespEmpresa  = empresa.NomeRespEmpresa,
                    CPFResponsavel   = empresa.CPFResponsavel,
                    TelResponsavel   = empresa.TelResponsavel,
                    Celular          = empresa.Celular,
                    NitResponsavel   = empresa.NitResponsavel,
                    EmailResponsavel = empresa.EmailResponsavel,
                    Cep         = empresa.Cep,
                    Endereco    = empresa.Endereco,
                    Numero      = empresa.Numero,
                    Complemento = empresa.Complemento,
                    Bairro      = empresa.Bairro,
                    Cidade      = empresa.Cidade,
                    UF          = empresa.UF
                };
            }
            else
            {
                empresaVM = new EmpresaVM
                {
                    IDEmpresa        = 0,
                    RazaoSocial      = string.Empty,
                    NomeFantasia     = string.Empty,
                    NomeRespEmpresa  = string.Empty,
                    CPFResponsavel   = string.Empty,
                    TelResponsavel   = string.Empty,
                    Celular          = string.Empty,
                    NitResponsavel   = string.Empty,
                    EmailResponsavel = string.Empty,
                    Cep         = string.Empty,
                    Endereco    = string.Empty,
                    Numero      = string.Empty,
                    Complemento = string.Empty,
                    Bairro      = string.Empty,
                    Cidade      = string.Empty,
                    UF          = string.Empty
                };
            }

            return(Json(empresaVM));
        }
        public IActionResult BuscarDadosEmpresa([FromRoute] string cnpj)
        {
            EmpresaVM empresaVM = null;
            var       resultBD  = _empresaService.BuscarPorCnpj(cnpj);

            if (resultBD != null)
            {
                empresaVM       = Mapper.Map <EmpresaVM>(resultBD);
                empresaVM.Ativo = true;
            }
            return(Ok(new { dados = empresaVM, notifications = "", success = true }));
        }
Exemplo n.º 19
0
        public IActionResult EditarEmpresa(EmpresaVM empresa)
        {
            var empresaEntity = _empresaService.GetById(empresa.IdEmpresa);

            empresaEntity.Ativo = empresa.Ativo;
            empresaEntity.CNPJ  = empresa.CNPJ;
            empresaEntity.Nome  = empresa.Nome;
            empresaEntity.Razao = empresa.Razao;
            _empresaService.Update(empresaEntity);

            ViewBag.mensagem = "Empresa alterada com sucesso!";
            return(View());
        }
Exemplo n.º 20
0
        public ActionResult AddEdit(EmpresaVM empresa)
        {
            if (ModelState.IsValid)
            {
                // No id so we add it to database
                if (empresa.ID <= 0)
                {
                    _db.Empresas.Add(new Empresa
                    {
                        Nome         = empresa.RazaoSocial,
                        NomeFantasia = empresa.NomeFantasia,
                        CNPJ         = empresa.CNPJ,
                        WebSite      = empresa.WebSite,
                    });

                    /*faltou implementar o add e edit do post do obj contato
                     *
                     *  ficaria mais ou menos assim:
                     *
                     */

                    //empresa.Contatos.ToList().ForEach(d =>
                    //    _db.Contatos.Add(new Contato
                    //    {
                    //        Nome = d.Nome,
                    //        Telefone = d.Telefone,
                    //        Celular = d.Celular,
                    //        Email = d.Email
                    //    })
                    //);
                }
                else
                {
                    var edit = _db.Empresas.Find(empresa.ID);
                    edit.Nome         = empresa.RazaoSocial;
                    edit.NomeFantasia = empresa.NomeFantasia;
                    edit.CNPJ         = empresa.CNPJ;
                    edit.WebSite      = empresa.WebSite;

                    //descobrir o bloco do cara e mandá-lo para a interface
                    var posicao = _db.Empresas.Where(d => d.ID <= empresa.ID).OrderBy(d => d.ID).Count();
                    TempData["bloco"] = (posicao / qtdeItensNoBloco).ToString();
                }
                _db.SaveChanges();
                TempData["update"] = true;
                return(RedirectToAction("Index"));
            }

            return(View(empresa));
        }
        private void CriarVinculoEmpresaPrestador(EmpresaVM empresaVM, Empresa empresa)
        {
            var existeVinculo = _empresaPrestadorRepository.Buscar(x => x.IdPrestador == empresaVM.IdPrestador && x.IdEmpresa == empresaVM.Id).Any();

            if (!existeVinculo)
            {
                _empresaPrestadorRepository.Adicionar(new EmpresaPrestador
                {
                    IdEmpresa     = empresa.Id,
                    IdPrestador   = empresaVM.IdPrestador,
                    DataAlteracao = DateTime.Now,
                    Usuario       = _variables.UserName
                });
            }
        }
Exemplo n.º 22
0
        public async Task <IActionResult> Create(EmpresaVM empresaVM)
        {
            if (!ModelState.IsValid)
            {
                return(View(empresaVM));
            }

            var resposta = await _empresaService.CadastrarEmpresa(empresaVM);

            if (ResponsePossuiErros(resposta))
            {
                return(View(empresaVM));
            }
            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Cadastro(EmpresaVM model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Empresa empresa = new Empresa();

                    empresa.IdEmpresa     = model.IdEmpresa;
                    empresa.CNPJ          = model.CNPJ;
                    empresa.Ativa         = model.Ativa;
                    empresa.DiaVencimento = model.DiaVencimento;
                    empresa.URL           = model.URL;
                    empresa.Nome          = model.Nome;
                    empresa.Email         = model.Email;
                    empresa.CEP           = model.CEP;
                    empresa.Logradouro    = model.Logradouro;
                    empresa.Cidade        = model.Cidade;
                    empresa.Bairro        = model.Bairro;
                    empresa.Telefone1     = model.Telefone1;
                    empresa.Telefone2     = model.Telefone2;
                    empresa.Estado        = model.Estado;
                    empresa.DataCadastro  = DateTime.Now;
                    empresa.Observacoes   = model.Observacoes;

                    empresaDal.Salvar(empresa);

                    ModelState.Clear();
                    if (empresa.IdEmpresa <= 0)
                    {
                        TempData["Mensagem"] = empresa.Nome + ", cadastrado(a) com sucesso!";
                    }
                    else
                    {
                        TempData["Mensagem"] = empresa.Nome + ", Alterado(a) com sucesso!";
                    }

                    return(RedirectToAction("Index"));
                }
                ListarEstado();
                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 24
0
        public EmpresaVM ConsultarEmpresa(string RUC)
        {
            EmpresaVM empresa = new EmpresaVM();

            try
            {
                using (var bdConn = new OracleConnection(cadenaConexion))
                {
                    using (var bdCmd = new OracleCommand("PKG_EMPRESA.SP_CONSULTAR_EMPRESA", bdConn))
                    {
                        bdCmd.CommandType = CommandType.StoredProcedure;
                        bdCmd.Parameters.AddRange(ParametroConsultarEmpresa(RUC));
                        bdConn.Open();
                        using (var bdRd = bdCmd.ExecuteReader(CommandBehavior.CloseConnection | CommandBehavior.SingleResult))
                        {
                            if (bdRd.HasRows)
                            {
                                bdRd.Read();
                                if (!DBNull.Value.Equals(bdRd["RUC"]))
                                {
                                    empresa.RUC = bdRd["RUC"].ValorCadena();
                                }
                                if (!DBNull.Value.Equals(bdRd["HASTA_FECHA"]))
                                {
                                    empresa.FECHA_VENCIMIENTO_EXPEDIENTE = bdRd["HASTA_FECHA"].ValorCadena();
                                }
                                if (!DBNull.Value.Equals(bdRd["RAZON_SOCIAL"]))
                                {
                                    empresa.RAZON_SOCIAL = bdRd["RAZON_SOCIAL"].ValorCadena();
                                }
                                empresa.ResultadoProcedimientoVM.CodResultado = 1;
                                empresa.ResultadoProcedimientoVM.NomResultado = "Cargo Correctamente";
                                //return empresa;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                empresa.ResultadoProcedimientoVM.CodAuxiliar  = 0;
                empresa.ResultadoProcedimientoVM.NomResultado = ex.Message;
            }
            return(empresa);
        }
Exemplo n.º 25
0
        public async Task <IActionResult> Edit(int id, EmpresaVM empresaVM)
        {
            if (id != empresaVM.Id)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(View(empresaVM));
            }

            var resposta = await _empresaService.AtualizarEmpresa(id, empresaVM);

            if (ResponsePossuiErros(resposta))
            {
                return(View(empresaVM));
            }

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Post([FromBody] EmpresaVM empresa)
        {
            if (string.IsNullOrWhiteSpace(empresa.CNPJ))
            {
                return(BadRequest());
            }
            var exists = _repo.Query
                         .Any(e => e.CNPJ.Equals(empresa.CNPJ));

            if (exists)
            {
                return(StatusCode(StatusCodes.Status208AlreadyReported,
                                  new
                {
                    errorMessage = "CNPJ já cadastrado."
                }));
            }
            try
            {
                var model = _mapper.Map <Empresa>(empresa);

                _repo.Add(model);
                var result = await _uow.CommitAsync();

                var uri = new Uri(
                    baseUri: new Uri(Request.Host.Value),
                    relativeUri: $"api/Empresa/{model.Id}"
                    );

                if (result)
                {
                    return(Created(uri, _mapper.Map <EmpresaVM>(model)));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch { return(StatusCode(500)); }
        }
Exemplo n.º 27
0
        public EmpresaVM ConsultaEmpresaSTD(string ruc)
        {
            EmpresaVM resultado = new EmpresaVM();

            var resultadoSUNAT = EmpresaDAL.ConsultaRuc(ruc);

            //
            if (resultadoSUNAT.RAZON_SOCIAL.Length > 0)             // si existe empresa en la consulta RUC
            {
                var resultadoSTD = EmpresaDAL.BuscaEmpresaSTD(ruc); // para obtener el id de la empresa
                if (resultado.ID_EMPRESA == 0)                      //si no encuentra en el STD entonces lo registra
                {
                    EmpresaDAL.CrearEmpresaSTD(resultadoSUNAT);
                    resultado = EmpresaDAL.BuscaEmpresaSTD(ruc);
                }
                else
                {
                    resultado = resultadoSTD;
                }
            }

            return(resultado);
        }
        public ActionResult Detalhes(int id)
        {
            try
            {
                var       empresa = empresaDal.ListarPorId(id);
                EmpresaVM model   = new EmpresaVM();

                model.IdEmpresa     = empresa.IdEmpresa;
                model.URL           = empresa.URL;
                model.CNPJ          = empresa.CNPJ;
                model.DiaVencimento = empresa.DiaVencimento;
                model.Ativa         = empresa.Ativa;
                model.Observacoes   = empresa.Observacoes;
                model.Nome          = empresa.Nome;
                model.Email         = empresa.Email;
                model.CEP           = empresa.CEP;
                model.Logradouro    = empresa.Logradouro;
                model.Bairro        = empresa.Bairro;
                model.Cidade        = empresa.Cidade;
                model.Estado        = empresa.Estado;
                model.Telefone1     = empresa.Telefone1;
                model.Telefone2     = empresa.Telefone2;
                model.DataCadastro  = empresa.DataCadastro;


                ViewBag.Veiculos = veiculoDal.Listar(null, null, model.IdEmpresa);
                ViewBag.Usuarios = usuarioDal.Listar(model.IdEmpresa);
                ViewBag.Clientes = clienteDal.Listar("", model.IdEmpresa);

                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 29
0
        public EmpresaVM BuscaEmpresaSTD(string RUC)
        {
            EmpresaVM modelo = new EmpresaVM();

            Servicio_STD.Servicio_STD servicio = new Servicio_STD.Servicio_STD();
            try
            {
                var resultadoSUNAT = servicio.BuscarProveedor(new Servicio_STD.Proveedor()
                {
                    RUC = RUC
                });
                modelo.ID_EMPRESA    = resultadoSUNAT.IDPROVEE.ValorEntero();
                modelo.CODPAIS       = resultadoSUNAT.CODPAIS.ValorEntero();
                modelo.CODDPTO       = resultadoSUNAT.CODDPTO.ValorEntero();
                modelo.CODPROV       = resultadoSUNAT.CODPROV.ValorEntero();
                modelo.CODDIST       = resultadoSUNAT.CODDIST.ValorEntero();
                modelo.DIRECCION_STD = resultadoSUNAT.DIRECCION;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(modelo);
        }
Exemplo n.º 30
0
        public JsonResult registrarTramite(int tipoPersona, int modalidad, int tramite, int procedimiento,
                                           int tipoDocumento, string nroDocumento, string apepat, string apemat,
                                           string nombres, string reciboPago, string email, string ruc,
                                           int autorizaEmail, string nroTelefono, string direccion,
                                           int idBanco, string fechaPago, HttpPostedFileBase[] files)
        {
            TramiteSimpleVM t = new TramiteSimpleVM();

            t.TIPO_PERSONA      = tipoPersona;
            t.IDMODALIDAD       = modalidad;
            t.IDPROCEDIMIENTO   = procedimiento;
            t.IDTIPODOCUMENTO   = tipoDocumento;
            t.NRODOCUMENTO      = nroDocumento;
            t.APEPAT            = apepat;
            t.APEMAT            = apemat;
            t.NOMBRES           = nombres;
            t.NRORECIBOPAGO     = reciboPago;
            t.CORREOELECTRONICO = email;
            t.RUC             = ruc;
            t.ID_TIPO_PERSONA = tipoPersona;
            t.AUTORIZA_EMAIL  = autorizaEmail;
            t.NRO_TELEF       = nroTelefono;
            t.DIRECCION       = direccion;
            t.PLACA           = "";
            t.IDBANCO         = idBanco;
            t.FECHA_PAGO      = fechaPago;
            //Verifica El nro del recibo
            if (t.NRORECIBOPAGO.Length > 0)
            {
                var resultadoBusqueda = new TramiteSimpleBLL().busqueda_recibo(t.NRORECIBOPAGO);
                if (resultadoBusqueda.CodResultado == 1)
                {
                    return(Json(new
                    {
                        codResultado = 0,
                        desResultado = resultadoBusqueda.NomResultado,
                        codAuxiliar = 0,
                        resultadoex = ""
                    }));
                }
            }


            //Persona TRAMITE
            PersonaVM solicitante = new PersonaVM();

            solicitante.NRO_DOCUMENTO    = t.NRODOCUMENTO;
            solicitante.APELLIDO_PATERNO = t.APEPAT;
            solicitante.APELLIDO_MATERNO = t.APEMAT;
            solicitante.NOMBRES          = t.NOMBRES;
            solicitante.direccion        = "";
            solicitante.NRO_RUC          = t.RUC;
            solicitante.CORREO           = t.CORREOELECTRONICO;

            //Busca persona en STD si no lo encuentra entonces lo crea
            //var resultadoBusqueda = new PersonaBLL().ConsultaPersonaSTD(t.NRODOCUMENTO);
            var codResultado = 0;
            var desResultado = "";
            var codAuxiliar  = "";
            var resultadoex  = "";

            using (TransactionScope scope = new TransactionScope())
            {
                var registroTramite = new TramiteSimpleBLL().registrarTramiteSimple(t);
                try
                {
                    if (registroTramite.CodAuxiliar > 0)
                    {
                        #region  registrar STD
                        var personaSTD = new PersonaVM();
                        var empresaSTD = new EmpresaVM();

                        switch (t.TIPO_PERSONA)
                        {
                        case 1:                                                                    //juridica
                            #region consulta STD persona juridica si no lo encuentra entonces crea en STD
                            empresaSTD = new EmpresaBLL().ConsultaEmpresaSTD(solicitante.NRO_RUC); // persona
                            #endregion
                            break;

                        case 2:                                                            //persona natural
                            #region consulta STD persona si no lo encuentra entonces crea en STD
                            personaSTD = new PersonaBLL().ConsultaPersonaSTD(solicitante); // persona
                            #endregion
                            break;

                        default:
                            break;
                        }

                        //setea datos para STD segun tipo  Persona
                        STDVM resultadoExpediente = new STDVM();
                        switch (t.TIPO_PERSONA)
                        {
                        case 1:     //juridica
                            #region consulta STD persona juridica si no lo encuentra entonces crea en STD
                            STDVM STD_JURIDICA = new STDVM()
                            {
                                IDUNIDAD_STD  = 7,    //unidad de la institucion
                                CODPAIS       = empresaSTD.CODPAIS,
                                CODDPTO       = empresaSTD.CODDPTO,
                                CODPROV       = empresaSTD.CODPROV,
                                CODDIST       = empresaSTD.CODDIST,
                                DIRECCION_STD = personaSTD.direccion,
                                NOMBRE        = personaSTD.NOMBRES,

                                ID_PROCEDIMIENTO = t.IDPROCEDIMIENTO,
                                ID_PROVEEDOR     = empresaSTD.ID_EMPRESA,
                                //Proceso TUPA STD
                                TIPO_EXPEDIENTE = 3,
                                OBSERVACION     = "PROCEDIMIENTO TUPA",
                            };
                            resultadoExpediente = new ExpedienteBLL().creaSoloExpediente(STD_JURIDICA);
                            #endregion
                            break;

                        case 2:     //persona natural
                            #region registra expediente en STD

                            STDVM STD_NATURAL = new STDVM()
                            {
                                IDUNIDAD_STD     = 7, //unidad de la institucion
                                CODPAIS          = personaSTD.CODPAIS,
                                CODDPTO          = personaSTD.CODDPTO,
                                CODPROV          = personaSTD.CODPROV,
                                CODDIST          = personaSTD.CODDIST,
                                DIRECCION_STD    = personaSTD.direccion,
                                NOMBRE           = personaSTD.NOMBRES,
                                ID_PERSONA       = personaSTD.ID_PERSONA,
                                ID_PROCEDIMIENTO = t.IDPROCEDIMIENTO,
                                //ID_PROVEEDOR = modelo.ID_EMPRESA,
                                //Proceso TUPA STD
                                TIPO_EXPEDIENTE = 3,
                                OBSERVACION     = "PROCEDIMIENTO TUPA",
                            };

                            resultadoExpediente = new ExpedienteBLL().creaSoloExpediente(STD_NATURAL);
                            #endregion
                            break;

                        default:
                            break;
                        }
                        #endregion

                        int contador = 0;
                        try
                        {
                            var nombreArchivosSerializado = "";
                            foreach (HttpPostedFileBase file in files)
                            {
                                if (file != null)
                                {
                                    contador++;
                                    var    nombreArchivo           = Path.GetFileName(file.FileName);
                                    var    extensionArchivo        = Path.GetExtension(file.FileName);
                                    var    arrFileName             = nombreArchivo.Split('.');
                                    var    nuevoNombreArchivoExcel = "tramite_" + registroTramite.CodAuxiliar.ToString() + "_archivo_" + contador.ToString() + extensionArchivo;
                                    var    pathArchivo             = Server.MapPath("~/Adjunto/tramites/" + nuevoNombreArchivoExcel);
                                    string pathFinal = Path.Combine(pathArchivo);
                                    file.SaveAs(pathFinal);
                                    nombreArchivosSerializado += nuevoNombreArchivoExcel + "|";
                                }
                            }
                            var ssid_exp = resultadoExpediente.NUMERO_SID.ToString() + "-" + resultadoExpediente.NUMERO_ANIO;
                            var actualizacionNombresArchivo = new TramiteSimpleBLL().actualizarDataTramiteSimple(registroTramite.CodAuxiliar, nombreArchivosSerializado, resultadoExpediente.IDDOC, ssid_exp);

                            codResultado = actualizacionNombresArchivo.CodResultado;
                            desResultado = actualizacionNombresArchivo.NomResultado;

                            if (codResultado == 1 && resultadoExpediente.IDDOC > 0)
                            {
                                scope.Complete();
                                if (t.AUTORIZA_EMAIL == 1)
                                {
                                    var rptaEnvioCorreo = enviarCorreoSimple(solicitante.CORREO, solicitante.NOMBRES + " " + solicitante.APELLIDO_PATERNO + " " + solicitante.APELLIDO_MATERNO, solicitante.NRO_DOCUMENTO, resultadoExpediente.NUMERO_SID.ToString(), resultadoExpediente.NUMERO_ANIO);

                                    if (rptaEnvioCorreo == 0)
                                    {
                                        codResultado = 0;
                                        desResultado = "Ocurrio un error en el registro del trámite. (ERR5)";
                                        scope.Dispose();
                                        Conexion.finalizar(ref bdConn);
                                    }
                                }

                                codAuxiliar = resultadoExpediente.NUMERO_SID.ToString() + "-" + resultadoExpediente.NUMERO_ANIO;
                            }
                            else
                            {
                                codResultado = 0;
                                desResultado = "Ocurrio un error en el registro del trámite.(ERR4)";
                                scope.Dispose();
                                Conexion.finalizar(ref bdConn);
                            }
                        }
                        catch (Exception ex)
                        {
                            codResultado = 0;
                            desResultado = "Ocurrio un error en la carga de archivos.(ERR3)";
                            resultadoex  = ex.Message;
                            scope.Dispose();
                            Conexion.finalizar(ref bdConn);
                        }
                        //codAuxiliar = registroTramite.CodAuxiliar;
                    }
                    else
                    {
                        codResultado = 0;
                        desResultado = "Ocurrió un error en el registro del trámite.";
                        scope.Dispose();
                        Conexion.finalizar(ref bdConn);
                    }
                }
                catch (Exception ex)
                {
                    codResultado = 0;
                    desResultado = "Ocurrió un error en el registro del trámite.(ERR2)";
                    resultadoex  = ex.Message;
                    scope.Dispose();
                    Conexion.finalizar(ref bdConn);
                }
            }
            return(Json(new {
                codResultado = codResultado,
                desResultado = desResultado,
                codAuxiliar = codAuxiliar,
                resultadoex = resultadoex
            }));
        }