public List <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter) { Request.Method = Method.POST; Request.Resource = $"{Resource}/SearchAllComputers"; Request.AddJsonBody(filter); return(new ApiRequest().Execute <List <EntityComputer> >(Request)); }
public Task <List <EntityComputer> > SearchAsync(DtoSearchFilterAllComputers filter) { Request.Method = Method.POST; Request.Resource = $"{Resource}/SearchAllComputers"; Request.AddJsonBody(filter); var res = new ApiRequest().ExecuteAsync <List <EntityComputer> >(Request); return(res); }
protected void PopulateGrid() { var filter = new DtoSearchFilterAllComputers(); filter.Limit = ddlLimit.Text == "All" ? int.MaxValue : Convert.ToInt32(ddlLimit.Text); filter.SearchText = txtSearch.Text; filter.Status = ddlStatus.Text; filter.State = ddlDisabled.Text; filter.CategoryType = ddlCatType.Text; filter.Categories = SelectedCategories(); var listOfComputers = Call.ComputerApi.SearchAllComputers(filter); gvComputers.DataSource = listOfComputers; gvComputers.DataBind(); lblTotal.Text = gvComputers.Rows.Count + " Result(s) / " + Call.ComputerApi.GetAllCount() + " Computer(s)"; }
public List <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter) { var list = new List <EntityComputer>(); if (filter.State.Equals("Enabled")) { filter.State = "false"; } else if (filter.State.Equals("Disabled")) { filter.State = "true"; } if (filter.State.Equals("Any State") && filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)).OrderBy(x => x.Name).ToList(); } else if (filter.State.Equals("Any State") && !filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status).OrderBy(x => x.Name).ToList(); } else if (filter.State.Equals("true") && !filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status && s.AdDisabled).OrderBy(x => x.Name).ToList(); } else if (filter.State.Equals("false") && !filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.ProvisionStatus.ToString() == filter.Status && !s.AdDisabled).OrderBy(x => x.Name).ToList(); } else if (filter.State.Equals("true") && filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && s.AdDisabled).OrderBy(x => x.Name).ToList(); } else if (filter.State.Equals("false") && filter.Status.Equals("Any Status")) { list = _uow.ComputerRepository.Get(s => (s.Name.Contains(filter.SearchText) || s.Guid.Contains(filter.SearchText) || s.InstallationId.Contains(filter.SearchText)) && !s.AdDisabled).OrderBy(x => x.Name).ToList(); } if (list.Count == 0) { return(list); } var categoryFilterIds = new List <int>(); foreach (var catName in filter.Categories) { var category = _uow.CategoryRepository.GetFirstOrDefault(x => x.Name.Equals(catName)); if (category != null) { categoryFilterIds.Add(category.Id); } } var toRemove = new List <EntityComputer>(); if (filter.CategoryType.Equals("Any Category")) { return(list.Take(filter.Limit).ToList()); } else if (filter.CategoryType.Equals("And Category")) { foreach (var computer in list) { var cCategories = GetComputerCategories(computer.Id); if (cCategories == null) { continue; } if (filter.Categories.Count == 0) { if (cCategories.Count > 0) { toRemove.Add(computer); continue; } } foreach (var id in categoryFilterIds) { if (cCategories.Any(x => x.CategoryId == id)) { continue; } toRemove.Add(computer); break; } } } else if (filter.CategoryType.Equals("Or Category")) { foreach (var computer in list) { var cCategories = GetComputerCategories(computer.Id); if (cCategories == null) { continue; } if (filter.Categories.Count == 0) { if (cCategories.Count > 0) { toRemove.Add(computer); continue; } } var catFound = false; foreach (var id in categoryFilterIds) { if (cCategories.Any(x => x.CategoryId == id)) { catFound = true; break; } } if (!catFound) { toRemove.Add(computer); } } } foreach (var p in toRemove) { list.Remove(p); } return(list.Take(filter.Limit).ToList()); }
public IEnumerable <EntityComputer> SearchAllComputers(DtoSearchFilterAllComputers filter) { return(_computerServices.SearchAllComputers(filter)); }