public ActionResult CargaEvidenciaDecreto1072([Bind(Include = "Evidencia,Archivo,NombreDocumento,TipoDocumento,Fecha,Responsable,IdCumplimientoDecreto1072")] EvidenciaCumplimientoViewModelDecreto1072 model)
        {
            ApplicationUser         usuario = db.Users.Find(AccountData.UsuarioId);
            CumplimientoDecreto1072 cumplimientodecreto1072 = db.Tb_cumplimientoDecreto1072.FirstOrDefault(a => a.CumpDecreto_Id == model.IdCumplimientoDecreto1072);

            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 <EvidenciaDecreto1072> evidencias = db.Tb_EvidenciaDecreto1072.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();

                EvidenciaDecreto1072 evidenciadecreto1072 = new EvidenciaDecreto1072
                {
                    Evid_Nombre    = nombreArchivo,
                    CumpDecreto_Id = model.IdCumplimientoDecreto1072,
                    Evid_Registro  = model.Fecha,
                    Tdca_id        = Convert.ToInt32(model.TipoDocumento),
                    Evid_Archivo   = nombreArchivo + "." + extensionArchivo
                };
                evidenciadecreto1072.Responsable = AccountData.UsuarioId;
                db.Tb_EvidenciaDecreto1072.Add(evidenciadecreto1072);
                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 EvidenciaCumplimientoViewModelDecreto1072()));
        }
        public ActionResult CumplimientoDecreto1072([Bind(Include = "AutoEvaluacionId,Cumple,Nocumple,Justifica,Nojustifica,Id,Registro,Observaciones,ItemEstandarId,Nit")] CumplimientoViewModelDecreto1072 model)
        {
            try
            {
                AutoevaluacionDecreto1072 autoevaluaciondecreto1072 = db.Tb_AutoEvaluacionDecreto1072.FirstOrDefault(a => a.Empr_Nit == AccountData.NitEmpresa && !a.Finalizada);
                CumplimientoDecreto1072   cumplimientodecreto1072;
                if (model.Id == 0)
                {
                    cumplimientodecreto1072 =
                        new CumplimientoDecreto1072
                    {
                        CumpDecreto_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,
                        IeDecreto_Id     = model.ItemEstandarId,
                        AeDecreto_Id     = autoevaluaciondecreto1072.AeDecreto_Id,
                    };
                    db.Tb_cumplimientoDecreto1072.Add(cumplimientodecreto1072);
                }
                else
                {
                    cumplimientodecreto1072 = db.Tb_cumplimientoDecreto1072.Find(model.Id);
                    cumplimientodecreto1072.Cump_NoAplica    = model.NoAplica;
                    cumplimientodecreto1072.CumpDecreto_Id   = model.Id;
                    cumplimientodecreto1072.Cump_Cumple      = model.Cumple;
                    cumplimientodecreto1072.Cump_Nocumple    = model.Nocumple;
                    cumplimientodecreto1072.Cump_Justifica   = model.Justifica;
                    cumplimientodecreto1072.Cump_Nojustifica = model.Nojustifica;
                    cumplimientodecreto1072.Cump_Observ      = model.Observaciones;
                    cumplimientodecreto1072.Cump_Registro    = DateTime.Now;
                    cumplimientodecreto1072.Empr_Nit         = model.Nit;
                    cumplimientodecreto1072.IeDecreto_Id     = model.ItemEstandarId;
                    cumplimientodecreto1072.AeDecreto_Id     = autoevaluaciondecreto1072.AeDecreto_Id;
                    db.Entry(cumplimientodecreto1072).State  = EntityState.Modified;
                }
                db.SaveChanges();
                model.Id            = cumplimientodecreto1072.CumpDecreto_Id;
                ViewBag.TextExitoso = "Se guardaron los datos exitosamente";
            }
            catch (Exception ex)
            {
                ViewBag.TextError = ex.Message;
                ItemEstandarDecreto1072 item = db.Tb_ItemEstandarDecreto1072.Find(model.ItemEstandarId);
                model.ItemEstandar =
                    new ElementoViewModelDecreto1072
                {
                    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("AutoevaluacionDecreto1072"));
        }
        public ActionResult CumplimientoDecreto1072(int idItem)
        {
            CumplimientoDecreto1072 cumplimientodecreto1072 = db.Tb_cumplimientoDecreto1072.FirstOrDefault(c => c.Empr_Nit == AccountData.NitEmpresa && c.IeDecreto_Id == idItem && !c.AutoevaluacionDecreto1072.Finalizada);
            ItemEstandarDecreto1072 item = db.Tb_ItemEstandarDecreto1072.Find(idItem);

            if (cumplimientodecreto1072 == null)
            {
                return(View(
                           new CumplimientoViewModelDecreto1072
                {
                    ItemEstandarId = idItem,
                    Cumple = true,
                    Justifica = true,
                    Nit = AccountData.NitEmpresa,
                    Registro = DateTime.Now,
                    ItemEstandar =
                        new ElementoViewModelDecreto1072
                    {
                        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 CumplimientoViewModelDecreto1072
            {
                AcumMes = cumplimientodecreto1072.AcumMes?.ToList(),
                AutoEvaluacionId = cumplimientodecreto1072.AeDecreto_Id,
                NoAplica = cumplimientodecreto1072.Cump_NoAplica,
                Cumple = cumplimientodecreto1072.Cump_Cumple,
                EvidenciasDecreto1072 = cumplimientodecreto1072.EvidenciasDecreto1072?.ToList(),
                Id = cumplimientodecreto1072.CumpDecreto_Id,
                ItemEstandarId = cumplimientodecreto1072.IeDecreto_Id,
                ItemEstandar =
                    new ElementoViewModelDecreto1072
                {
                    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 = cumplimientodecreto1072.Cump_Justifica,
                Nit = AccountData.NitEmpresa,
                Nocumple = cumplimientodecreto1072.Cump_Nocumple,
                Nojustifica = cumplimientodecreto1072.Cump_Nojustifica,
                Observaciones = cumplimientodecreto1072.Cump_Observ,
                Registro = cumplimientodecreto1072.Cump_Registro
            }));
        }