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))); } }
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))); } }
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))); } }
public ParametrosConsulta(T filtro, PaginacionConsulta paginacion) { Filtro = filtro; Paginacion = paginacion; }