public String GuardarArchivoDeclaracionGastos(IFormFile archivo, int idSolicitud, int idDocumento, String IdParticipante)
        {
            //Usuario usuario = HttpContext.Session.GetComplexData<Usuario>("DatosUsuario");
            String tipoUsuario = HttpContext.Session.GetString("TipoUsuario");

            if (tipoUsuario.Equals("Estudiante dirigente"))
            {
                Usuario             usuario        = HttpContext.Session.GetComplexData <Usuario>("DatosUsuario");
                List <Organizacion> organizaciones = ConsultaUsuario.LeerOrganizacion(usuario.Id, tipoUsuario);
                Organizacion        organizacion   = organizaciones[0];
                Proceso             proceso        = HttpContext.Session.GetComplexData <Proceso>("Proceso");
                string webRootPath = _webHostEnvironment.WebRootPath;
                string carpeta     = Path.Combine(webRootPath, "Procesos", organizacion.Nombre, proceso.Solicitud.FechaTerminoEvento.Year.ToString(), idSolicitud.ToString(), "DeclaracionGastos", IdParticipante);
                //string carpeta = "wwwroot/Procesos/" + usuario.NombreOrganizacionEstudiantil + "/" + DateTime.Today.Year + "/" + idSolicitud + "/Resolucion";
                try
                {
                    if (!Directory.Exists(carpeta))
                    {
                        Directory.CreateDirectory(carpeta);
                    }

                    /*string nombreArchivoAux = Path.GetFileName(archivo.FileName);
                     * String [] datosArchivo =  nombreArchivoAux.Split(".");
                     * string nombreArchivo = idDocumento.ToString()+"."+ datosArchivo[datosArchivo.Length - 1];*/

                    String extension     = Path.GetExtension(archivo.FileName);
                    string nombreArchivo = idDocumento.ToString() + extension;
                    string rutaArchivo   = Path.Combine(carpeta, nombreArchivo);
                    using (FileStream stream = new FileStream(rutaArchivo, FileMode.Create))
                    {
                        archivo.CopyTo(stream);
                    }
                    return(rutaArchivo);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }

            return(null);
        }
        public JsonResult EliminarDocumentosDG()
        {
            String tipoUsuario = HttpContext.Session.GetString("TipoUsuario");

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

                try
                {
                    int validar = ConsultaDeclaracionGastos.EliminarDocumentosDG(proceso.DeclaracionGastos.Id);

                    if (validar == 1)
                    {
                        string rutaCarpetaDG = Path.Combine(webRootPath, "Procesos", organizacion.Nombre, proceso.Solicitud.FechaTerminoEvento.Year.ToString(), proceso.Solicitud.Id.ToString(), "DeclaracionGastos");

                        if (Directory.Exists(rutaCarpetaDG))
                        {
                            Directory.Delete(rutaCarpetaDG, true);
                            return(Json("1"));
                        }
                        else
                        {
                            return(Json("0"));
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
            return(Json("-1"));
        }
        public JsonResult EliminarDocumentosPaticipante(String IdParticipante)
        {
            //Usuario usuario = HttpContext.Session.GetComplexData<UsuarioRepresentante>("DatosUsuario");
            String tipoUsuario = HttpContext.Session.GetString("TipoUsuario");

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

                Proceso proceso = HttpContext.Session.GetComplexData <Proceso>("Proceso");
                proceso.Solicitud.Participantes = ConsultaDeclaracionGastos.LeerDocumentos(proceso.DeclaracionGastos.Id, proceso.Solicitud.Participantes, proceso.Solicitud.Categorias);
                if (IdParticipante == null)
                {
                    IdParticipante = HttpContext.Session.GetComplexData <String>("IdParticipante");
                }

                string webRootPath = _webHostEnvironment.WebRootPath;

                try
                {
                    int  cantParticipantes = proceso.Solicitud.Participantes.Count();
                    bool existenDocumentosParticipantes = false;
                    for (int i = 0; i < cantParticipantes; i++)
                    {
                        if (!proceso.Solicitud.Participantes[i].RUN.Equals(IdParticipante) && proceso.Solicitud.Participantes[i].Documentos != null && proceso.Solicitud.Participantes[i].Documentos.Count() > 0)
                        {
                            existenDocumentosParticipantes = true;
                        }
                    }

                    int validar = ConsultaDeclaracionGastos.EliminarDocumentosParticipante(proceso.DeclaracionGastos.Id, IdParticipante);

                    if (validar == 1)
                    {
                        string rutaCarpetaParticiapnte = Path.Combine(webRootPath, "Procesos", organizacion.Nombre, proceso.Solicitud.FechaTerminoEvento.Year.ToString(), proceso.Solicitud.Id.ToString(), "DeclaracionGastos", IdParticipante);
                        string rutaCarpetaDG           = Path.Combine(webRootPath, "Procesos", organizacion.Nombre, proceso.Solicitud.FechaTerminoEvento.Year.ToString(), proceso.Solicitud.Id.ToString(), "DeclaracionGastos");

                        if (existenDocumentosParticipantes && Directory.Exists(rutaCarpetaParticiapnte))
                        {
                            Directory.Delete(rutaCarpetaParticiapnte, true);
                            return(Json("1"));
                        }
                        else if (!existenDocumentosParticipantes && Directory.Exists(rutaCarpetaDG))
                        {
                            Directory.Delete(rutaCarpetaDG, true);
                            return(Json("1"));
                        }
                        else
                        {
                            return(Json("0"));
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
            return(Json("-1"));
        }