예제 #1
0
        public List <Solicitud> buscarSolicituHistorial(SolicitudFiltro filtro)
        {
            EntidadesSS      context = new EntidadesSS();
            List <Solicitud> solicitudes;
            var solicitud = from s in context.Solicituds
                            select s;

            try
            {
                solicitudes = solicitud
                              .Where(s =>
                                     (filtro.Folio == 0) ? s.Id != filtro.Folio : s.Id == filtro.Folio)
                              .Where(s =>
                                     (filtro.Nombre == "") ? s.Nombre_Solicitante != filtro.Nombre : s.Evento.Nombre == filtro.Nombre)
                              .Where(s =>
                                     (filtro.Correo == "") ? s.Correo_Solicitante != filtro.Correo : s.Correo_Solicitante == filtro.Correo)
                              .Where(s =>
                                     (filtro.carrera) ? s.Id_Carrera != 0 : s.Id_Carrera == filtro.Carrera.Id)
                              .ToList();
            }
            catch (Exception ex)
            {
                return(null);
            }

            return(solicitudes);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public List <Solicitud> BuscarSolicitudPorSubDirector(SolicitudFiltro filtro)
        {
            EntidadesSS      context = new EntidadesSS();
            List <Solicitud> solicitudes;
            var solicitud = from s in context.Solicituds
                            join v in context.Validacions
                            on s.Id_Validacion equals v.Id
                            where s.Validacion.Subdirector == false &&
                            s.Id_Estado == 1 &&
                            s.Correo_Solicitante != filtro.usuario.Correo
                            orderby(s.Id) ascending
                            select s;

            try
            {
                solicitudes = solicitud
                              .Where(s =>
                                     (filtro.Folio == 0) ? s.Id != filtro.Folio : s.Id == filtro.Folio)
                              .Where(s =>
                                     (filtro.Nombre == "") ? s.Nombre_Solicitante != filtro.Nombre : s.Evento.Nombre == filtro.Nombre)
                              .Where(s =>
                                     (filtro.carrera) ? s.Id_Carrera != 0 : s.Id_Carrera == filtro.Carrera.Id)
                              .ToList();
            }
            catch (Exception ex)
            {
                return(null);
            }

            return(solicitudes);
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO BuscarSolicitudesPorRols(SolicitudFiltro filtro, int paginacion)
        {
            List <SolicitudDTO> solicitudesDTO = new List <SolicitudDTO>();
            List <Solicitud>    solicitudes;
            MensajeDTO          mensaje;

            if (filtro.Carrera == null)
            {
                filtro.carrera = true;
                filtro.Carrera = new CarreraDTO();
            }
            if (filtro.Nombre == null)
            {
                filtro.Nombre = "";
            }

            if (filtro.usuario.Rol != null)
            {
                switch (filtro.usuario.Rol.Descripcion)
                {
                case "Coordinador":
                    solicitudes = solicitudRepositorio.buscarSolicitudesPorCoordinador(filtro);
                    break;

                case "Posgrado":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorPosgrado(filtro);
                    break;

                case "Administradora":
                    solicitudes = solicitudRepositorio.buscarSolicitudesPorAdministrador(filtro);
                    break;

                case "Subdirector":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorSubDirector(filtro);
                    break;

                case "Director":
                    solicitudes = solicitudRepositorio.BuscarSolicitudPorDirector(filtro);
                    break;

                default:
                    solicitudes = new List <Solicitud>();
                    break;
                }
            }
            else
            {
                solicitudes = solicitudRepositorio.buscarSolicitudesPorDocente(filtro);
            }

            foreach (Solicitud solicitud in solicitudes)
            {
                solicitudesDTO.Add(TransferirDTO.TransferirSolicitud(solicitud));
            }

            mensaje       = MensajeComponente.mensaje("Datos", solicitudesDTO.Skip(paginacion - 10).Take(paginacion));
            mensaje.largo = solicitudesDTO.Count();
            return(mensaje);
        }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public MensajeDTO BuscarSolicitudesPorCorreo(SolicitudFiltro filtro, int paginacion)
        {
            List <SolicitudDTO> solicitudesDTO = new List <SolicitudDTO>();

            if (filtro.Carrera == null)
            {
                filtro.carrera = true;
                filtro.Carrera = new CarreraDTO();
            }
            List <Solicitud> solicitudes = solicitudRepositorio.BuscarSolicitudPorCorreo(filtro);
            MensajeDTO       mensaje;

            foreach (Solicitud solicitud in solicitudes)
            {
                solicitudesDTO.Add(TransferirDTO.TransferirSolicitud(solicitud));
            }
            mensaje       = MensajeComponente.mensaje("Datos", solicitudesDTO.Skip(paginacion - 10).Take(paginacion).ToList());
            mensaje.largo = solicitudesDTO.Count();
            return(mensaje);
        }
예제 #5
0
        public List <Solicitud> buscarSolicitudesPorCoordinador(SolicitudFiltro filtro)
        {
            EntidadesSS      context = new EntidadesSS();
            List <Solicitud> solicitudes;
            var solicitud = from s in context.Solicituds
                            join v in context.Validacions
                            on s.Id_Validacion equals v.Id
                            join c in context.Carreras
                            on s.Id_Carrera equals c.Id
                            join u in context.Usuarios
                            on c.Id_Usuario_Coordinador equals u.Id

                            where (s.Correo_Solicitante != filtro.usuario.Correo &&
                                   s.Id_Estado == 1 &&
                                   s.Validacion.Coordinador == false &&
                                   s.Validacion.Administrador == true &&
                                   s.Carrera.Usuario.Correo == filtro.usuario.Correo)
                            select s;

            try
            {
                solicitudes = solicitud
                              .Where(s =>
                                     (filtro.Folio == 0) ? s.Id != filtro.Folio : s.Id == filtro.Folio)
                              .Where(s =>
                                     (filtro.Nombre == "") ? s.Nombre_Solicitante != filtro.Nombre : s.Evento.Nombre == filtro.Nombre)
                              .Where(s =>
                                     (filtro.carrera) ? s.Id_Carrera != 0 : s.Id_Carrera == filtro.Carrera.Id)
                              .ToList();
            }
            catch (Exception ex)
            {
                return(null);
            }

            return(solicitudes);
        }
예제 #6
0
 public IHttpActionResult BuscarSolicitudesPorRol([FromBody] SolicitudFiltro filtro, int paginacion)
 {
     return(Ok(servicioSolicitud.BuscarSolicitudesPorRols(filtro, paginacion)));
 }
예제 #7
0
 public IHttpActionResult ListarSolicitudPorCorreo([FromBody] SolicitudFiltro filtro, int paginacion)
 {
     return(Ok(servicioSolicitud.BuscarSolicitudesPorCorreo(filtro, paginacion)));
 }