public IActionResult ObtenerEstatusReporte(string nombre, int numeroPaginacion, int cantidadPaginacion, string columnaOrdenamiento, bool reversaOrdenamiento)
        {
            using (var db = new smafacpyaContext())
            {
                var valido = ValidarLogin();
                if (valido != HttpStatusCode.OK)
                {
                    if (valido == HttpStatusCode.Unauthorized)
                    {
                        return(Unauthorized(constantes.mensajes.sesionExpirada));
                    }
                    else
                    {
                        return(BadRequest(constantes.mensajes.error));
                    }
                }
                var estatus = db.Estatus.AsNoTracking().AsQueryable();

                if (!string.IsNullOrWhiteSpace(nombre))
                {
                    estatus = estatus.Where(x => x.Nombre.Contains(nombre));
                }

                switch (columnaOrdenamiento)
                {
                case "Nombre":
                    if (reversaOrdenamiento)
                    {
                        estatus = estatus.OrderByDescending(x => x.Nombre);
                    }
                    else
                    {
                        estatus = estatus.OrderBy(x => x.Nombre);
                    }
                    break;

                default:
                    if (reversaOrdenamiento)
                    {
                        estatus = estatus.OrderByDescending(x => x.Nombre);
                    }
                    else
                    {
                        estatus = estatus.OrderBy(x => x.Nombre);
                    }
                    break;
                }

                var lista = estatus.Select(x => new EstatusViewModel
                {
                    Id     = x.Id,
                    Nombre = x.Nombre,
                    Llave  = x.Llave
                });

                return(Ok(PaginacionConsulta.ObtenerPaginacion(lista, numeroPaginacion, cantidadPaginacion)));
            }
        }
Beispiel #2
0
        public IActionResult ObtenerProyectos(string nombre, string descripcion, bool todos, int numeroPaginacion, int cantidadPaginacion, string columnaOrdenamiento, bool reversaOrdenamiento)
        {
            using (var db = new smafacpyaContext())
            {
                var valido = ValidarLogin();
                if (valido != HttpStatusCode.OK)
                {
                    if (valido == HttpStatusCode.Unauthorized)
                    {
                        return(Unauthorized(constantes.mensajes.sesionExpirada));
                    }
                    else
                    {
                        return(BadRequest(constantes.mensajes.error));
                    }
                }
                var proyectos = db.Proyecto.AsNoTracking().AsQueryable();

                if (!string.IsNullOrWhiteSpace(nombre))
                {
                    proyectos = proyectos.Where(x => x.Nombre.Contains(nombre));
                }
                if (!string.IsNullOrWhiteSpace(descripcion))
                {
                    proyectos = proyectos.Where(x => x.Descripcion.Contains(descripcion));
                }
                if (!todos)
                {
                    proyectos = proyectos.Where(x => (bool)x.Activo);
                }

                switch (columnaOrdenamiento)
                {
                case "Nombre":
                    if (reversaOrdenamiento)
                    {
                        proyectos = proyectos.OrderByDescending(x => x.Nombre);
                    }
                    else
                    {
                        proyectos = proyectos.OrderBy(x => x.Nombre);
                    }
                    break;

                case "Descripcion":
                    if (reversaOrdenamiento)
                    {
                        proyectos = proyectos.OrderByDescending(x => x.Descripcion);
                    }
                    else
                    {
                        proyectos = proyectos.OrderBy(x => x.Descripcion);
                    }
                    break;

                case "Activo":
                    if (reversaOrdenamiento)
                    {
                        proyectos = proyectos.OrderByDescending(x => x.Activo);
                    }
                    else
                    {
                        proyectos = proyectos.OrderBy(x => x.Activo);
                    }
                    break;

                default:
                    if (reversaOrdenamiento)
                    {
                        proyectos = proyectos.OrderByDescending(x => x.Nombre);
                    }
                    else
                    {
                        proyectos = proyectos.OrderBy(x => x.Nombre);
                    }
                    break;
                }

                var lista = proyectos.Select(x => new ProyectoViewModel
                {
                    Id          = x.Id,
                    Nombre      = x.Nombre,
                    Descripcion = x.Descripcion,
                    Activo      = x.Activo
                });

                return(Ok(PaginacionConsulta.ObtenerPaginacion(lista, numeroPaginacion, cantidadPaginacion)));
            }
        }
