public IHttpActionResult PostFiltro([FromBody] FiltroPedidos filtro) { try { Parametros parametros = new Parametros("SP_LOJA_SEL_PEDIDOS"); parametros.Add("ID_Cliente", filtro?.ID_Cliente ?? 0); parametros.Add("NR_Pedido", filtro?.NR_Pedido ?? 0); var dtInicial = filtro?.DT_EntregaInicial ?? null; if (dtInicial != null && dtInicial != DateTime.MinValue) { parametros.Add("DT_EntregaInicial", filtro.DT_EntregaInicial.ToShortDateString()); } else { parametros.Add("DT_EntregaInicial", ""); } var dtFinal = filtro?.DT_EntregaFinal ?? null; if (dtFinal != null && dtFinal != DateTime.MinValue) { parametros.Add("DT_EntregaFinal", filtro.DT_EntregaFinal.ToShortDateString()); } else { parametros.Add("DT_EntregaFinal", ""); } return(Ok(unitOfWork.Sp_Sel_Pedidos.Proc_Retorno(parametros.ToText(), parametros.GetParametros()).ToList())); } catch (Exception) { return(StatusCode(HttpStatusCode.InternalServerError)); } }
public JsonResult FiltraPedidos(int page, int rp, string sortname, string sortorder, string query) { try { FiltroPedidos filtro = JsonConvert.DeserializeObject <FiltroPedidos>(query); HttpResponseMessage response = GlobalVariables.WebApiClient.PostAsJsonAsync("Pedidos/Filtro", filtro).Result; List <ResultPedidos> result = response.Content.ReadAsAsync <List <ResultPedidos> >().Result; if (!string.IsNullOrEmpty(sortname)) { if (sortorder.Equals("desc")) { switch (sortname) { case "_ID_Pedido": result = result.OrderByDescending(x => x.ID_Pedido).ToList(); break; case "_NM_Cliente": result = result.OrderByDescending(x => string.IsNullOrEmpty(x.NM_Cliente) ? "CONSUMIDOR GENÉRICO" : x.NM_Cliente).ToList(); break; case "_NR_Valor": result = result.OrderByDescending(x => x.NR_Valor).ToList(); break; default: break; } } else { switch (sortname) { case "_ID_Pedido": result = result.OrderBy(x => x.ID_Pedido).ToList(); break; case "_NM_Cliente": result = result.OrderBy(x => string.IsNullOrEmpty(x.NM_Cliente) ? "CONSUMIDOR GENÉRICO" : x.NM_Cliente).ToList(); break; case "_NR_Valor": result = result.OrderBy(x => x.NR_Valor).ToList(); break; default: break; } } } var viewModel = new GridPedidos(result.Skip((page - 1) * rp).Take(page * rp).ToList()) { total = result.Count, page = page }; return(Json(viewModel, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { isSuccess = false, message = ex.Message }, JsonRequestBehavior.AllowGet)); } }