public ActionResult CargaEvidencia([Bind(Include = "Evidencia,Archivo,NombreDocumento,TipoDocumento,Fecha,Responsable,IdCumplimiento")] EvidenciaCumplimientoViewModelafp model)
        {
            ApplicationUser usuario      = db.Users.Find(AccountData.UsuarioId);
            CumplimientoAfp cumplimiento = db.Tb_cumplimientoAfp.FirstOrDefault(a => a.Cumpafp_Id == model.IdCumplimiento);

            ViewBag.Tdca_id = new SelectList(db.Tb_TipoDocCarga, "Tdca_id", "Tdca_Nom");
            ViewBag.users   = new SelectList(db.Users.Where(b => b.Empr_Nit == usuario.Empr_Nit), "Id", "Pers_Nom1");
            string nombreArchivo           = model.NombreDocumento;
            List <EvidenciaAfp> evidencias = db.Tb_EvidenciaAfp.Where(f => f.Evid_Nombre == nombreArchivo).ToList();

            if (evidencias.Count == 0)
            {
                if (model.Archivo == null)
                {
                    ViewBag.falla = "Seleccion un archivo";
                    return(View(model));
                }
                string extensionArchivo = model.Archivo.FileName.Split('.').Last();

                EvidenciaAfp evidencia = new EvidenciaAfp
                {
                    Evid_Nombre   = nombreArchivo,
                    Cumpafp_Id    = model.IdCumplimiento,
                    Evid_Registro = model.Fecha,
                    Tdca_id       = Convert.ToInt32(model.TipoDocumento),
                    Evid_Archivo  = nombreArchivo + "." + extensionArchivo
                };
                evidencia.Responsable = AccountData.UsuarioId;
                db.Tb_EvidenciaAfp.Add(evidencia);
                db.SaveChanges();

                if (model.Archivo.ContentLength > 0)
                {
                    string path = Path.Combine(Server.MapPath("~/Files"), nombreArchivo + "." + extensionArchivo);
                    model.Archivo.SaveAs(path);
                }
                ViewBag.exitoso = "Guardado con exito en la ruta";
            }
            else
            {
                ViewBag.falla = "Ya existe un documento con ese nombre";
                return(View(model));
            }
            return(View(new EvidenciaCumplimientoViewModelafp()));
        }
        public ActionResult CumplimientoAfp([Bind(Include = "AutoEvaluacionId,Cumple,Nocumple,Justifica,Nojustifica,Id,Registro,Observaciones,ItemEstandarId,Nit")] CumplimientoViewModelafp model)
        {
            try
            {
                AutoEvaluacionAfp autoevaluacionAfp = db.Tb_AutoEvaluacionAfp.FirstOrDefault(a => a.Empr_Nit == AccountData.NitEmpresa && !a.Finalizada);
                CumplimientoAfp   cumplimientoAfp;
                if (model.Id == 0)
                {
                    cumplimientoAfp =
                        new CumplimientoAfp
                    {
                        Cumpafp_Id       = model.Id,
                        Cump_NoAplica    = model.NoAplica,
                        Cump_Cumple      = model.Cumple,
                        Cump_Nocumple    = model.Nocumple,
                        Cump_Justifica   = model.Justifica,
                        Cump_Nojustifica = model.Nojustifica,
                        Cump_Observ      = model.Observaciones,
                        Cump_Registro    = DateTime.Now,
                        Empr_Nit         = model.Nit,
                        Iest_Id          = model.ItemEstandarId,
                        Auevafp_Id       = autoevaluacionAfp.Auevafp_Id,
                    };
                    db.Tb_cumplimientoAfp.Add(cumplimientoAfp);
                }
                else
                {
                    cumplimientoAfp = db.Tb_cumplimientoAfp.Find(model.Id);
                    cumplimientoAfp.Cump_NoAplica    = model.NoAplica;
                    cumplimientoAfp.Cumpafp_Id       = model.Id;
                    cumplimientoAfp.Cump_Cumple      = model.Cumple;
                    cumplimientoAfp.Cump_Nocumple    = model.Nocumple;
                    cumplimientoAfp.Cump_Justifica   = model.Justifica;
                    cumplimientoAfp.Cump_Nojustifica = model.Nojustifica;
                    cumplimientoAfp.Cump_Observ      = model.Observaciones;
                    cumplimientoAfp.Cump_Registro    = DateTime.Now;
                    cumplimientoAfp.Empr_Nit         = model.Nit;
                    cumplimientoAfp.Iest_Id          = model.ItemEstandarId;
                    cumplimientoAfp.Auevafp_Id       = autoevaluacionAfp.Auevafp_Id;
                    db.Entry(cumplimientoAfp).State  = EntityState.Modified;
                }
                db.SaveChanges();
                model.Id            = cumplimientoAfp.Cumpafp_Id;
                ViewBag.TextExitoso = "Se guardaron los datos exitosamente";
            }
            catch (Exception ex)
            {
                ViewBag.TextError = ex.Message;
                ItemEstandarAfp item = db.Tb_ItemEstandarAfp.Find(model.ItemEstandarId);
                model.ItemEstandar =
                    new ElementoViewModelafp
                {
                    Id             = item.Iest_Id,
                    Descripcion    = item.Iest_Desc,
                    Observaciones  = item.Iest_Observa,
                    Porcentaje     = item.Iest_Porcentaje,
                    Recurso        = item.Iest_Recurso,
                    Registro       = item.Iest_Registro,
                    Reursob        = item.Iest_Rescursob,
                    Verificar      = item.Iest_Verificar,
                    Video          = item.Iest_Video,
                    Periodo        = item.Iest_Peri,
                    MasInformacion = item.Iest_MasInfo
                };
                return(View(model));
            }

            return(RedirectToAction("AutoevaluacionAfp"));
        }
        public ActionResult Cumplimientoafp(int idItem)
        {
            CumplimientoAfp cumplimientoAfp = db.Tb_cumplimientoAfp.FirstOrDefault(c => c.Empr_Nit == AccountData.NitEmpresa && c.Iest_Id == idItem && !c.AutoEvaluacionAfp.Finalizada);
            ItemEstandarAfp item            = db.Tb_ItemEstandarAfp.Find(idItem);

            if (cumplimientoAfp == null)
            {
                return(View(
                           new CumplimientoViewModelafp
                {
                    ItemEstandarId = idItem,
                    Cumple = true,
                    Justifica = true,
                    Nit = AccountData.NitEmpresa,
                    Registro = DateTime.Now,
                    ItemEstandar =
                        new ElementoViewModelafp
                    {
                        Id = item.Iest_Id,
                        Descripcion = item.Iest_Desc,
                        Observaciones = item.Iest_Observa,
                        Porcentaje = item.Iest_Porcentaje,
                        Recurso = item.Iest_Recurso,
                        Registro = item.Iest_Registro,
                        Reursob = item.Iest_Rescursob,
                        Verificar = item.Iest_Verificar,
                        Video = item.Iest_Video,
                        Periodo = item.Iest_Peri,
                        MasInformacion = item.Iest_MasInfo
                    }
                }));
            }
            return(View(
                       new CumplimientoViewModelafp
            {
                AcumMes = cumplimientoAfp.AcumMes?.ToList(),
                AutoEvaluacionId = cumplimientoAfp.Auevafp_Id,
                NoAplica = cumplimientoAfp.Cump_NoAplica,
                Cumple = cumplimientoAfp.Cump_Cumple,
                EvidenciasAfp = cumplimientoAfp.EvidenciasAfp?.ToList(),
                Id = cumplimientoAfp.Cumpafp_Id,
                ItemEstandarId = cumplimientoAfp.Iest_Id,
                ItemEstandar =
                    new ElementoViewModelafp
                {
                    Id = item.Iest_Id,
                    Descripcion = item.Iest_Desc,
                    Observaciones = item.Iest_Observa,
                    Porcentaje = item.Iest_Porcentaje,
                    Recurso = item.Iest_Recurso,
                    Registro = item.Iest_Registro,
                    Reursob = item.Iest_Rescursob,
                    Verificar = item.Iest_Verificar,
                    Video = item.Iest_Video,
                    Periodo = item.Iest_Peri,
                    MasInformacion = item.Iest_MasInfo
                },
                Justifica = cumplimientoAfp.Cump_Justifica,
                Nit = AccountData.NitEmpresa,
                Nocumple = cumplimientoAfp.Cump_Nocumple,
                Nojustifica = cumplimientoAfp.Cump_Nojustifica,
                Observaciones = cumplimientoAfp.Cump_Observ,
                Registro = cumplimientoAfp.Cump_Registro
            }));
        }