public async Task <IActionResult> ConsultarSolicitudesDeTrabajoPorFiltro([FromQuery] ParametrosSolicitudOrdenTrabajoDTO parametrosDTO) { try { var result = (await _ordenTrabajoServicio.ConsultarSolicitudesDeTrabajoPorFiltro(new ParametrosSolicitudOrdenTrabajoDTO { CantidadRegistros = parametrosDTO.CantidadRegistros, PaginaActual = parametrosDTO.PaginaActual, Responsable = parametrosDTO.Responsable, Cliente = parametrosDTO.Cliente, ClienteLinea = parametrosDTO.ClienteLinea, DetallesSolicitud = parametrosDTO.DetallesSolicitud, Estado = parametrosDTO.Estado, Prioridad = parametrosDTO.Prioridad }, new UsuarioDTO())); return(Ok(new { CantidadRegistros = result.Item1, Listado = result.Item2.ToList() })); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <Tuple <int, IEnumerable <SolicitudOrdenTrabajo> > > ConsultarSolicitudesDeTrabajoPorFiltro(ParametrosSolicitudOrdenTrabajoDTO parametrosDTO, UsuarioDTO usuario) { try { return(await _ordenTrabajoRepositorio.ConsultarSolicitudesDeTrabajoPorFiltro(parametrosDTO, usuario)); } catch (Exception) { throw; } }
public async Task <Tuple <int, IEnumerable <SolicitudOrdenTrabajo> > > ConsultarSolicitudesDeTrabajoPorFiltro(ParametrosSolicitudOrdenTrabajoDTO parametrosDTO, UsuarioDTO usuario) { try { var query = _context.SolicitudOrdenTrabajo .Include(c => c.Anexos) .Include(c => c.Cliente) .Include(c => c.ClienteLinea) .Include(c => c.Estado) .Include(c => c.OrigenSolicitud) .Include(c => c.Prioridad) .Include(c => c.Responsable) .Where(e => (string.IsNullOrEmpty(parametrosDTO.Responsable) || e.Responsable.Valor.Contains(parametrosDTO.Responsable)) && (string.IsNullOrEmpty(parametrosDTO.Cliente) || e.Cliente.NickName.Contains(parametrosDTO.Cliente)) && (string.IsNullOrEmpty(parametrosDTO.ClienteLinea) || e.ClienteLinea.Nombre.Contains(parametrosDTO.ClienteLinea)) && (string.IsNullOrEmpty(parametrosDTO.Prioridad) || e.Prioridad.Valor.Contains(parametrosDTO.Prioridad)) && (string.IsNullOrEmpty(parametrosDTO.DetallesSolicitud) || e.DetallesSolicitud.Contains(parametrosDTO.DetallesSolicitud)) && (string.IsNullOrEmpty(parametrosDTO.Estado) || e.Estado.Valor.Equals(parametrosDTO.Estado)) ); var queryPagination = await query .Skip(parametrosDTO.RegistrosOmitir()) .Take(parametrosDTO.CantidadRegistros) .ToListAsync(); var cantidad = query.Count(); return(new Tuple <int, IEnumerable <SolicitudOrdenTrabajo> >(cantidad, queryPagination)); } catch (Exception) { throw; } }