public ActionResult EliminarReporteActaCondicion(int id) { string miIp = ""; var Transaction = db.Database.BeginTransaction(); SG_SSTContext context = new SG_SSTContext(); var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current); if (usuarioActual == null) { ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo."; return(RedirectToAction("Login", "Home")); } System.Web.HttpContext httpC = System.Web.HttpContext.Current; string ipConProxy = httpC.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (!string.IsNullOrEmpty(ipConProxy)) { miIp = ipConProxy.Split(',')[0]; } else { miIp = httpC.Request.ServerVariables["REMOTE_ADDR"]; } ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("idReporte", id); var planCerrado = ServiceClient.ObtenerObjetoJsonRestFul <bool>(UrlServicioParticipacion, ValidarExistePlanCondicionesInseguras, RestSharp.Method.GET); if (!planCerrado) { ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("idReporte", id); var imagenesBorar = (from img in context.Tbl_ImagenesReportes where img.FK_Id_Reportes == id select img).ToList(); EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria() { IdentificacionUsuario = usuarioActual.Documento, NombreUsuario = usuarioActual.NombreUsuario, NitEmpresa = usuarioActual.NitEmpresa, NombreEmpresa = usuarioActual.RazonSocialEmpresa, IpUsuario = miIp }; Reporte perfil = db.Tbl_Reportes.Find(id); var informacion = "Nombre Empresa:" + perfil.RazonSocialEmpresa + " " + "Razon Social:" + perfil.RazonSocialEmpresa + " " + "Sede:" + perfil.Sede.Pk_Id_Sede + " " + "Tipo:" + perfil.TipoReporte.Descripcion_Tipo_Reporte + "Proceso:" + perfil.Procesos.Descripcion_Proceso + " " + "Area o Lugar:" + perfil.Area_Lugar + " " + "Fecha Evento:" + perfil.Fecha_Ocurrencia + " " + "Documento:" + perfil.Cedula_Quien_Reporta + " " + "Descripcion:" + perfil.descripcion_Reporte + " " + "Causa:" + perfil.Causa_Reporte + " " + "Sugerencia:" + " " + perfil.Sugerencias_Reporte; ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("idReporte", id); var result = ServiceClient.ObtenerObjetoJsonRestFul <bool>(UrlServicioParticipacion, eliminarReportesCondicionesInseguras, RestSharp.Method.GET); if (result) { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaParticipacionTrabajadores) { AuditoriaSistemaManager auditoriaSistema = new AuditoriaSistemaManager(); db.Tbl_AuditoriaParticipacionTrabajadoresSistema.Add(auditoriaSistema.ObtenerAuditoriaParticipacionTrabajadores(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.ELIMINACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Participacion_Trabajadores, Enumeraciones.EnumAuditoriaSistema.SubModulos.Reporte_Actos_Condiciones_Inseguras, Enumeraciones.EnumAuditoriaSistema.Opciones.Eliminar_Reporte_Actos_Inseguros, informacion)); } /*Fin auditoria*/ db.SaveChanges(); Transaction.Commit(); string ruta = rutaImagenesReportesCI + usuarioActual.NitEmpresa; foreach (ImagenesReportes img in imagenesBorar) { var path = Server.MapPath(ruta); var file = img.ruta; var fullPath = Path.Combine(path, file); if (System.IO.File.Exists(fullPath)) { RegistraLog registraLog = new RegistraLog(); try { System.IO.File.Delete(fullPath); } catch (System.IO.IOException e) { registraLog.RegistrarError(typeof(ActividadesActosInseguros), string.Format("Error al eliminar la imagen del servidor {0}: {1}", DateTime.Now, e.StackTrace), e); } } } ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("nit", usuarioActual.NitEmpresa); var reporte = ServiceClient.ObtenerArrayJsonRestFul <EDReporte>(UrlServicioParticipacion, CapacidadObtenerReporteEmpresa, RestSharp.Method.GET); ViewBag.eliminado = true; return(View("Index", reporte.ToList())); } else { ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("nit", usuarioActual.NitEmpresa); var reporte = ServiceClient.ObtenerArrayJsonRestFul <EDReporte>(UrlServicioParticipacion, CapacidadObtenerReporteEmpresa, RestSharp.Method.GET); ViewBag.eliminado = false; return(View("Index", reporte.ToList())); } } else { ServiceClient.EliminarParametros(); ServiceClient.AdicionarParametro("nit", usuarioActual.NitEmpresa); var reporte = ServiceClient.ObtenerArrayJsonRestFul <EDReporte>(UrlServicioParticipacion, CapacidadObtenerReporteEmpresa, RestSharp.Method.GET); ViewBag.noEliminar = true; return(View("Index", reporte.ToList())); } }