public ActionResult <IEnumerable <Vehicle> > GetFilteredVehicles([FromBody] APIFilter filter) { //Get all vehicles var vehicles = _context.Vehicle.Include(v => v.make).AsEnumerable(); if (vehicles == null) { return(NotFound()); } //If filter for make not null if (filter.makeID != Guid.Empty) { //Filter vehicles = vehicles.Where(v => v.makeID == filter.makeID); } //If filter for state not null if (filter.state != null && filter.state != "All") { //Filter vehicles = vehicles.Where(v => v.state == filter.state); } //If filter for lplate not null if (filter.lPlate != null) { //Filter vehicles = vehicles.Where(v => v.licenseNum.Contains(filter.lPlate, StringComparison.OrdinalIgnoreCase)); } return(Ok(vehicles)); }
public APIFilter GenerateFilter(List <string> columnlist, List <string> filterlist, List <string> columnDisplayName) { APIFilter filter = new APIFilter(); List <APIColumnQuery> colQueries = new List <APIColumnQuery>(); string[] SplitColumns = columnlist[0].Split(','); string[] FilterList = filterlist[0].Split(','); string[] DisplayList = null; if (columnDisplayName.Count > 0) { DisplayList = columnDisplayName[0].Split(','); } filter.ColumnInfo = new DNAPIColumn[DisplayList.Length - 1]; if (columnlist != null && columnlist.Count > 0) { for (int i = 0; i < SplitColumns.Length; i++) { if (SplitColumns[i] != "") { var orderQuery1 = new APIColumnQuery(); orderQuery1.name = SplitColumns[i]; orderQuery1.search = new APISearchValue(); orderQuery1.search.value = FilterList[i]; colQueries.Add(orderQuery1); filter.ColumnInfo[i - 1] = new DNAPIColumn() { DisplayName = DisplayList[i], TableColumnName = SplitColumns[i] }; } } } filter.columns = new APIColumnQuery[colQueries.Count]; for (int i = 0; i < filter.columns.Length; i++) { filter.columns[i] = colQueries[i]; } filter.order = new APIOrderQuery[1]; filter.order[0] = new APIOrderQuery() { column = 0, dir = "asc" }; return(filter); }
public async Task <bool> LoadAsync(APIFilter filter, string profileno) { Items.Clear(); bool _isvalue = false; try { var httpResponse = await DNAPIHandler.Current.PostResponseAsync(string.Format(DNGlobalProperties.Current.ERPAPIAddress + @"/back_office/getfiltereditems/profilenumber={0}", profileno), filter.FilterToJSON()); if (httpResponse.StatusCode == HttpStatusCode.OK) { using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var items = JsonConvert.DeserializeObject <List <DNItem> >(streamReader.ReadToEnd()); if (items != null) { Items = new ObservableCollection <DNItem>(items); } } _isvalue = true; } } catch (Exception exc) { string error = exc.Message + exc.StackTrace; } return(await Task.FromResult(_isvalue)); }
public virtual async Task <bool> LoadAsync(APIFilter filter) { return(await Task.FromResult(true)); }