public async Task <IActionResult> ConsultarRemisionesPendientesPorFiltro([FromQuery] RemisionPendienteFiltroDTO remisionPendiente) { try { var result = await _service.ConsultarRemisionesPendientesPorFiltro(remisionPendiente, new UsuarioDTO()); return(Ok(new { CantidadRegistros = result.Item1, Listado = result.Item2 })); } catch (Exception) { throw; } }
public async Task <Tuple <int, IEnumerable <RemisionPendienteDTO> > > ConsultarRemisionesPendientesPorFiltro(RemisionPendienteFiltroDTO remisionFiltro, UsuarioDTO usuario) { try { var query = await(from r in _context.Remision join rd in _context.RemisionDetalle on r.Id equals rd.RemisionId where r.Estado.Valor == CanonicalConstants.Estados.Remision.Pendiente && (string.IsNullOrEmpty(remisionFiltro.RemisionId) || r.Id.ToString().Contains(remisionFiltro.RemisionId.Trim())) && (string.IsNullOrEmpty(remisionFiltro.OrdenTrabajoId) || rd.OrdenTrabajo.Id.ToString().Contains(remisionFiltro.OrdenTrabajoId.Trim())) && (string.IsNullOrEmpty(remisionFiltro.Cliente) || rd.OrdenTrabajo.Cliente.NickName.Contains(remisionFiltro.Cliente.Trim())) && (string.IsNullOrEmpty(remisionFiltro.Herramienta) || rd.OrdenTrabajo.Herramienta.Nombre.Contains(remisionFiltro.Herramienta.Trim())) && (string.IsNullOrEmpty(remisionFiltro.Linea) || rd.OrdenTrabajo.Linea.Nombre.Contains(remisionFiltro.Linea.Trim())) && (string.IsNullOrEmpty(remisionFiltro.Serial) || rd.OrdenTrabajo.SerialHerramienta.Contains(remisionFiltro.Serial.Trim())) && (string.IsNullOrEmpty(remisionFiltro.DetalleSolicitud) || rd.OrdenTrabajo.DetallesSolicitud.Contains(remisionFiltro.DetalleSolicitud.Trim())) select new RemisionPendienteDTO { RemisionId = r.Id, GuidRemision = r.Guid, OrdenTrabajoId = rd.OrdenTrabajo.Id, Cliente = rd.OrdenTrabajo.Cliente.NickName, Linea = rd.OrdenTrabajo.Linea.Nombre, Herramienta = rd.OrdenTrabajo.Herramienta.Nombre, Serial = rd.OrdenTrabajo.SerialHerramienta, DetalleSolicitud = rd.OrdenTrabajo.DetallesSolicitud, Estado = r.Estado.Valor, Fecha = r.FechaRegistro }).ToListAsync(); var result = query.OrderByDescending(r => r.Fecha) .Skip(remisionFiltro.RegistrosOmitir()) .Take(remisionFiltro.CantidadRegistros) .ToList(); var cantidad = query.Count(); return(new Tuple <int, IEnumerable <RemisionPendienteDTO> >(cantidad, result)); } catch (Exception) { throw; } }
public async Task <Tuple <int, IEnumerable <RemisionPendienteDTO> > > ConsultarRemisionesPendientesPorFiltro(RemisionPendienteFiltroDTO remisionFiltro, UsuarioDTO usuario) { try { return(await _repository.ConsultarRemisionesPendientesPorFiltro(remisionFiltro, usuario)); } catch (Exception) { throw; } }