// GET: EnfermedadLaboralDiagnosticada
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Registrar()
        {
            EnfermedadLaboralModel enfermedadLaboral = null;
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            var tipoDocEmp      = usuarioActual.SiglaTipoDocumentoEmpresa;
            var tipoDocAfil     = usuarioActual.SiglaTipoDocumentoEmpleado;
            var documentoEmp    = usuarioActual.NitEmpresa;
            var documentoAfil   = usuarioActual.Documento;
            var resultadoEmp    = 0;
            var resultadoAfil   = 0;
            var datosTrabajador = ConsultaSIARP.ConsultarAfiliadoEmpresaActivos(tipoDocEmp, documentoEmp, tipoDocAfil, documentoAfil, out resultadoEmp, out resultadoAfil);

            if (datosTrabajador != null &&
                resultadoEmp == (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteActivoEmp &&
                resultadoAfil == (int)Enumeraciones.EnumAdministracionUsuarios.ValidaEstadoEmpAfi.ExisteActivoAfi)
            {
                enfermedadLaboral = new EnfermedadLaboralModel();
                enfermedadLaboral.UsuarioQuienRegistraELD = usuarioActual.IdUsuario;
                enfermedadLaboral.NumeroDocumento         = datosTrabajador.documentoEmp;
                enfermedadLaboral.NombreTrabajador        = string.Format("{0} {1} {2} {3}", datosTrabajador.nombre1, datosTrabajador.nombre2, datosTrabajador.apellido1, datosTrabajador.apellido2);
                enfermedadLaboral.FechaNacimiento         = datosTrabajador.fechaNacimiento;
                enfermedadLaboral.Geneero             = datosTrabajador.sexoPersona;
                enfermedadLaboral.Direccion           = datosTrabajador.dirPersona;
                enfermedadLaboral.Telefono            = datosTrabajador.telPersona;
                enfermedadLaboral.Fax                 = datosTrabajador.faxEmpresa;
                enfermedadLaboral.Departamento        = datosTrabajador.nomDepAfiliado;
                enfermedadLaboral.Municipio           = datosTrabajador.nomMunAfiliado;
                enfermedadLaboral.Cargo               = datosTrabajador.cargo;
                enfermedadLaboral.InstanciaARegistrar = new Models.EnfermedadLaboral.InstanciaRegistrada()
                {
                    EstadosInstancia = new List <SelectListItem>
                    {
                        new SelectListItem()
                        {
                            Value = "", Text = "Seleccione una opción"
                        },
                        new SelectListItem()
                        {
                            Value = "1", Text = "En Estudio"
                        },
                        new SelectListItem()
                        {
                            Value = "2", Text = "Laboral"
                        },
                        new SelectListItem()
                        {
                            Value = "3", Text = "Común"
                        }
                    }
                };
            }
            return(View(enfermedadLaboral));
        }
        public ActionResult Registrar(EnfermedadLaboralModel enfermedadRegistrar)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            if (!ModelState.IsValid)
            {
                enfermedadRegistrar.InstanciaARegistrar.EstadosInstancia = new List <SelectListItem>
                {
                    new SelectListItem()
                    {
                        Value = "", Text = "Seleccione una opción"
                    },
                    new SelectListItem()
                    {
                        Value = "1", Text = "En Estudio"
                    },
                    new SelectListItem()
                    {
                        Value = "2", Text = "Laboral"
                    },
                    new SelectListItem()
                    {
                        Value = "3", Text = "Común"
                    }
                };
                enfermedadRegistrar.InstanciasRegistradas = Session["InstanciasRegistradas"] == null ? null : Session["InstanciasRegistradas"] as List <Models.EnfermedadLaboral.InstanciaRegistrada>;
                return(View(enfermedadRegistrar));
            }
            else
            {
                var registrar            = true;
                var enfermedadARegistrar = new EDEnfermedadLaboral();
                //se guardan archivos en el servidor y se obtienen las rutas
                enfermedadARegistrar.DocumentoFurel = ManejoArchivos.GuardarArchivos(enfermedadRegistrar.Furel, rutaFisicaDocumentosEnfLabFurel, usuarioActual.IdUsuario, usuarioImp, passwordImp, dominio);
                enfermedadARegistrar.CartaEPS       = ManejoArchivos.GuardarArchivos(enfermedadRegistrar.CartaEPS, rutaFisicaDocumentosEnfLabCartaEPS, usuarioActual.IdUsuario, usuarioImp, passwordImp, dominio);
                if (Session["DocumentosAdjuntos"] != null)
                {
                    var archivosAdjuntos = Session["DocumentosAdjuntos"] as List <HttpPostedFileBase>;
                    enfermedadARegistrar.TiposDocumentosEnviadosEPS = new List <string>();
                    foreach (var archivo in archivosAdjuntos)
                    {
                        var rutaArchivo = string.Format(@"{0}\{1}\{2}", rutaFisicaDocumentosEnfLabTiposDoc, usuarioActual.IdUsuario, archivo.FileName);
                        enfermedadARegistrar.TiposDocumentosEnviadosEPS.Add(rutaArchivo);
                    }
                    Session["DocumentosAdjuntos"] = null;
                }
                else
                {
                    registrar = false;
                }
                if (Session["InstanciasRegistradas"] != null)
                {
                    var instancias = Session["InstanciasRegistradas"] as List <Models.EnfermedadLaboral.InstanciaRegistrada>;
                    enfermedadARegistrar.InstanciasRegistradas = instancias.Select(i => new EntidadesDominio.EnfermedadLaboral.InstanciaRegistrada()
                    {
                        IdInstancia       = i.IdInstancia,
                        Nombre            = i.Nombre,
                        EstadoInstancia   = i.EstadoInstancia,
                        FechaCalificacion = i.FechaCalificacion,
                        QuienCalifica     = i.QuienCalifica
                    }).ToList();
                    Session["InstanciasRegistradas"] = null;
                }
                else
                {
                    registrar = false;
                }
                enfermedadARegistrar.Diagnostico                 = enfermedadRegistrar.Diagnostico;
                enfermedadARegistrar.DiagnosticoCIIE10           = enfermedadRegistrar.DiagnosticoCIIE10;
                enfermedadARegistrar.FechaDocumentosCalificarEPS = enfermedadRegistrar.FechaDocumentosEPS;
                //ServiceClient.EliminarParametros();
                //var resultado = ServiceClient.RealizarPeticionesPostJsonRestFul<EDEnfermedadLaboral>(urlServicioEnfermedadLaboral, capacidadEnfermedadLaboral, enfermedadARegistrar);
                if (registrar)
                {
                    var lnEnfermedadLaboral = new LNEnfermedadLaboral();
                    enfermedadARegistrar = lnEnfermedadLaboral.RegistrarEnfermedadLaboralDiagnosticada(enfermedadARegistrar);
                }
                else
                {
                    enfermedadARegistrar = null;
                }
                if (enfermedadARegistrar != null)
                {
                    ViewBag.Mensaje = "Información guardada correctamente!!![OK]";
                }
                else
                {
                    ViewBag.Mensaje = "No fue posible registrar la Información. Intente más tarde.";
                }
                enfermedadRegistrar.InstanciaARegistrar.EstadosInstancia = new List <SelectListItem>
                {
                    new SelectListItem()
                    {
                        Value = "", Text = "Seleccione una opción"
                    },
                    new SelectListItem()
                    {
                        Value = "1", Text = "En Estudio"
                    },
                    new SelectListItem()
                    {
                        Value = "2", Text = "Laboral"
                    },
                    new SelectListItem()
                    {
                        Value = "3", Text = "Común"
                    }
                };
                enfermedadRegistrar.InstanciaARegistrar.FechaCalificacion = new DateTime();
                return(View(enfermedadRegistrar));
            }
        }