private void FilteringBegingButton_Click(object sender, EventArgs e) { if (BaseFilterFilepathTextBox.Text != string.Empty && BaseFilepathAfterFilteringTextBox.Text != string.Empty) { FiltersStatus filtersStatus = GetFiltersStatus(); if (filtersStatus.OneFilterEnabled()) { FilteringParameters filteringParameters = new FilteringParameters() { FollowersMinCount = IntToUint(FollowersCount.MinValue), FollowersMaxCount = IntToUint(FollowersCount.MaxValue), PostsMinCount = IntToUint(PostsCount.MinValue), PostsMaxCount = IntToUint(PostsCount.MaxValue), SubscriptionsMinCount = IntToUint(SubscriptionsCount.MinValue), SubscriptionsMaxCount = IntToUint(SubscriptionsCount.MaxValue) }; Thread filteringThread = new Thread(() => instagram.FilteringProccess( ref filtersStatus, BaseFilterFilepathTextBox.Text, BaseFilepathAfterFilteringTextBox.Text, filteringParameters)); filteringThread.Start(); return; } } MessageBox.Show("Поля пути к базе до и после фильтрации должны быть заполнены, также должен быть выбран хотя бы 1 фильтр", "Внимание!"); }
/// <summary> /// Get a list of <see cref="User"/>. /// </summary> /// <param name="lang">The language.</param> /// <param name="paging">The paging parameters.</param> /// <param name="sorting">The sorting parameters.</param> /// <param name="filtering">The filtering parameters.</param> /// <param name="fielding">The fielding parameters. (not used)</param> /// <returns>The pagined list of <see cref="User"/>.</returns> public PagedCollection <User> GetUsers(string lang, PagingParameters paging, SortingParameters sorting, FilteringParameters filtering, FieldingParameters fielding) { if (Session == null) { throw new Exception("Session is null"); } var result = Session.Read("users", paging.ToMDBPagingParameters(), sorting.ToSortDefinition(), filtering.ToFilterDefinition()); return(new PagedCollection <User> { Items = result.Items.ToUserList(), TotalNumberOfItems = result.TotalNumberOfItems, PageIndex = paging.Index, PageSize = paging.Size, TotalNumberOfPages = (long)Math.Ceiling(result.TotalNumberOfItems / (double)paging.Size) }); }
/// <summary> /// Converts a <see cref="FilteringParameters"/> to MongoDB filters. /// </summary> /// <param name="filtering">The filtering parameters to convert.</param> /// <returns>The MongoDB filters.</returns> public static FilterDefinition <BsonDocument> ToFilterDefinition(this FilteringParameters filtering) { if (filtering == null) { return(null); } return(filtering.Filter.ToFilterDefinition()); }
public IHttpActionResult GetUsersList(string lang = null, PagingParameters paging = null, SortingParameters sorting = null, FilteringParameters filtering = null, FieldingParameters fielding = null) { try { if (paging == null) { paging = new PagingParameters(); } if (paging != null && !paging.IsValid) { throw new ArgumentException(nameof(paging)); } if (sorting != null && !sorting.IsValid) { throw new ArgumentException(nameof(sorting)); } if (filtering != null && !filtering.IsValid) { throw new ArgumentException(nameof(filtering)); } if (fielding != null && !fielding.IsValid) { throw new ArgumentException(nameof(fielding)); } return(Ok(Repository.GetUsers(lang, paging, sorting, filtering, fielding))); } catch (ArgumentException aex) { return(BadRequest(aex.Message)); } catch (SecurityException) { throw new HttpResponseException(HttpStatusCode.Forbidden); } catch (Exception ex) { return(InternalServerError(ex)); } }
private void Awake() { filteringParameters = new FilteringParameters(new UnityAppSettingsManager()); if (CamerasDetected()) { capture = new Capture(); newFrame = true; cameraTimer = new Timer(40); cameraTimer.Elapsed += new ElapsedEventHandler(OnCameraFrame); capture.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FPS, 25); ChangeEditedRange(0); } else { NoCameraWarning.SetActive(true); } }
public FilteringResultModel GetSearchOptions(FilteringParameters parameters) { List <Product> items = new List <Product>(); List <Subcategory> subcategories = new List <Subcategory>(); if (parameters.SearchString != null && parameters.SearchString != "") { items = _database.ProductRepository.Find(item => item.Name.ToUpper().Contains(parameters.SearchString.ToUpper())).ToList(); subcategories = _database.SubcategoryRepository.Find(item => item.Name.ToUpper().Contains(parameters.SearchString.ToUpper())).ToList(); } FilteringResultModel result = new FilteringResultModel(); result.Products = _mapper.Map <IEnumerable <ProductModelItem> >(items); result.Subcategories = _mapper.Map <IEnumerable <SubcategoryModelItem> >(subcategories); result.Successed = true; return(result); }
public FilteringResultModel GetProducts(FilteringParameters parameters) { List <Product> items = new List <Product>(); List <Subcategory> subcategories = new List <Subcategory>(); List <Brand> brands = new List <Brand>(); FilteringResultModel result = new FilteringResultModel(); if (parameters.SubcategoryId != 0) { items = _database.ProductRepository.GetProductsByCategory(parameters.SubcategoryId).ToList(); if (!String.IsNullOrEmpty(parameters.SearchString)) { items = items.Where(item => item.Name.ToUpper() .Contains(parameters.SearchString.ToUpper())).ToList(); } } else { if (!String.IsNullOrEmpty(parameters.SearchString)) { items = _database.ProductRepository.Find(item => item.Name.ToUpper() .Contains(parameters.SearchString.ToUpper())).ToList(); } } foreach (var item in items) { var sub = _database.ProductByCategoryRepository.Find(i => i.Product.Id == item.Id).First().Subcategory; if (!subcategories.Contains(sub) && sub != null) { subcategories.Add(sub); } var brand = _database.ProductByBrandRepository.Find(b => b.Product == item).First().Brand; if (!brands.Contains(brand) && brand != null) { brands.Add(brand); } } result.MaxPrice = items.Max(x => x.Price); result.MinPrice = items.Min(x => x.Price); //Filtering by selected brands if (!String.IsNullOrEmpty(parameters.Brands)) { var selectedBrands = parameters.Brands.Split(';').Select(x => Int32.Parse(x)); items = _database.ProductByBrandRepository .Find(item => items.Contains(item.Product) && selectedBrands.Contains(item.Brand.Id)) .Select(i => i.Product) .ToList(); result.SelectedBrands = selectedBrands.ToArray(); } if (parameters.MaxPrice != 0) { items = items.Where(p => p.Price <= parameters.MaxPrice).ToList(); result.SetMaxPrice = parameters.MaxPrice; } else { result.SetMaxPrice = result.MaxPrice; } if (parameters.MinPrice != 0) { items = items.Where(p => p.Price >= parameters.MinPrice).ToList(); result.SetMinPrice = parameters.MinPrice; } else { result.SetMinPrice = result.MinPrice; } //Sorting switch (parameters.Sort) { case "price_asce": items = items.OrderBy(x => x.Price).ToList(); break; case "price_desc": items = items.OrderByDescending(x => x.Price).ToList(); break; default: break; } //Pagination result.TotalPages = items.Count / 8; int surplus = items.Count % 8; if (surplus > 0) { result.TotalPages++; } else { surplus = 8; } result.TotalItems = items.Count; if (parameters.Page <= result.TotalPages && parameters.Page != 0) { int indexFirstItems = (parameters.Page - 1) * 8; if (parameters.Page != result.TotalPages) { items = items.GetRange(indexFirstItems, 8); } else { items = items.GetRange(indexFirstItems, surplus); } result.Page = parameters.Page; } else { items = items.GetRange(0, 8); result.Page = 1; } result.Products = _mapper.Map <IEnumerable <ProductModelItem> >(items); result.Subcategories = _mapper.Map <IEnumerable <SubcategoryModelItem> >(subcategories); result.Brands = _mapper.Map <IEnumerable <BrandModelItem> >(brands); result.Successed = true; return(result); }
public IActionResult GetProducts([FromQuery] FilteringParameters parameters) { return(Ok(_productSrvice.GetProducts(parameters))); }