Beispiel #3
0
        public IActionResult ObtenerReportesUsuario(string folio, int idEstatusReporte, int numeroPaginacion, int cantidadPaginacion, string columnaOrdenamiento, bool reversaOrdenamiento)
        {
            using (var db = new smafacpyaContext())
            {
                var idUsuario = ObtenerUsuarioId();
                var valido    = ValidarLogin();
                if (valido != HttpStatusCode.OK)
                {
                    if (valido == HttpStatusCode.Unauthorized)
                    {
                        return(Unauthorized(constantes.mensajes.sesionExpirada));
                    }
                    else
                    {
                        return(BadRequest(constantes.mensajes.error));
                    }
                }
                var reportes = db.Reporte.Include(x => x.IdMotivoNavigation).AsNoTracking().Where(x => x.IdUsuarioAsignacion == idUsuario);

                if (!string.IsNullOrWhiteSpace(folio))
                {
                    reportes = reportes.Where(x => x.Folio.Contains(folio));
                }
                if (idEstatusReporte > 0)
                {
                    reportes = reportes.Where(x => x.IdEstatusReporte == idEstatusReporte);
                }

                switch (columnaOrdenamiento)
                {
                case "Folio":
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.Folio);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.Folio);
                    }
                    break;

                case "Motivo":
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.IdMotivoNavigation.Motivo1);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.IdMotivoNavigation.Motivo1);
                    }
                    break;

                case "FechaReporte":
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.FechaReporte);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.FechaReporte);
                    }
                    break;

                case "FechaFinalizacion":
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.FechaFinalizacion);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.FechaFinalizacion);
                    }
                    break;

                case "EstatusReporte":
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.IdEstatusReporteNavigation.Nombre);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.IdEstatusReporteNavigation.Nombre);
                    }
                    break;

                default:
                    if (reversaOrdenamiento)
                    {
                        reportes = reportes.OrderByDescending(x => x.Folio);
                    }
                    else
                    {
                        reportes = reportes.OrderBy(x => x.Folio);
                    }
                    break;
                }

                var lista = reportes.Select(x => new ReporteViewModel
                {
                    Id                = x.Id,
                    Folio             = x.Folio,
                    FechaReporte      = x.FechaReporte,
                    FechaFinalizacion = x.FechaFinalizacion,
                    Motivo            = x.IdMotivoNavigation == null ? new MotivoViewModel() : new MotivoViewModel
                    {
                        Id     = x.IdMotivoNavigation.Id,
                        Motivo = x.IdMotivoNavigation.Motivo1
                    },
                    Proyecto = x.IdProyectoNavigation == null ? new ProyectoViewModel() : new ProyectoViewModel
                    {
                        Id     = x.IdProyectoNavigation.Id,
                        Nombre = x.IdProyectoNavigation.Nombre
                    },
                    Estatus = x.IdEstatusReporteNavigation == null ? new EstatusViewModel() : new EstatusViewModel
                    {
                        Id     = x.IdEstatusReporteNavigation.Id,
                        Nombre = x.IdEstatusReporteNavigation.Nombre
                    }
                });

                return(Ok(PaginacionConsulta.ObtenerPaginacion(lista, numeroPaginacion, cantidadPaginacion)));
            }
        }
        public IActionResult ObtenerUsuarios(string nombre, string correo, bool todos, int numeroPaginacion, int cantidadPaginacion, string columnaOrdenamiento, bool reversaOrdenamiento)
        {
            using (var db = new smafacpyaContext())
            {
                var valido = ValidarLogin();
                if (valido != HttpStatusCode.OK)
                {
                    if (valido == HttpStatusCode.Unauthorized)
                    {
                        return(Unauthorized(constantes.mensajes.sesionExpirada));
                    }
                    else
                    {
                        return(BadRequest(constantes.mensajes.error));
                    }
                }
                var usuarios = db.Usuario.AsNoTracking().AsQueryable();

                if (!string.IsNullOrWhiteSpace(nombre))
                {
                    usuarios = usuarios.Where(x => x.Nombre.Contains(nombre) || x.ApellidoPaterno.Contains(nombre) || x.ApellidoMaterno.Contains(nombre));
                }
                if (!string.IsNullOrWhiteSpace(correo))
                {
                    usuarios = usuarios.Where(x => x.Correo.Contains(correo));
                }
                if (!todos)
                {
                    usuarios = usuarios.Where(x => x.Activo);
                }

                switch (columnaOrdenamiento)
                {
                case "Nombre":
                    if (reversaOrdenamiento)
                    {
                        usuarios = usuarios.OrderByDescending(x => x.Nombre).ThenBy(x => x.ApellidoPaterno).ThenBy(x => x.ApellidoMaterno);
                    }
                    else
                    {
                        usuarios = usuarios.OrderBy(x => x.Nombre).ThenByDescending(x => x.ApellidoPaterno).ThenByDescending(x => x.ApellidoMaterno);
                    }
                    break;

                case "Correo":
                    if (reversaOrdenamiento)
                    {
                        usuarios = usuarios.OrderByDescending(x => x.Correo);
                    }
                    else
                    {
                        usuarios = usuarios.OrderBy(x => x.Correo);
                    }
                    break;

                case "Activo":
                    if (reversaOrdenamiento)
                    {
                        usuarios = usuarios.OrderByDescending(x => x.Activo);
                    }
                    else
                    {
                        usuarios = usuarios.OrderBy(x => x.Activo);
                    }
                    break;

                case "FechaNacimiento":
                    if (reversaOrdenamiento)
                    {
                        usuarios = usuarios.OrderByDescending(x => x.FechaNacimiento);
                    }
                    else
                    {
                        usuarios = usuarios.OrderBy(x => x.FechaNacimiento);
                    }
                    break;

                default:
                    if (reversaOrdenamiento)
                    {
                        usuarios = usuarios.OrderByDescending(x => x.Nombre).ThenBy(x => x.ApellidoPaterno).ThenBy(x => x.ApellidoMaterno);
                    }
                    else
                    {
                        usuarios = usuarios.OrderBy(x => x.Nombre).ThenByDescending(x => x.ApellidoPaterno).ThenByDescending(x => x.ApellidoMaterno);
                    }
                    break;
                }

                var lista = usuarios.Select(x => new UsuarioViewModel
                {
                    Id              = x.Id,
                    Nombre          = x.Nombre,
                    ApellidoPaterno = x.ApellidoPaterno,
                    ApellidoMaterno = x.ApellidoMaterno,
                    Correo          = x.Correo,
                    FechaNacimiento = x.FechaNacimiento,
                    Activo          = x.Activo
                });

                return(Ok(PaginacionConsulta.ObtenerPaginacion(lista, numeroPaginacion, cantidadPaginacion)));
            }
        }
Beispiel #5
0
 public ParametrosConsulta(T filtro, PaginacionConsulta paginacion)
 {
     Filtro     = filtro;
     Paginacion = paginacion;
 }