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));
        }
Example #2
0
        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));
        }
Example #4
0
 public virtual async Task <bool> LoadAsync(APIFilter filter)
 {
     return(await Task.FromResult(true));
 }