public ActionResult GuardarArchivoAdjunto(HttpPostedFileBase TipoDocumentoCalificacion)
 {
     if (TipoDocumentoCalificacion != null)
     {
         if (Session["DocumentosAdjuntos"] != null)
         {
             var archivosAdjuntos = Session["DocumentosAdjuntos"] as List <HttpPostedFileBase>;
             var existeArchivo    = archivosAdjuntos.Where(a => a.ContentLength == TipoDocumentoCalificacion.ContentLength &&
                                                           a.FileName.Equals(TipoDocumentoCalificacion.FileName))
                                    .Select(a => a).FirstOrDefault();
             if (existeArchivo == null)
             {
                 var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
                 if (usuarioActual != null)
                 {
                     var result = ManejoArchivos.GuardarArchivos(TipoDocumentoCalificacion, rutaFisicaDocumentosEnfLabTiposDoc, usuarioActual.IdUsuario, usuarioImp, passwordImp, dominio);
                     if (!string.IsNullOrEmpty(result))
                     {
                         archivosAdjuntos.Add(TipoDocumentoCalificacion);
                         Session["DocumentosAdjuntos"] = archivosAdjuntos;
                     }
                 }
             }
         }
         else
         {
             var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
             if (usuarioActual != null)
             {
                 var result = ManejoArchivos.GuardarArchivos(TipoDocumentoCalificacion, rutaFisicaDocumentosEnfLabTiposDoc, usuarioActual.IdUsuario, usuarioImp, passwordImp, dominio);
                 if (!string.IsNullOrEmpty(result))
                 {
                     var archivosAdjuntos = new List <HttpPostedFileBase>()
                     {
                         TipoDocumentoCalificacion
                     };
                     Session["DocumentosAdjuntos"] = archivosAdjuntos;
                 }
             }
         }
         return(Json(new { Nombre = TipoDocumentoCalificacion.FileName, Respuesta = "OK" }));
     }
     else
     {
         return(Json(new { Nombre = string.Empty, Respuesta = "ERROR" }));
     }
 }
        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));
            }
        }