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));
        }
Beispiel #2
0
        /*public IActionResult AgregarResolucion(Resolucion resolucion)
         * {
         *  resolucion.RefSolicitud= _requestHandler.GetIdSolicitud();
         *  return IrPrincipal();
         * }*/

        //public IActionResult AgregarResolucion([Bind("NumeroResolucion,AnioResolucion")] Resolucion resolucion)
        public IActionResult AgregarResolucion([Bind("NumeroResolucion,AnioResolucion")] Resolucion resolucion)
        {
            ViewData["_usuario"] = _requestHandler.GetUsuario();
            if (ModelState.IsValid)
            {
                int idproceso    = _requestHandler.GetIdProceso();
                int idResolucion = ConsultaResolucion.CrearResolucion(resolucion);
                ConsultasGenerales.Actualizar_Proceso_Resolucion_DecGatos(2, idproceso, idResolucion); //el dos significa que se agregara el id de la resolucion
                int estado = 3;                                                                        /*Representa el estado de la resolucion finalizada*/
                ConsultasGenerales.Actualizar_Estado_Proceso(idproceso, estado);
                return(RedirectToAction("TablaSolicitudes", "Principal"));
            }
            return(View(resolucion));
        }
        public JsonResult ModificarResolucion(int NumResolucion, int AnioResolucion, IFormFile Archivo, Boolean CambioArchivo)
        {
            string  msj, titulo, ruta;
            bool    validar;
            Proceso proceso = HttpContext.Session.GetComplexData <Proceso>("Proceso");

            if (proceso.Resolucion.AnioResolucion != AnioResolucion || proceso.Resolucion.NumResolucion != NumResolucion || CambioArchivo)
            {
                if (CambioArchivo)
                {
                    System.IO.File.Delete(proceso.Resolucion.CopiaDoc);
                    ruta = GuardarArchivoResolucion(Archivo, proceso.Solicitud.Id.ToString());
                    proceso.Resolucion.CopiaDoc = ruta;
                }
                proceso.Resolucion.AnioResolucion = AnioResolucion;
                proceso.Resolucion.NumResolucion  = NumResolucion;

                int respuesta = ConsultaResolucion.ActualizarResolucion(proceso.Resolucion);

                if (respuesta == 1)
                {
                    HttpContext.Session.SetComplexData("Proceso", proceso);
                    validar = true;
                    titulo  = "Datos modificados exitosamente";
                    msj     = "Los datos se han modificado exitosamente";
                }
                else
                {
                    validar = false;
                    titulo  = "Se ha producido un problema";
                    msj     = "Los datos no se han modificado correctamente. Verifique que tenga conexión a internet e intentelo nuevamente. Si el problema persiste favor de contactarse con soporte.";
                }
            }
            else
            {
                validar = true;
                titulo  = "No existen cambios";
                msj     = "No se han guardados los datos debido a que no existen cambios";
            }
            var datos = new
            {
                validar,
                titulo,
                msj
            };

            return(Json(datos));
        }
        public void GuardarId(int IdSolicitud, int IdResolucion, int IdDeclaracionGastos, int IdResponsable, int Estado, String EstadoFinal)
        {
            //HttpContext.Session.SetComplexData("idSolicitud", IdSolicitud);
            Proceso proceso = new Proceso();

            proceso.Estado               = Estado;
            proceso.EstadoFinal          = EstadoFinal;
            proceso.Solicitud            = ConsultaSolicitud.LeerSolicitud(IdSolicitud);
            proceso.Responsable          = ConsultaUsuario.LeerRepresentante(IdResponsable);
            proceso.Direccion            = ConsultaSolicitud.LeerDireccion(IdSolicitud);
            proceso.Solicitud.Categorias = ConsultaSolicitud.LeerCategoriasSeleccionadas(IdSolicitud);

            if (proceso.Solicitud.NombreResponsable == null)
            {
                proceso.Solicitud.NombreResponsable = ConsultaUsuario.LeerRepresentante(IdResponsable).Nombre;
            }

            if (proceso.Solicitud.TipoEvento == "Grupal" && proceso.Solicitud.Participantes == null)
            {
                proceso.Solicitud.Participantes = ConsultaSolicitud.LeerParticipantes(proceso.Solicitud.Id);
            }

            if (proceso.Solicitud.Participantes == null)
            {
                proceso.Solicitud.Participantes = new List <Persona>();
            }

            proceso.Solicitud.Participantes.Add(new Persona()
            {
                Nombre = "Documentos en conjunto",
                RUN    = "-1"
            });

            if (IdResolucion != -1)
            {
                proceso.Resolucion = ConsultaResolucion.LeerResolucion(IdResolucion);
            }

            if (IdDeclaracionGastos != -1)
            {
                proceso.DeclaracionGastos = ConsultaDeclaracionGastos.LeerDeclaracionGastos(IdDeclaracionGastos);
            }
            HttpContext.Session.SetComplexData("Proceso", proceso);
        }
        public JsonResult CrearResolucion(int NumResolucion, int AnioResolucion, IFormFile Archivo)
        {
            Proceso    proceso = HttpContext.Session.GetComplexData <Proceso>("Proceso");
            string     idSolicitud = proceso.Solicitud.Id.ToString();
            string     ruta = GuardarArchivoResolucion(Archivo, idSolicitud);
            List <int> ids = ConsultaResolucion.CrearResolucion(AnioResolucion, NumResolucion, idSolicitud, ruta);
            string     msj, titulo;
            bool       validar;

            if (ids[0] > 0)
            {
                proceso.Resolucion        = ConsultaResolucion.LeerResolucion(ids[0]);
                proceso.DeclaracionGastos = ConsultaDeclaracionGastos.LeerDeclaracionGastos(ids[1]);
                proceso.Estado            = 3;
                HttpContext.Session.SetComplexData("Proceso", proceso);
                validar = true;
                titulo  = "Datos guardados exitosamente";
                msj     = "Los datos se han guardado exitosamente";
            }
            else if (ids[0] == -2)
            {
                validar = false;
                titulo  = "Se ha producido un problema";
                msj     = "Los datos no se han registrado correctamente. Esto se debe a que el número de la resolución y el año ya se encuentran registrado con anterioridad";
            }
            else
            {
                validar = false;
                titulo  = "Se ha producido un problema";
                msj     = "Los datos no se han guardado correctamente. Verifique que tenga conexión a internet e intentelo nuevamente. Si el problema persiste favor de contactarse con soporte.";
            }

            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));
        }