Esempio n. 1
0
        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()));
            }
        }