Пример #1
0
 /// <summary>
 /// Guarda en sesion la empresa a evaluar
 /// </summary>
 /// <param name="afiliado"></param>
 public void GuardarSesionAfiliado(EmpresaAfiliadoModel afiliado)
 {
     if (afiliado != null)
     {
         Session["AfiliadoSession"] = Encriptar(JsonConvert.SerializeObject(afiliado));
     }
 }
Пример #2
0
        public JsonResult ConsultarDatosTrabajador(string numeroDocumento)
        {
            try
            {
                EmpresaAfiliadoModel datos = null;
                if (!string.IsNullOrEmpty(numeroDocumento))
                {
                    var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
                    var request = new RestRequest(ConfigurationManager.AppSettings["consultaAfiliado"], RestSharp.Method.GET);
                    request.RequestFormat = DataFormat.Xml;
                    request.Parameters.Clear();
                    request.AddParameter("tpDoc", "cc");
                    request.AddParameter("doc", numeroDocumento);
                    request.AddHeader("Content-Type", "application/json");
                    request.AddHeader("Accept", "application/json");

                    //se omite la validación de certificado de SSL
                    ServicePointManager.ServerCertificateValidationCallback = delegate
                    { return(true); };
                    IRestResponse <List <EmpresaAfiliadoModel> > response = cliente.Execute <List <EmpresaAfiliadoModel> >(request);
                    var result = response.Content;
                    if (!string.IsNullOrWhiteSpace(result))
                    {
                        var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpresaAfiliadoModel> >(result);
                        if (respuesta.Count == 0)
                        {
                            return(Json(new { Data = "No se encontró ningun Trabajador asociado al documento ingresado.", Mensaje = "NOTFOUND" }));
                        }
                        var afiliado = respuesta.Where(a => a.Estado == "Activo").FirstOrDefault();
                        if (afiliado == null)
                        {
                            return(Json(new { Data = "El documento ingresado esta inactivo.", Mensaje = "INACTIVO" }));
                        }
                        else
                        {
                            GuardarSesionAfiliado(afiliado);
                            datos = afiliado;
                        }
                    }
                }
                if (datos != null)
                {
                    return(Json(new { Data = datos, Mensaje = "OK" }));
                }
                else
                {
                    return(Json(new { Data = "No se encontró ningun trabajador asociado al documento ingresado", Mensaje = "NOTFOUND" }));
                }
            }
            catch (Exception ex)
            {
                registroLog.RegistrarError(typeof(UsuariosController), string.Format("Error en la Acción ConsultarDatosTrabajador: {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                return(Json(new { Data = "No se logró consultar la información del Trabajador. Intente más tarde.", Mensaje = "ERROR" }));
            }
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tipoDocumento"></param>
        /// <param name="numDucumento"></param>
        /// <returns></returns>
        internal static EmpresaAfiliadoModel ConsultarDatosEmpresaSiarp(string tipoDocumento, string numDucumento, out int resultadoEmp)
        {
            try
            {
                //variable para manejar el resultado: 0: No existe la empresa,
                //1: Existe pero se encuentra inactiva, 2: Existe y se encuentra activa
                EmpresaAfiliadoModel resultado = null;
                resultadoEmp = 0;
                var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
                var request = new RestRequest(ConfigurationManager.AppSettings["consultaEmpresa"], RestSharp.Method.GET);
                request.RequestFormat = DataFormat.Xml;
                request.Parameters.Clear();
                request.AddParameter("tpDoc", tipoDocumento);
                request.AddParameter("doc", numDucumento);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("Accept", "application/json");

                //se omite la validación de certificado de SSL
                ServicePointManager.ServerCertificateValidationCallback = delegate
                { return(true); };
                IRestResponse <List <EmpresaAfiliadoModel> > response = cliente.Execute <List <EmpresaAfiliadoModel> >(request);
                var result = response.Content;
                if (!string.IsNullOrWhiteSpace(result))
                {
                    var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpresaAfiliadoModel> >(result);
                    if (respuesta.Count == 0)
                    {
                        resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteEmp; //No existe
                    }
                    var EmpresaSystem = respuesta.Where(a => a.Estado.ToUpper().Equals("ACTIVA")).FirstOrDefault();
                    if (EmpresaSystem == null)
                    {
                        resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteInactivoEmp; //Existe y está Inactiva
                    }
                    else
                    {
                        resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteActivoEmp; //Existe y está Activa
                        resultado    = EmpresaSystem;
                    }
                }
                return(resultado);
            }
            catch (Exception ex)
            {
                var registroLog = new RegistraLog();
                registroLog.RegistrarError(typeof(ConsultaSIARP), string.Format("Error en la Acción ConsultarDatosTrabajador: {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                resultadoEmp = 0;
                return(null);
            }
        }
Пример #4
0
        public JsonResult ConsultarDatosTrabajador(string numeroDocumento)
        {
            string data    = "";
            string mensaje = "";

            //Modificado por Javier García (Kerocorp) 7/03/2017
            try
            {
                List <EDTipoDocumento> ListaDocumentos = lnausencia.ObtenerTipoDocumento();



                var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
                //if (usuarioActual == null)
                //{
                //    ViewBag.Mensaje = "Debe estar autenticado para registrar una Ausencia.";
                //    return View();
                //}
                EmpresaAfiliadoModel datos = null;

                if (!string.IsNullOrEmpty(numeroDocumento))
                {
                    foreach (var tdoc in ListaDocumentos)
                    {
                        var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
                        var request = new RestRequest(consultaAfiliadoEmpresaActivo, RestSharp.Method.GET);
                        request.RequestFormat = DataFormat.Xml;
                        request.Parameters.Clear();
                        request.AddParameter("tpEm", usuarioActual.SiglaTipoDocumentoEmpresa);
                        request.AddParameter("docEm", usuarioActual.NitEmpresa);
                        request.AddParameter("tpAfiliado", tdoc.Sigla.ToLower());
                        request.AddParameter("docAfiliado", numeroDocumento);
                        request.AddHeader("Content-Type", "application/json");
                        request.AddHeader("Accept", "application/json");

                        ServicePointManager.ServerCertificateValidationCallback = delegate
                        { return(true); };
                        IRestResponse <List <EmpresaAfiliadoModel> > response = cliente.Execute <List <EmpresaAfiliadoModel> >(request);
                        var result = response.Content;

                        if (!string.IsNullOrWhiteSpace(result))
                        {
                            var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpresaAfiliadoModel> >(result);
                            if (respuesta.Count == 0)
                            {
                                data = "No existe relación laboral entre el documento ingresado y la empresa";
                            }
                            mensaje = "NOTFOUND";
                            var EmpresaSystem = respuesta.Where(a => a.estadoEmpresa.ToUpper().Equals("ACTIVA")).FirstOrDefault();
                            if (EmpresaSystem == null)
                            {
                                data = "No existe relación laboral entre el documento ingresado y la empresa";
                            }
                            mensaje = "NOTFOUND";
                            var AfilSystem = respuesta.Where(a => a.estadoPersona.ToUpper().Equals("ACTIVO")).FirstOrDefault();
                            if (AfilSystem == null)
                            {
                                data = "No existe relación laboral entre el documento ingresado y la empresa"; mensaje = "NOTFOUND";
                            }
                            else
                            {
                                GuardarSesionAfiliado(AfilSystem);
                                datos = AfilSystem;
                                return(Json(new { Data = datos, Mensaje = "OK" }));
                            }
                        }
                        else
                        {
                            return(Json(new { Data = "No se obtuvo respuesta del servicio.", Mensaje = "NOTFOUND" }));
                        }
                    }
                    return(Json(new { Data = data, Mensaje = mensaje }));
                }
                else
                {
                    return(Json(new { Data = "Debe Ingresar Un número de documento.", Mensaje = "NOTFOUND" }));
                }
                //Fin Modificación

                //    var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
                //    var request = new RestRequest(ConfigurationManager.AppSettings["consultaAfiliado"], RestSharp.Method.GET);
                //    request.RequestFormat = DataFormat.Xml;
                //    request.Parameters.Clear();
                //    request.AddParameter("tpDoc", "cc");
                //    request.AddParameter("doc", numeroDocumento);
                //    request.AddHeader("Content-Type", "application/json");
                //    request.AddHeader("Accept", "application/json");

                //    //se omite la validación de certificado de SSL
                //    ServicePointManager.ServerCertificateValidationCallback = delegate
                //    { return true; };
                //    IRestResponse<List<AfiliadoModel>> response = cliente.Execute<List<AfiliadoModel>>(request);
                //    var result = response.Content;
                //    if (!string.IsNullOrWhiteSpace(result))
                //    {
                //        var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AfiliadoModel>>(result);
                //        if (respuesta.Count == 0)
                //            return Json(new { Data = "No se encontró ningun Trabajador asociado al documento ingresado.", Mensaje = "NOTFOUND" });
                //        var afiliado = respuesta.Where(a => a.Estado == "Activo").FirstOrDefault();
                //        if (afiliado == null)
                //            return Json(new { Data = "El afiliado asociado al documento ingresado se encuentra inactivo.", Mensaje = "INACTIVO" });
                //        else
                //        {
                //            GuardarSesionAfiliado(afiliado);
                //            datos = afiliado;
                //        }
                //    }
                //}
                //if (datos != null)
                //{
                //    return Json(new { Data = datos, Mensaje = "OK" });
                //}
                //else
                //    return Json(new { Data = "No se encontró ningun trabajador asociado al documento ingresado", Mensaje = "NOTFOUND" });
            }
            catch (Exception ex)
            {
                registroLog.RegistrarError(typeof(AusenciasController), string.Format("Error en la Acción ConsultarDatosTrabajador: {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                return(Json(new { Data = "No se logró consultar la información del Trabajador. Intente más tarde.", Mensaje = "ERROR" }));
            }
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tipoDocumentoEmp"></param>
        /// <param name="numDocumentoEmp"></param>
        /// <param name="tipoDocumento"></param>
        /// <param name="numDucumento"></param>
        /// <param name="resultadoEmp"></param>
        /// <param name="resultadoAfi"></param>
        /// <returns></returns>
        private EmpresaAfiliadoModel ConsultarAfiliadoEmpresaActivos(string tipoDocumentoEmp, string numDocumentoEmp, string tipoDocumento, string numDucumento, out int resultadoEmp, out int resultadoAfi)
        {
            try
            {
                EmpresaAfiliadoModel objEmpresaAfi = null;
                //variable para manejar el resultado: 0: No existe la empresa,
                //1: Existe pero se encuentra inactiva, 2: Existe y se encuentra activa
                //3: No existe el afiliado, 4: Existe el afiliado pero se encuentra inactivo
                //5: Existe el afiliado y se encuentra activo.
                resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteEmp;
                resultadoAfi = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteAfi;
                var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
                var request = new RestRequest(consultaAfiliadoEmpresaActivo, RestSharp.Method.GET);
                request.RequestFormat = DataFormat.Xml;
                request.Parameters.Clear();
                request.AddParameter("tpEm", tipoDocumentoEmp);
                request.AddParameter("docEm", numDocumentoEmp);
                request.AddParameter("tpAfiliado", tipoDocumento);
                request.AddParameter("docAfiliado", numDucumento);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("Accept", "application/json");

                //se omite la validación de certificado de SSL
                ServicePointManager.ServerCertificateValidationCallback = delegate
                { return(true); };
                IRestResponse <List <EmpresaAfiliadoModel> > response = cliente.Execute <List <EmpresaAfiliadoModel> >(request);
                var result = response.Content;
                if (!string.IsNullOrWhiteSpace(result))
                {
                    var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpresaAfiliadoModel> >(result);
                    if (respuesta.Count == 0)
                    {
                        resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteEmp; //No existe
                    }
                    else
                    {
                        var EmpresaSystem = respuesta.Where(a => a.estadoEmpresa.ToUpper().Equals("ACTIVA")).FirstOrDefault();
                        if (EmpresaSystem == null)
                        {
                            resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteInactivoEmp; //Existe y está Inactiva
                        }
                        else
                        {
                            resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteActivoEmp; //Existe y está Activa
                        }
                        var AfilSystem = respuesta.Where(a => a.estadoPersona.ToUpper().Equals("ACTIVO")).FirstOrDefault();
                        if (AfilSystem == null)
                        {
                            resultadoAfi = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteInactivoAfi; //Existe y está Inactivo
                        }
                        else
                        {
                            resultadoAfi = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteActivoAfi; //Existe y está Activo
                        }
                        if (EmpresaSystem != null && AfilSystem != null)
                        {
                            objEmpresaAfi = AfilSystem;
                        }
                    }
                }
                return(objEmpresaAfi);
            }
            catch (Exception ex)
            {
                registroLog.RegistrarError(typeof(HomeController), string.Format("Error en la Acción ConsultarAfiliadoEmpresaActivos: {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                resultadoEmp = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteEmp;
                resultadoAfi = (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.NoExisteAfi;
                return(null);
            }
        }