public JsonResult EliminarResolucion()
        {
            string  msj, titulo, carpeta = "", carpeta1 = "";
            Proceso proceso = HttpContext.Session.GetComplexData <Proceso>("Proceso");

            string[] ruta    = proceso.Resolucion.CopiaDoc.Split("\\");
            Boolean  validar = false;

            for (int i = 0; i < ruta.Length - 1; i++)
            {
                if (i < ruta.Length - 2)
                {
                    carpeta = Path.Combine(carpeta, ruta[i]);
                }
                carpeta1 = Path.Combine(carpeta, ruta[i]);
            }

            try
            {
                System.IO.File.Delete(proceso.Resolucion.CopiaDoc);
                System.IO.Directory.Delete(carpeta1); //Carpeta resolucion
                System.IO.Directory.Delete(carpeta);  //Carpeta con el id de la solicitud
                int respuesta = ConsultaResolucion.EliminarResolucion(proceso.Resolucion.Id);

                if (respuesta == 1)
                {
                    proceso.Resolucion = null;
                    proceso.Estado     = 2;
                    HttpContext.Session.SetComplexData("Proceso", proceso);
                    validar = true;
                    titulo  = "Eliminación exitosa";
                    msj     = "Se ha eliminado la resolución exitosamente";
                }
                else
                {
                    validar = false;
                    titulo  = "Se ha producido un problema";
                    msj     = "La resolución no se ha podido eliminar. Verifique que tenga conexión a internet e intentelo nuevamente. Si el problema persiste favor de contactarse con soporte.";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                validar = false;
                titulo  = "Error";
                msj     = "Es probable que no se pueda eliminar la resolucion debido a que la carpeta donde se encuentra la resolucion no se encuentre vacia.";
            }

            var datos = new
            {
                validar,
                titulo,
                msj
            };

            return(Json(datos));
        }
        public JsonResult EliminarPoceso(int IdSolicitud, int IdResolucion, int IdDeclaracionGastos, int fechaTerminoEvento, String EstadoFinal)
        {
            String  tipoUsuario = HttpContext.Session.GetString("TipoUsuario");
            string  webRootPath = _webHostEnvironment.WebRootPath, msj, titulo;
            int     eliminarSolicitud = -1, eliminarResolucion = -1, eliminarDG = -1;
            Boolean eliminarCarpeta = false, validar = false;

            if (tipoUsuario.Equals("Estudiante dirigente"))
            {
                Usuario             usuario        = HttpContext.Session.GetComplexData <Usuario>("DatosUsuario");
                List <Organizacion> organizaciones = ConsultaUsuario.LeerOrganizacion(usuario.Id, tipoUsuario);
                Organizacion        organizacion   = organizaciones[0];

                if (IdDeclaracionGastos != -1)
                {
                    eliminarDG = ConsultaDeclaracionGastos.EliminarDocumentosDG(IdDeclaracionGastos);
                    if (eliminarDG == 1)
                    {
                        eliminarResolucion = ConsultaResolucion.EliminarResolucion(IdResolucion);
                        if (eliminarResolucion == 1)
                        {
                            eliminarSolicitud = ConsultaSolicitud.EliminarSolicitud(IdSolicitud);
                            eliminarCarpeta   = true;
                        }
                    }
                }
                else if (IdResolucion != -1)
                {
                    eliminarResolucion = ConsultaResolucion.EliminarResolucion(IdResolucion);
                    if (eliminarResolucion == 1)
                    {
                        eliminarSolicitud = ConsultaSolicitud.EliminarSolicitud(IdSolicitud);
                        eliminarCarpeta   = true;
                    }
                }
                else
                {
                    eliminarSolicitud = ConsultaSolicitud.EliminarSolicitud(IdSolicitud);
                    eliminarCarpeta   = true;
                }

                try
                {
                    if (eliminarCarpeta)
                    {
                        string rutaCarpetaProceso = Path.Combine(webRootPath, "Procesos", organizacion.Nombre, fechaTerminoEvento.ToString(), IdSolicitud.ToString());
                        if (Directory.Exists(rutaCarpetaProceso))
                        {
                            Directory.Delete(rutaCarpetaProceso, true);
                        }
                        titulo  = "Eliminación exitosa";
                        msj     = "El proceso se ha eliminado correctamente";
                        validar = true;
                    }
                    else
                    {
                        titulo  = "Se ha producido un problema";
                        msj     = "El proceso no se ha podido eliminar. Verifique que tenga conexión a internet e intentelo nuevamente. Si el problema persiste favor de contactarse con soporte.";
                        validar = false;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    titulo  = "Error";
                    msj     = "Es probable que no se pueda eliminar el proceso debido a que exista algun problema de conexión o no exista la carpeta del proceso. Favor de contactarse con soporte";
                    validar = false;
                }
            }
            else
            {
                titulo  = "Error";
                msj     = "Usted no tiene permisos para eliminar procesos ya que no es un usuario representante";
                validar = false;
            }

            var datos = new
            {
                validar,
                titulo,
                msj
            };

            return(Json(datos));
        }