public IHttpActionResult filtro(PaqueteFiltroDTO filtro) { try { BLPaquete bl = new BLPaquete(); return(Ok(bl.filtro(filtro))); } catch (Exception e) { return(Content(HttpStatusCode.InternalServerError, e.Message)); } }
public ActionResult Filtro(PaqueteFiltroDTO collection) { try { var client = new RestClient(Direcciones.ApiRest + "paquete/filtro"); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddHeader("Authorization", "Bearer " + Request.Cookies["Token"].Value); request.AddJsonBody(collection); IRestResponse response = client.Execute(request); if (response.StatusCode.ToString() == "OK") { List <Paquete> lp = JsonConvert.DeserializeObject <List <Models.Paquete> >(response.Content); ViewBag.PAQUETES = lp; return(View()); } throw new ECompartida(response.Content); } catch (Exception e) { ViewBag.ERROR = e.Message; return(Filtro()); } }
public List <SPaquete> filtro(PaqueteFiltroDTO filtro) { try { List <SPaquete> todos = _dal.getAll(); bool cambio = false; List <SPaquete> temporal = new List <SPaquete>(); List <SPaquete> respuesta = new List <SPaquete>(); BLCliente _blCliente = new BLCliente(); if (filtro.FechaFinal != null && filtro.FechaInicio != null) { todos.Where(x => ((x.FechaIngreso >= filtro.FechaInicio) && (x.FechaIngreso <= filtro.FechaFinal)) || ((x.FechaEntrega >= filtro.FechaInicio) && (x.FechaEntrega <= filtro.FechaFinal))).ToList().ForEach(x => { respuesta.Add(x); }); todos = respuesta; respuesta = new List <SPaquete>(); cambio = true; } if (filtro.Remitente != null) { todos.Where(x => x.IdRemitente == _blCliente.getClienteByEmail(filtro.Remitente).Id).ToList().ForEach(x => { if (respuesta.FirstOrDefault(z => z.Id == x.Id) == null) { respuesta.Add(x); } }); todos = respuesta; respuesta = new List <SPaquete>(); cambio = true; } if (filtro.Destinatario != null) { todos.Where(x => x.IdDestinatario == _blCliente.getClienteByEmail(filtro.Destinatario).Id).ToList().ForEach(x => { if (respuesta.FirstOrDefault(z => z.Id == x.Id) == null) { respuesta.Add(x); } }); todos = respuesta; respuesta = new List <SPaquete>(); cambio = true; } if (filtro.Estado != null) { if (filtro.Estado == "En viaje") { todos.Where(x => x.FechaIngreso == x.FechaEntrega).ToList().ForEach(x => { if (respuesta.FirstOrDefault(z => z.Id == x.Id) == null) { respuesta.Add(x); } }); todos = respuesta; respuesta = new List <SPaquete>(); cambio = true; } else { todos.Where(x => x.FechaIngreso != x.FechaEntrega).ToList().ForEach(x => { if (respuesta.FirstOrDefault(z => z.Id == x.Id) == null) { respuesta.Add(x); } }); todos = respuesta; respuesta = new List <SPaquete>(); cambio = true; } } if (cambio) { return(todos); } return(null); } catch (Exception) { throw; } }