public async Task <Tuple <int, IEnumerable <OrdenTrabajoRemisionDTO> > > ConsultarOrdenDeTrabajoParaRemisionPorFiltro(OrdenTrabajoRemisionFiltroDTO ordenTrabajoRemision, UsuarioDTO usuario)
 {
     try
     {
         return(await _ordenTrabajoRepositorio.ConsultarOrdenDeTrabajoParaRemisionPorFiltro(ordenTrabajoRemision, usuario));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#2
0
        public async Task <IActionResult> ConsultarOrdenDeTrabajoParaRemisionPorFiltro([FromQuery] OrdenTrabajoRemisionFiltroDTO ordenTrabajoRemision)
        {
            try
            {
                var result = await _ordenTrabajoServicio.ConsultarOrdenDeTrabajoParaRemisionPorFiltro(ordenTrabajoRemision, new UsuarioDTO());

                return(Ok(new { CantidadRegistros = result.Item1, Listado = result.Item2.ToList() }));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <Tuple <int, IEnumerable <OrdenTrabajoRemisionDTO> > > ConsultarOrdenDeTrabajoParaRemisionPorFiltro(OrdenTrabajoRemisionFiltroDTO ordenTrabajoRemision, UsuarioDTO usuario)
        {
            try
            {
                var query = _context.OrdenTrabajo.Where(ot => ot.Estado.Valor == CanonicalConstants.Estados.OrdenTrabajo.Remision && ot.RemisionId == null &&
                                                        (string.IsNullOrEmpty(ordenTrabajoRemision.Id) || ot.Id.ToString().Contains(ordenTrabajoRemision.Id)) &&
                                                        (string.IsNullOrEmpty(ordenTrabajoRemision.Cliente) || ot.Cliente.NickName.Contains(ordenTrabajoRemision.Cliente)) &&
                                                        (string.IsNullOrEmpty(ordenTrabajoRemision.Linea) || ot.Linea.Nombre.Contains(ordenTrabajoRemision.Linea)) &&
                                                        (string.IsNullOrEmpty(ordenTrabajoRemision.Herramienta) || ot.Herramienta.Nombre.Contains(ordenTrabajoRemision.Herramienta)) &&
                                                        (string.IsNullOrEmpty(ordenTrabajoRemision.Fecha) || ot.FechaRegistro.ToString().Contains(ordenTrabajoRemision.Fecha)));

                var result = query.Select(ot => new OrdenTrabajoRemisionDTO
                {
                    Id                  = ot.Id,
                    Guid                = ot.Guid,
                    Cliente             = ot.Cliente.NickName,
                    Linea               = ot.Linea.Nombre,
                    Herramienta         = ot.Herramienta.Nombre,
                    Fecha               = ot.FechaRegistro,
                    ObservacionRemision = ot.ObservacionRemision
                }).OrderByDescending(c => c.Fecha)
                             .Skip(ordenTrabajoRemision.RegistrosOmitir())
                             .Take(ordenTrabajoRemision.CantidadRegistros)
                             .ToList();

                var cantidad = await query.CountAsync();

                return(new Tuple <int, IEnumerable <OrdenTrabajoRemisionDTO> >(cantidad, result));
            }
            catch (Exception)
            {
                throw;
            }
        }