public JsonResult Filter(FilterModel filter) { ListProductModel result = service.GetProducts(filter); if (result != null) { result.page = filter.page; } return Json(result, JsonRequestBehavior.AllowGet); }
public ActionResult CompetitionItem(LanguageType languagetype, FilterModel<BrokerType> filter, StateFilter state = StateFilter.All) { var dateTime = DateTime.UtcNow.Date; if (filter.date == DateTime.MinValue) { filter.FixDates(dateTime, dateTime); } filter.FixDates(new DateTime(2014, 01, 01), dateTime.AddDays(14)); return View(new StaticPageBaseModel<WithFilterModel<BrokerType, List<RawCompetitionTransport>>>(this) { ControllerModel = new WithFilterModel<BrokerType, List<RawCompetitionTransport>>(new FilterModel<BrokerType>("CompetitionItem", "SystemState", CurrentLanguage, FilterSettings.ToDate, filter, new RouteValueDictionary(new { languagetype, state }))) { Data = _provider.GetCompetitionItems(filter.id, languagetype, filter.date, state) } }); }
public ActionResult Index(FilterModel<int> filter) { var dateTime = DateTime.UtcNow.Date; if (filter.date == DateTime.MinValue) { filter.FixDates(dateTime, dateTime); } filter.FixDates(new DateTime(2014, 01, 01), dateTime.AddDays(14)); var fixUserTimeToSystem = FixUserTimeToSystem(filter.date); return View(new StaticPageBaseModel<WithFilterModel<List<SystemStateSummaryStatus>>>(this) { ControllerModel = new WithFilterModel<List<SystemStateSummaryStatus>>(new FilterModel<int>("Index", "SystemState", CurrentLanguage, _filterSettings, filter)) { Data = filter.all ? _provider.SummarySystemState() : _provider.SummarySystemState(fixUserTimeToSystem, fixUserTimeToSystem.AddDays(1)) } }); }
public ActionResult Game(FilterModel<int> filter) { LogAction(ProjectBActions.PageLiveCompetitionItemIDConcrete, filter.id); var itemData = FrontCompetitionProvider.GetCompetitionItemLiveBetForCompetition(CurrentLanguage, null, null, filter.id); var model = new StaticPageBaseModel<CompetitionAdvancedTransport>(this) { ControllerModel = itemData }; return new ActionResultCached( itemData?.CompetitionTransport != null, model.GetLastModifiedFunc(() => TryGetNotModifiedResultForGame(itemData, model.StaticPageTransport.LastModifyDateUtc)), () => { FixToUserTime(itemData.CompetitionTransport); return View(model); }); }
public ActionResult All(FilterModel model) { var universitiesList = this.Cache.Get( "Universities", () => this.universities.AllWithCountry().ToList(), 30 * 60); var filteredUnis = this.universities .FilterUniversities(universitiesList.AsQueryable(), model) .To<UniversitySimpleViewModel>(); var universitiesCount = filteredUnis.Count(); var page = 1; var pageSize = 10; if (model != null) { page = model.Page < 1 ? 1 : model.Page; pageSize = model.PageSize < 1 ? 1 : model.PageSize; } var resultUniversitiesList = filteredUnis .Skip((page - 1) * pageSize) .Take(pageSize) .ToList(); var query = string.Empty; if (model != null) { query = "&Filter=" + model.Filter + "&OrderBy=" + model.OrderBy + "&Order=" + model.Order; } var viewDataModel = new UniversitiesListViewModel() { Universities = resultUniversitiesList, Filter = model, UniversitiesCount = universitiesCount, Query = query, Page = model.Page }; return this.View(viewDataModel); }
public ActionResult All(FilterModel model) { var studentId = this.User.Identity.GetUserId(); var filteredUnis = this.universities .FilterUniversities(this.universities.AllForStudent(studentId), model) .To<UniversitySimpleViewModel>(); var universitiesCount = filteredUnis.Count(); var page = 1; var pageSize = 10; if (model != null) { page = model.Page < 1 ? 1 : model.Page; pageSize = model.PageSize < 1 ? 1 : model.PageSize; } var resultUniversitiesList = filteredUnis .Skip((page - 1) * pageSize) .Take(pageSize) .ToList(); var query = string.Empty; if (model != null) { query = "&Filter=" + model.Filter + "&OrderBy=" + model.OrderBy + "&Order=" + model.Order; } var viewDataModel = new UniversitiesListViewModel() { Universities = resultUniversitiesList, Filter = model, UniversitiesCount = universitiesCount, Query = query, Page = model.Page }; return this.View(viewDataModel); }
public ActionResult EntityLinker(BrokerEntityType type, FilterModel<int> filter, int[] ids = null) { switch (Request.RequestType.ToUpper()) { case "GET": return PartialView(new Tuple<RawEntityWithLink>(_provider.GetEntity(filter.id, type))); case "PUT": _provider.EntityLinkerPut(filter.id, type); TaskRunner.Instance.AddAction(() => _provider.ApplyLinker(filter.id, type, false)); break; case "POST": _provider.EntityLinkerPost(filter.id, type, ids); TaskRunner.Instance.AddAction(() => _provider.ApplyLinker(filter.id, type, false)); break; case "DELETE": _provider.EntityLinkerDelete(filter.id, type); break; } return PartialView("_RawEntityWriter", new Tuple<RawEntityWithLink, string>(_provider.GetEntity(filter.id, type), string.Empty)); }
public ActionResult Item(FilterModel<int> filter) { LogAction(ProjectBActions.PageLiveCompetitionUniqueIDConcrete, filter.id); var itemData = FrontCompetitionProvider.GetCompetitionItemsLive(CurrentLanguage, true, null, null, null, new[] { filter.id }); var staticPageBaseModel = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemBetTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemBetTransport>(new PageDisplaySettings { DisplayColumn = DisplayColumnType.TraditionalOdds | DisplayColumnType.Result }) { Competitions = itemData } }; return new ActionResultCached( itemData != null && itemData.Count > 0, staticPageBaseModel.GetLastModifiedFunc(() => TryGetNotModifiedResultForItems(itemData, staticPageBaseModel.StaticPageTransport.LastModifyDateUtc)), () => { itemData.Each(FixToUserTime); return View(staticPageBaseModel); }); }
public ActionResult Index(FilterModel<SportType> filter) { LogAction(ProjectBActions.PageLiveIndexConcrete, (short)filter.id); var itemData = FrontCompetitionProvider.GetCompetitionItemsLive(CurrentLanguage, filter.all, null, null, filter.id); var staticPageBaseModel = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemBetTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemBetTransport>(new PageDisplaySettings { DisplayColumn = DisplayColumnType.TraditionalOdds | DisplayColumnType.Result }) { Competitions = itemData, Filter = new FilterModel<SportType>("Index", "CompetitionLive", CurrentLanguage, FilterSettings.BtnAll | FilterSettings.BtnWithOdds, filter) } }; return new ActionResultCached( true, staticPageBaseModel.GetLastModifiedFunc(() => TryGetNotModifiedResultForItems(itemData, staticPageBaseModel.StaticPageTransport.LastModifyDateUtc)), () => { itemData.Each(FixToUserTime); return View(staticPageBaseModel); }); }
public ActionResult Index(FilterModel<SportType> filter) { LogAction(ProjectBActions.PageHistoryIndexConcrete, (short)filter.id); filter.FixDates(_minDateTime, MaxDateTime); var fromDate = FixUserTimeToSystem(filter.date); var itemData = FrontCompetitionProvider.GetCompetitionItemsHistory(CurrentLanguage, null, new[] {BrokerType.Default}, fromDate, fromDate.AddDays(1), filter.id); var model = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemBetTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemBetTransport>(new PageDisplaySettings { DisplayColumn = DisplayColumnType.TraditionalOdds | DisplayColumnType.Result }) { Competitions = itemData, Filter = new FilterModel<SportType>("Index", "History" , CurrentLanguage, FilterSettings.ToDate, filter) } }; return new ActionResultCached( true, model.GetLastModifiedFunc(() => TryGetNotModifiedResultForItems(itemData, model.StaticPageTransport.LastModifyDateUtc)), () => { itemData.Each(FixToUserTime); return View(model); }); }
public ActionResult Item(FilterModel<int> filter) { LogAction(ProjectBActions.PageHistoryCompetitionUniqueIDConcrete, filter.id); filter.FixDates(_minDateTime, MaxDateTime); var itemData = FrontCompetitionProvider .GetCompetitionItemsHistory(CurrentLanguage, null, new[] { BrokerType.Default }, filter.from, filter.date, null, new [] { filter.id }); var staticPageBaseModel = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemBetTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemBetTransport>(new PageDisplaySettings { DisplayColumn = DisplayColumnType.TraditionalOdds | DisplayColumnType.Result }) { Competitions = itemData, Filter = new FilterModel<int>("Item", "History", CurrentLanguage, FilterSettings.FromDate | FilterSettings.ToDate, filter) } }; return new ActionResultCached( itemData.Any(), staticPageBaseModel.GetLastModifiedFunc(() => TryGetNotModifiedResultForItems(itemData, staticPageBaseModel.StaticPageTransport.LastModifyDateUtc)), () => { itemData.Each(FixToUserTime); return View(staticPageBaseModel); }); }
public ActionResult Index(FilterModel<SportType> filter) { LogAction(ProjectBActions.PageCompetitionIndexConcrete, (short)filter.id); var dateDef = DateTime.UtcNow.Date; var maxDateDef = dateDef.AddDays(14); filter.FixDates(dateDef, maxDateDef); var itemData = FrontCompetitionProvider.GetCompetitionItemsFuturedNew(CurrentLanguage, filter.all ? null : (DateTime?)FixUserTimeToSystem(filter.from), null, null, filter.id); var model = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemBetTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemBetTransport>(new PageDisplaySettings { LimitToDisplayInGroup = 4, DisplayColumn = DisplayColumnType.TraditionalOdds }) { Competitions = itemData, Filter = new FilterModel<SportType>("Index", "Competition", CurrentLanguage, FilterSettings.BtnAll | FilterSettings.FromDate, filter) } }; return new ActionResultCached( true, model.GetLastModifiedFunc(() => TryGetNotModifiedResultForItems(itemData, model.StaticPageTransport.LastModifyDateUtc)), () => { itemData.Each(FixToUserTime); return View(model); }); }
public async Task <List <T> > FindFromSubordinateAsync(FilterModel filterModel) { return(await FindFromSubordinateAsync(filterModel.GetSearchExpression <T>())); }
public List <T> FindFromSubordinate(FilterModel filterModel) { return(FindFromSubordinate(filterModel.GetSearchExpression <T>())); }
public ActionResult Index(FilterModel filterModel, string categoryName) { List <PageRanking> pageRankings = new List <PageRanking> { new PageRanking { Id = 1, Name = "Alfabetik (A-Z)" }, new PageRanking { Id = 2, Name = "Alfabetik (Z-A)" }, new PageRanking { Id = 3, Name = "Azalan Fiyat" }, new PageRanking { Id = 4, Name = "Artan Fiyat" }, }; ViewBag.PageRanking = new SelectList(pageRankings, "Id", "Name"); int page = filterModel.Page ?? 1; int pageCount = filterModel.PageCount ?? 30; if (filterModel.Search != null && filterModel.searchCategory != 0) { filterModel.Products = db.Products.Where(x => x.Name.Contains(filterModel.Search) && x.CategoryId == filterModel.searchCategory).OrderBy(x => x.Name).ToPagedList(page, pageCount); } else if (filterModel.Search != null) { filterModel.Products = db.Products.Where(x => x.Name.Contains(filterModel.Search)).OrderBy(x => x.Name).ToPagedList(page, pageCount); } else if (filterModel.searchCategory != 0) { filterModel.Products = db.Products.Where(x => x.CategoryId == filterModel.searchCategory).OrderBy(x => x.Name).ToPagedList(page, pageCount); } else if (filterModel.Category != null) { filterModel.Products = db.Products.Include(x => x.Category).Where(x => x.CategoryId == filterModel.Category || x.Category.ParentCategoryId == filterModel.Category).OrderBy(x => x.Name).ToPagedList(page, pageCount); } else { switch (filterModel.PageRanking) { case 1: filterModel.Products = db.Products.OrderBy(x => x.Name).ToPagedList(page, pageCount); break; case 2: filterModel.Products = db.Products.OrderByDescending(x => x.Name).ToPagedList(page, pageCount); break; case 3: filterModel.Products = db.Products.OrderBy(x => x.Price).ToPagedList(page, pageCount); break; case 4: filterModel.Products = db.Products.OrderByDescending(x => x.Price).ToPagedList(page, pageCount); break; default: //todo:performans düzenlemesi için AsNoTracking eklendi kontrol edilecek filterModel.Products = db.Products.OrderByDescending(x => x.Name).AsNoTracking().ToPagedList(page, pageCount); break; } } if (Request.IsAjaxRequest()) { return(PartialView("_Products", filterModel)); } else { return(View(filterModel)); } }
public async Task <List <WildCardModel> > GetWildCards(FilterModel filterModel) { return(await _context.Database.SqlQuery <WildCardModel>("USPGetAllWildCards @compId", new SqlParameter("@compId", ToDBNull(filterModel.CompId))).ToListAsync()); }
public async Task <IActionResult> SearchAsync(int page, bool excludeEmptyModules, bool exactMatch, FilterModel filterModel) { filterModel = filterModel ?? throw new ArgumentNullException(nameof(filterModel)); this.logger.LogInformation("Learning modules search- HTTP Post Call initiated."); this.RecordEvent("Learning module search- HTTP Post call initiated.", RequestType.Initiated); try { if (page < 0) { this.logger.LogError("Learning module search- HTTP Post call Failed, parameter pageCount is less than zero."); this.RecordEvent("Learning module search- HTTP Post call Failed.", RequestType.Failed); return(this.BadRequest($"Parameter {nameof(page)} cannot be less than zero.")); } var skipRecords = page * Constants.LazyLoadPerPagePostCount; var learningModules = await this.unitOfWork.LearningModuleRepository.GetLearningModulesAsync(filterModel, Constants.LazyLoadPerPagePostCount, skipRecords, exactMatch, excludeEmptyModules); var moduleWithVotesAndResources = this.unitOfWork.LearningModuleRepository.GetModulesWithVotesAndResources(learningModules); // Get userId and user display name. var createdByObjectIds = learningModules.Select(module => module.CreatedBy).Distinct().Select(userObjectId => userObjectId.ToString()); Dictionary <Guid, string> idToNameMap = new Dictionary <Guid, string>(); if (createdByObjectIds.Any()) { idToNameMap = await this.usersService.GetUserDisplayNamesAsync(this.UserObjectId.ToString(), this.Request.Headers["Authorization"].ToString(), createdByObjectIds); } var learningModuleDetails = this.learningModuleMapper.MapToViewModels( moduleWithVotesAndResources, this.UserObjectId, idToNameMap); this.logger.LogInformation("Learning module search- HTTP Post Call succeeded."); this.RecordEvent("Learning module search- HTTP Post call succeeded.", RequestType.Succeeded); return(this.Ok(learningModuleDetails)); } catch (Exception ex) { this.RecordEvent("Learning module search- HTTP Post call failed.", RequestType.Failed); this.logger.LogError(ex, "Learning module search- HTTP Post call failed."); throw; } }
public int Count(FilterModel filterModel, string categoryCode, string subCategoryCode, string productTypeCode) { return(_productRepository.Count(filterModel, categoryCode, subCategoryCode, productTypeCode)); }
public async Task ForeachFiltersAsync(Func <FilterModel, Task> todo, Height fromHeight, CancellationToken cancel = default) { using (await MatureIndexFileManager.Mutex.LockAsync(cancel).ConfigureAwait(false)) using (await IndexLock.LockAsync(cancel).ConfigureAwait(false)) { var firstImmatureHeight = ImmatureFilters.FirstOrDefault()?.Header?.Height; if (!firstImmatureHeight.HasValue || firstImmatureHeight.Value > fromHeight) { if (MatureIndexFileManager.Exists()) { uint height = StartingHeight; using var sr = MatureIndexFileManager.OpenText(); if (!sr.EndOfStream) { var lineTask = sr.ReadLineAsync(); Task tTask = Task.CompletedTask; string line = null; while (lineTask != null) { if (firstImmatureHeight == height) { break; // Let's use our the immature filters from here on. The content is the same, just someone else modified the file. } if (line is null) { line = await lineTask.ConfigureAwait(false); } lineTask = sr.EndOfStream ? null : sr.ReadLineAsync(); if (height < fromHeight.Value) { height++; line = null; continue; } var filter = FilterModel.FromLine(line); await tTask.ConfigureAwait(false); tTask = todo(filter); height++; line = null; } await tTask.ConfigureAwait(false); } while (!sr.EndOfStream) { var line = await sr.ReadLineAsync().ConfigureAwait(false); if (firstImmatureHeight == height) { break; // Let's use our the immature filters from here on. The content is the same, just someone else modified the file. } if (height < fromHeight.Value) { height++; continue; } var filter = FilterModel.FromLine(line); await todo(filter).ConfigureAwait(false); height++; } } } foreach (FilterModel filter in ImmatureFilters) { await todo(filter).ConfigureAwait(false); } } }
public T FirstOrDefaultFromSubordinate(FilterModel filterModel) { return(FirstOrDefaultFromSubordinate(filterModel.GetSearchExpression <T>())); }
public int CountFromSubordinate(FilterModel filterModel) { return(CountFromSubordinate(filterModel.GetSearchExpression <T>())); }
/// <summary> /// There was a bug when the server were sending wrong filters to the users for 24h. This function detects if the software tries to process the first wrong filter. /// </summary> private bool IsWrongFilter(FilterModel filter) => Network == Network.Main && filter.Header.Height == 627278 && filter.ToLine() == "627278:00000000000000000002edea14cfbbcde1cdb6a14275d9ad36491aa5d8862747:fd4b018270de28c44316c049e4e4050d8a7de5746c7bb31d093831c56196e5f5464956c9ab7142b998a93cb80149b09353cb5d46dfeb44ecb0c8255fb0eb64247a405ab2305713e3418707be4fe87286b467ac86603749aeeac6c182022f0105b6c547b22b89608d0b57eaee2767150bff2354e4cdecef069d1a7f9356e5972ac7323c907b2e42775d032b4a12cc45e96eaa86d232e14808beca91f21c09003734bf77005d2dbfdfeaf19108e971f99b91046db0a021a128bb17b91c83766c65e924bb48af50c473f80e8e8569fd68aaba856b9e4f60efba08519d4ca0f1c0453e60f50a86398b11c860607f049e2bc5e1b6201470f5383601fcfbbea766f510768bac3145dc33443131e50d41bdfb92f5b3d9affc0bbaa85a4c40be2d9e582c3ca0c82251d191ec83dbd197cc1a9f070e6754d84c8ca1c0258d21264619cb523a9bda5556aded4f82e9a8955180c8c8772304bb5f2a5498d15f28b3f0d5d0b22aba14a18be7c8a100bb35b73385ce2b410126ac614f2260557444c3279b73dab148cd14e8800815a1248fa802901a4430817b59d936ceb3e1594d002c1b8d88ec8641f2b2d9827a42948c61c888fc32f070eeba19dda8f773c6cef04485575652f3e929507a9e24dcee53bdc548a317f1e019fbc7ac87c5314548cca6c0b85ebbca79bed2685ed7024a21349189d9a6c92b05aa53a7e241b6885575a19bd737040c263ac05b9920d2e31568afff3c545a827338e103096fbd8fb60ef317e55146b74260577064627bba812c7ca06c39b45d291d7bb9142c338012ccb97330873a0e256ca8aaff778348085e1c9e9942cd10a8444f0c708a798c1d701b4e1879d78ee51f3044ee0012e9929c6e5bfddba40ed04872065373af111ebe53a832f5563078ef274cd39a6b77c8155d8996b6a5617c2ff447dcf4a37a84bfbd1ab34b8a4012f0ccb82c8085668a52e722f8a59a63a07420d2fc67a4da39209fc0cdcd335b2b4670817218f92aee62c8d0e3e895d7aa0f3c69ba36687c9559cf38adfef8ef0ec90128d1efc3b69006ed2c026a1a904bdd1bc0aa1924c74e05b4fdd8316a4cc400d9ced30eaf0ed01f82a6ab59bdf1fbd7a7c6f7186e33411140b57673a0075946902c5890e5647df67183a84f5b2001be152a23741582b529116e2d3bd9964968b40080173e5339018edf609199f25021c757ff3b8d1add3731002784c4da7176cd8b201e3931c61272d17e4e58a2487666510889935d054f0b72817700:000000000000000000028dbd5c398fa064b00e07805af0a8806e6f3b6ffce2c0:1587639149";
public async Task <bool> ExistedFromSubordinateAsync(FilterModel filterModel) { return(await ExistedFromSubordinateAsync(filterModel.GetSearchExpression <T>())); }
public bool ExistedFromSubordinate(FilterModel filterModel) { return(ExistedFromSubordinate(filterModel.GetSearchExpression <T>())); }
public async Task <T> FirstOrDefaultFromSubordinateAsync(FilterModel filterModel) { return(await FirstOrDefaultFromSubordinateAsync(filterModel.GetSearchExpression <T>())); }
private FilterModel CreateFilterModel() { var model = new FilterModel(); model.OrderBy = _orderby.Obj; model.Ascending = _ascendingElement.Value; return model; }
public async void Filter_Clicked(object sender, EventArgs e) { FilterModel filterModel = new FilterModel(); if (segmentPostType.SelectedIndex != -1) { filterModel.PostType = (short)segmentPostType.SelectedIndex; } if (viewModel.LoaiBatDongSan != null) { filterModel.LoaiBatDongSanId = viewModel.LoaiBatDongSan.Id; } if (viewModel.Project != null) { filterModel.ProjectId = viewModel.Project.Id; } if (viewModel.Province != null) { filterModel.ProvinceId = viewModel.Province.Id; } if (viewModel.District != null) { filterModel.DistrictId = viewModel.District.Id; } if (viewModel.Ward != null) { filterModel.WardId = viewModel.Ward.Id; } if (viewModel.Area != null) { if (viewModel.Area.ValueFrom.HasValue) { filterModel.AreaFrom = viewModel.Area.ValueFrom.Value; } if (viewModel.Area.ValueTo.HasValue) { filterModel.AreaTo = viewModel.Area.ValueTo.Value; } } if (viewModel.PriceFrom != null) { filterModel.PriceFrom = viewModel.PriceFrom.Value.Value; } if (viewModel.PriceTo != null) { filterModel.PriceTo = viewModel.PriceTo.Value.Value; } if (viewModel.SoPhongNgu.HasValue) { filterModel.SoPhongNgu = viewModel.SoPhongNgu.Value; } if (viewModel.SoPhongTam.HasValue) { filterModel.SoPhongTam = viewModel.SoPhongTam.Value; } if (!string.IsNullOrWhiteSpace(viewModel.Keyword)) { filterModel.Keyword = viewModel.Keyword.Trim(); } await Shell.Current.Navigation.PushAsync(new SearchResultPage(filterModel)); }
public ProductViewModel() { FilterModel = new FilterModel(); WebGridModel = new WebgridModel(); }
public async Task <ResponseModel> GetList([FromBody] FilterModel filter) { var response = await _commendationService.GetList(filter); return(response); }
public ListModel <PermissionModel> List(FilterModel filterModel) { var startDate = filterModel.StartDate.ResetTimeToStartOfDay(); var endDate = filterModel.EndDate.ResetTimeToEndOfDay(); Expression <Func <Permission, bool> > expression; if (filterModel.Status != -1) { var status = filterModel.Status.ToString().ToBoolean(); if (filterModel.Searched != null) { if (status) { expression = c => c.IsApproved && c.Name.Contains(filterModel.Searched); } else { expression = c => c.IsApproved == false && c.Name.Contains(filterModel.Searched); } } else { if (status) { expression = c => c.IsApproved; } else { expression = c => c.IsApproved == false; } } } else { if (filterModel.Searched != null) { expression = c => c.Name.Contains(filterModel.Searched); } else { expression = c => c.Id != Guid.Empty; } } expression = expression.And(e => e.CreationTime >= startDate && e.CreationTime <= endDate); var model = filterModel.CreateMapped <FilterModel, ListModel <PermissionModel> >(); if (model.Paging == null) { model.Paging = new Paging { PageSize = filterModel.PageSize, PageNumber = filterModel.PageNumber }; } var sortHelper = new SortHelper <PermissionModel>(); var query = _repositoryPermission .Join(x => x.Creator.Person) .Join(x => x.LastModifier.Person) .Where(expression); sortHelper.OrderBy(x => x.DisplayOrder); model.Paging.TotalItemCount = query.Count(); var items = model.Paging.PageSize > 0 ? query.Skip((model.Paging.PageNumber - 1) * model.Paging.PageSize).Take(model.Paging.PageSize) : query; var modelItems = new HashSet <PermissionModel>(); foreach (var item in items) { var modelItem = item.CreateMapped <Permission, PermissionModel>(); modelItem.Creator = new IdCodeName(item.Creator.Id, item.Creator.Username, item.Creator.Person.DisplayName); modelItem.LastModifier = new IdCodeName(item.LastModifier.Id, item.LastModifier.Username, item.LastModifier.Person.DisplayName); modelItems.Add(modelItem); } model.Items = modelItems.ToList(); var pageSizeDescription = _serviceMain.ApplicationSettings.PageSizeList; var pageSizes = pageSizeDescription.Split(',').Select(s => new KeyValuePair <int, string>(s.ToInt(), s)).ToList(); pageSizes.Insert(0, new KeyValuePair <int, string>(-1, "[" + Dictionary.All + "]")); model.Paging.PageSizes = pageSizes; model.Paging.PageCount = (int)Math.Ceiling((float)model.Paging.TotalItemCount / model.Paging.PageSize); if (model.Paging.TotalItemCount > model.Items.Count) { model.Paging.HasNextPage = true; } // ilk sayfa ise if (model.Paging.PageNumber == 1) { if (model.Paging.TotalItemCount > 0) { model.Paging.IsFirstPage = true; } // tek sayfa ise if (model.Paging.PageCount == 1) { model.Paging.IsLastPage = true; } } // son sayfa ise else if (model.Paging.PageNumber == model.Paging.PageCount) { model.Paging.HasNextPage = false; // tek sayfa değilse if (model.Paging.PageCount > 1) { model.Paging.IsLastPage = true; model.Paging.HasPreviousPage = true; } } // ara sayfa ise else { model.Paging.HasNextPage = true; model.Paging.HasPreviousPage = true; } if (model.Paging.TotalItemCount > model.Items.Count && model.Items.Count <= 0) { model.Message = Messages.DangerRecordNotFoundInPage; } if (model.Paging.TotalItemCount == 0) { model.Message = Messages.DangerRecordNotFound; } return(model); }
private void OnNewFilterProcessed(FilterModel filter) => NewFilterProcessed?.Invoke(this, filter);
public async Task <IActionResult> GetFilteredHwItems(FilterModel filter) { var result = await _hardwareItemService.GetFilteredItems(filter); return(Ok(result)); }
public ActionResult Profitable(FilterModel<SportType> filter) { var itemData = FrontCompetitionProvider.GetCompetitionItemsFuturedProfitable(CurrentLanguage, null, null, filter.id); var model = new StaticPageBaseModel<CompetitionRegularModel<CompetitionItemRoiTransport>>(this) { ControllerModel = new CompetitionRegularModel<CompetitionItemRoiTransport>(new PageDisplaySettings { LimitToDisplayInGroup = 4, DisplayColumn = DisplayColumnType.Roi }) { Competitions = itemData, Filter = new FilterModel<SportType>(null, null, CurrentLanguage, FilterSettings.Default, filter) } }; return new ActionResultCached( true, model.GetLastModifiedFunc(() => itemData.MaxOrDefault(i => i.CompetitionItems.Max(c => c.Roi.Max(r => r.Odds.Max(o => o.Value.DateTimeUtc))), DateTime.MinValue)), () => { itemData.Each(d => d.CompetitionItems.Each(ci => { ci.DateUtc = FixSystemTimeToUser(ci.DateUtc); ci.Roi.Each(r => { r.Odds.Each(o => { o.Value.DateTimeUtc = FixSystemTimeToUser(o.Value.DateTimeUtc); }); }); })); return View(model); }); }
public List <Product> GetAllWithBrandByProductType(FilterModel filterModel, string categoryCode, string subCategoryCode, string productType, int pageNumber, int itemsPerPage) { return(_productRepository.GetAllWithBrandByProductType(filterModel, categoryCode, subCategoryCode, productType, pageNumber, itemsPerPage)); }
public void Synchronize() { Task.Run(async() => { try { if (Interlocked.Read(ref _workerCount) >= 2) { return; } Interlocked.Increment(ref _workerCount); while (Interlocked.Read(ref _workerCount) != 1) { await Task.Delay(100); } if (IsStopping) { return; } try { Interlocked.Exchange(ref _serviceStatus, Running); SyncInfo syncInfo = null; while (IsRunning) { try { // If we did not yet initialized syncInfo, do so. syncInfo ??= await GetSyncInfoAsync().ConfigureAwait(false); uint currentHeight = 0; uint256 currentHash = null; using (await IndexLock.LockAsync()) { if (Index.Count != 0) { var lastIndex = Index[^ 1]; currentHeight = lastIndex.Header.Height; currentHash = lastIndex.Header.BlockHash; } else { currentHash = StartingHeight == 0 ? uint256.Zero : await RpcClient.GetBlockHashAsync((int)StartingHeight - 1); currentHeight = StartingHeight - 1; } } var coreNotSynced = !syncInfo.IsCoreSynchornized; var tipReached = syncInfo.BlockCount == currentHeight; var isTimeToRefresh = DateTimeOffset.UtcNow - syncInfo.BlockchainInfoUpdated > TimeSpan.FromMinutes(5); if (coreNotSynced || tipReached || isTimeToRefresh) { syncInfo = await GetSyncInfoAsync(); } // If wasabi filter height is the same as core we may be done. if (syncInfo.BlockCount == currentHeight) { // Check that core is fully synced if (syncInfo.IsCoreSynchornized && !syncInfo.InitialBlockDownload) { // Mark the process notstarted, so it can be started again // and finally block can mark it as stopped. Interlocked.Exchange(ref _serviceStatus, NotStarted); return; } else { // Knots is catching up give it a 10 seconds await Task.Delay(10000); continue; } } uint nextHeight = currentHeight + 1; uint256 blockHash = await RpcClient.GetBlockHashAsync((int)nextHeight); VerboseBlockInfo block = await RpcClient.GetVerboseBlockAsync(blockHash); // Check if we are still on the best chain, // if not rewind filters till we find the fork. if (currentHash != block.PrevBlockHash) { Logger.LogWarning("Reorg observed on the network."); await ReorgOneAsync(); // Skip the current block. continue; } var scripts = FetchScripts(block); GolombRiceFilter filter; if (scripts.Any()) { filter = new GolombRiceFilterBuilder() .SetKey(block.Hash) .SetP(20) .SetM(1 << 20) .AddEntries(scripts.Select(x => x.ToCompressedBytes())) .Build(); } else { // We cannot have empty filters, because there was a bug in GolombRiceFilterBuilder that evaluates empty filters to true. // And this must be fixed in a backwards compatible way, so we create a fake filter with a random scp instead. filter = CreateDummyEmptyFilter(block.Hash); } var smartHeader = new SmartHeader(block.Hash, block.PrevBlockHash, nextHeight, block.BlockTime); var filterModel = new FilterModel(smartHeader, filter); await File.AppendAllLinesAsync(IndexFilePath, new[] { filterModel.ToLine() }); using (await IndexLock.LockAsync()) { Index.Add(filterModel); } // If not close to the tip, just log debug. if (syncInfo.BlockCount - nextHeight <= 3 || nextHeight % 100 == 0) { Logger.LogInfo($"Created filter for block: {nextHeight}."); } else { Logger.LogDebug($"Created filter for block: {nextHeight}."); } LastFilterBuildTime = DateTimeOffset.UtcNow; }
private dynamic RouteSearch(string searchQuery, int page, string rarity, string category, string faction) { if (searchQuery == null) { searchQuery = ""; } DataService db = new DataService(sql); sql.Open(WebSettings.Settings.CreateDescription()); var parmeter = new List <Parameter>(); bool hasFilter = !string.IsNullOrEmpty(searchQuery); FilterModel filterModel = new FilterModel { Categories = SelectCategories(sql), Rarities = SelectRarities(sql), Factions = SelectFactions(sql) }; var rarityItem = filterModel.VerifyRarity(rarity); var categoryItem = filterModel.VerifyCategory(category); var factionItem = filterModel.VerifyFaction(faction); string sqlQuery = DataService.BuildSearchQuery(hasFilter, true, false, false, rarityItem != null, categoryItem != null, factionItem != null); if (hasFilter) { var p = new Parameter { Identifier = "@filter", Value = $"%{searchQuery}%" }; parmeter.Add(p); } if (rarityItem != null) { var p = new Parameter { Identifier = "@rarity", Value = $"{rarityItem.Id}" }; parmeter.Add(p); } if (categoryItem != null) { var p = new Parameter { Identifier = "@category", Value = $"{categoryItem.Id}" }; parmeter.Add(p); } if (factionItem != null) { var p = new Parameter { Identifier = "@faction", Value = $"{factionItem.Id}" }; parmeter.Add(p); } page = Math.Max(1, page); int entriesPerPage = 50; int from = entriesPerPage * (page - 1); var limita = new Parameter { Identifier = "@from", Value = from }; var limitb = new Parameter { Identifier = "@to", Value = entriesPerPage }; parmeter.Add(limita); parmeter.Add(limitb); var count = GetCount(sql, hasFilter, parmeter, rarityItem, categoryItem, factionItem); int maxPages = (int)Math.Ceiling(count / (float)entriesPerPage); var ds = sql.SelectDataSet(sqlQuery, parmeter); var searchResult = new List <Item>(); foreach (var row in ds) { Item item = Item.Create(row); searchResult.Add(item); } // CurrentPage = page, MaxRows = count, MaxPages = maxPages PagerModel pager = new PagerModel { CurrentPage = page, MaxRows = count, MaxPages = maxPages }; SearchModel searchModel = new SearchModel { SearchResult = searchResult, Pager = pager, FilterModel = filterModel, CurrentQuery = searchQuery }; var statusModel = db.SelectStatus(); searchModel.Status = statusModel; return(View["search", searchModel]); }
public List <employee> SearchListActiveMaid(FilterModel filter) { return(EmployeeRepository.FindBy(p => (filter.Id == -1 || p.employee_id == filter.Id) && (p.role == (int)RoleEmployee.MaidManager || p.role == (int)RoleEmployee.Maid)).OrderBy(p => p.last_name).ThenBy(p => p.first_name).Include(p => p.contract_employee.Select(q => q.contract)).Include(p => p.employee_note).ToList()); }
public ListModel <PartModel> List(FilterModel filterModel) { var model = filterModel.CreateMapped <FilterModel, ListModel <PartModel> >(); return(List(filterModel.StartDate, filterModel.EndDate, filterModel.PageNumber, filterModel.PageSize, filterModel.Status, filterModel.Searched, Guid.Empty, model)); }
public async Task <ResponseModel> GetList([FromBody] FilterModel filter) { var response = await _trainingCenterService.GetList(filter); return(response); }
public List <T> FindFromSubordinate(FilterModel filterModel, Expression <Func <T, object> > orderExpression, SortOrder sortOrder) { return(FindFromSubordinate(filterModel.GetSearchExpression <T>(), orderExpression, sortOrder)); }
/// </summary> /// 显示所有的通告 /// </summary> /// <returns>显示所有的通告</returns> public ListResult <AnnouncementModel> List(int pageNo, int pageSize, SortModel sort, FilterModel filter) { using (var dbContext = new MissionskyOAEntities()) { // 1、首先获取所有通告从数据库中 var list = dbContext.Announcements.AsEnumerable(); // 2、判断是否有排序 if (sort != null) { switch (sort.Member) { case "CreatedTime": // if (sort.Direction == SortDirection.Ascending) { list = list.OrderBy(item => item.CreatedTime); } else { list = list.OrderByDescending(item => item.CreatedTime); } break; default: break; } } // var count = list.Count(); // 分页 list = list.Skip((pageNo - 1) * pageSize).Take(pageSize).ToList(); ListResult <AnnouncementModel> result = new ListResult <AnnouncementModel>(); result.Data = new List <AnnouncementModel>(); list.ToList().ForEach(item => { result.Data.Add(item.ToModel()); }); result.Total = count; return(result); } }
private FilterModel CreateFilterModel() { var model = new FilterModel(); model.AssignedTo = _assignedTo.Value; model.ReportedBy = _reportedBy.Value; model.Status = _statusChoice.Obj; model.Priority = _priorityChoice.Obj; model.Kind = _kindChoice.Obj; model.OrderBy = _orderby.Obj; return model; }
public void Synchronize() { Task.Run(async () => { try { if (Interlocked.Read(ref _runner) >= 2) { return; } Interlocked.Increment(ref _runner); while (Interlocked.Read(ref _runner) != 1) { await Task.Delay(100); } if (Interlocked.Read(ref _running) >= 2) { return; } try { Interlocked.Exchange(ref _running, 1); var isImmature = false; // The last 100 blocks are reorgable. (Assume it is mature at first.) SyncInfo syncInfo = null; while (IsRunning) { try { // If we did not yet initialized syncInfo, do so. if (syncInfo is null) { syncInfo = await GetSyncInfoAsync(); } Height heightToRequest = StartingHeight; uint256 currentHash = null; using (await IndexLock.LockAsync()) { if (Index.Count != 0) { var lastIndex = Index.Last(); heightToRequest = lastIndex.BlockHeight + 1; currentHash = lastIndex.BlockHash; } } // If not synchronized or already 5 min passed since last update, get the latest blockchain info. if (!syncInfo.IsCoreSynchornized || (syncInfo.BlockchainInfoUpdated - DateTimeOffset.UtcNow) > TimeSpan.FromMinutes(5)) { syncInfo = await GetSyncInfoAsync(); } if (syncInfo.BlockCount - heightToRequest <= 100) { // Both Wasabi and our Core node is in sync. Start doing stuff through P2P from now on. if (syncInfo.IsCoreSynchornized && syncInfo.BlockCount == heightToRequest - 1) { syncInfo = await GetSyncInfoAsync(); // Double it to make sure not to accidentally miss any notification. if (syncInfo.IsCoreSynchornized && syncInfo.BlockCount == heightToRequest - 1) { // Mark the process notstarted, so it can be started again and finally block can mark it is stopped. Interlocked.Exchange(ref _running, 0); return; } } // Mark the synchronizing process is working with immature blocks from now on. isImmature = true; } Block block = await RpcClient.GetBlockAsync(heightToRequest); // Reorg check, except if we're requesting the starting height, because then the "currentHash" wouldn't exist. if (heightToRequest != StartingHeight && currentHash != block.Header.HashPrevBlock) { // Reorg can happen only when immature. (If it'd not be immature, that'd be a huge issue.) if (isImmature) { await ReorgOneAsync(); } else { Logger.LogCritical("This is something serious! Over 100 block reorg is noticed! We cannot handle that!"); } // Skip the current block. continue; } if (isImmature) { PrepareBech32UtxoSetHistory(); } var scripts = new HashSet<Script>(); foreach (var tx in block.Transactions) { // If stop was requested return. // Because this tx iteration can take even minutes // It does not need to be accessed with a thread safe fashion with Interlocked through IsRunning, this may have some performance benefit if (_running != 1) { return; } for (int i = 0; i < tx.Outputs.Count; i++) { var output = tx.Outputs[i]; if (output.ScriptPubKey.IsScriptType(ScriptType.P2WPKH)) { var outpoint = new OutPoint(tx.GetHash(), i); Bech32UtxoSet.Add(outpoint, output.ScriptPubKey); if (isImmature) { Bech32UtxoSetHistory.Last().StoreAction(ActionHistoryHelper.Operation.Add, outpoint, output.ScriptPubKey); } scripts.Add(output.ScriptPubKey); } } foreach (var input in tx.Inputs) { OutPoint prevOut = input.PrevOut; if (Bech32UtxoSet.TryGetValue(prevOut, out Script foundScript)) { Bech32UtxoSet.Remove(prevOut); if (isImmature) { Bech32UtxoSetHistory.Last().StoreAction(ActionHistoryHelper.Operation.Remove, prevOut, foundScript); } scripts.Add(foundScript); } } } GolombRiceFilter filter = null; if (scripts.Count != 0) { filter = new GolombRiceFilterBuilder() .SetKey(block.GetHash()) .SetP(20) .SetM(1 << 20) .AddEntries(scripts.Select(x => x.ToCompressedBytes())) .Build(); } var filterModel = new FilterModel { BlockHash = block.GetHash(), BlockHeight = heightToRequest, Filter = filter }; await File.AppendAllLinesAsync(IndexFilePath, new[] { filterModel.ToHeightlessLine() }); using (await IndexLock.LockAsync()) { Index.Add(filterModel); } if (File.Exists(Bech32UtxoSetFilePath)) { File.Delete(Bech32UtxoSetFilePath); } await File.WriteAllLinesAsync(Bech32UtxoSetFilePath, Bech32UtxoSet .Select(entry => entry.Key.Hash + ":" + entry.Key.N + ":" + ByteHelpers.ToHex(entry.Value.ToCompressedBytes()))); // If not close to the tip, just log debug. // Use height.Value instead of simply height, because it cannot be negative height. if (syncInfo.BlockCount - heightToRequest.Value <= 3 || heightToRequest % 100 == 0) { Logger.LogInfo($"Created filter for block: {heightToRequest}."); } else { Logger.LogDebug($"Created filter for block: {heightToRequest}."); } } catch (Exception ex) { Logger.LogDebug(ex); } } } finally { Interlocked.CompareExchange(ref _running, 3, 2); // If IsStopping, make it stopped. Interlocked.Decrement(ref _runner); } } catch (Exception ex) { Logger.LogError($"Synchronization attempt failed to start: {ex}"); } }); }
public IQueryable<University> FilterUniversities(IQueryable<University> universities, FilterModel filter) { if (universities == null) { return universities; } universities = universities.OrderBy(u => u.Name); if (filter != null) { if (filter.Filter != null) { universities = universities.Where(u => u.Name.Contains(filter.Filter)); } if (filter.OrderBy != null) { if (filter.Order == "asc") { if (filter.OrderBy == "name") { universities = universities.OrderBy(u => u.Name); } else if (filter.OrderBy == "country") { universities = universities.OrderBy(u => u.Country.Name); } else if (filter.OrderBy == "tuition") { universities = universities.OrderBy(u => u.TuitionFee); } else if (filter.OrderBy == "sat") { universities = universities.OrderBy(u => u.RequiredSAT); } else if (filter.OrderBy == "toeflpbt") { universities = universities.OrderBy(u => u.RequiredPBTToefl); } else if (filter.OrderBy == "toeflibt") { universities = universities.OrderBy(u => u.RequiredIBTToefl); } } else { if (filter.OrderBy == "name") { universities = universities.OrderByDescending(u => u.Name); } else if (filter.OrderBy == "country") { universities = universities.OrderByDescending(u => u.Country); } else if (filter.OrderBy == "tuition") { universities = universities.OrderByDescending(u => u.TuitionFee); } else if (filter.OrderBy == "sat") { universities = universities.OrderByDescending(u => u.RequiredSAT); } else if (filter.OrderBy == "toeflpbt") { universities = universities.OrderByDescending(u => u.RequiredPBTToefl); } else if (filter.OrderBy == "toeflibt") { universities = universities.OrderByDescending(u => u.RequiredIBTToefl); } } } } return universities; }
public async Task FilterBuilderTestAsync() { using (var builder = await NodeBuilder.CreateAsync()) { await builder.CreateNodeAsync(); await builder.StartAllAsync(); CoreNode regtestNode = builder.Nodes[0]; regtestNode.Generate(101); RPCClient rpc = regtestNode.CreateRpcClient(); var indexBuilderServiceDir = Path.Combine(SharedFixture.DataDir, nameof(IndexBuilderService)); var indexFilePath = Path.Combine(indexBuilderServiceDir, $"Index{rpc.Network}.dat"); var utxoSetFilePath = Path.Combine(indexBuilderServiceDir, $"UtxoSet{rpc.Network}.dat"); var indexBuilderService = new IndexBuilderService(rpc, indexFilePath, utxoSetFilePath); try { indexBuilderService.Synchronize(); // Test initial synchronization. var times = 0; uint256 firstHash = await rpc.GetBlockHashAsync(0); while (indexBuilderService.GetFilterLinesExcluding(firstHash, 102, out _).Count() != 101) { if (times > 500) // 30 sec { throw new TimeoutException($"{nameof(IndexBuilderService)} test timed out."); } await Task.Delay(100); times++; } // Test later synchronization. regtestNode.Generate(10); times = 0; while (indexBuilderService.GetFilterLinesExcluding(firstHash, 112, out bool found5).Count() != 111) { Assert.True(found5); if (times > 500) // 30 sec { throw new TimeoutException($"{nameof(IndexBuilderService)} test timed out."); } await Task.Delay(100); times++; } // Test correct number of filters is received. var hundredthHash = await rpc.GetBlockHashAsync(100); Assert.Equal(11, indexBuilderService.GetFilterLinesExcluding(hundredthHash, 12, out bool found).Count()); Assert.True(found); var bestHash = await rpc.GetBestBlockHashAsync(); Assert.Empty(indexBuilderService.GetFilterLinesExcluding(bestHash, 1, out bool found2)); Assert.True(found2); Assert.Empty(indexBuilderService.GetFilterLinesExcluding(uint256.Zero, 1, out bool found3)); Assert.False(found3); // Test filter block hashes are correct. var filters = indexBuilderService.GetFilterLinesExcluding(firstHash, 112, out bool found4).ToArray(); Assert.True(found4); for (int i = 0; i < 111; i++) { var expectedHash = await rpc.GetBlockHashAsync(i + 1); var filterModel = FilterModel.FromLine(filters[i], i); Assert.Equal(expectedHash, filterModel.BlockHash); Assert.Null(filterModel.Filter); } } finally { if (indexBuilderService != null) { await indexBuilderService.StopAsync(); } } } }
/// <summary> /// 查询定时任务 /// </summary> /// <param name="pageNo">页码</param> /// <param name="pageSize">页面大小</param> /// <param name="sort">排序</param> /// <param name="filter">查找条件</param> /// <returns>实时定时任务</returns> public ListResult <ScheduledTaskModel> TaskList(int pageNo, int pageSize, SortModel sort, FilterModel filter) { using (var dbContext = new MissionskyOAEntities()) { var list = dbContext.ScheduledTasks.OrderBy(it => it.Id).ToList(); //查询 if (filter != null) { } //排序 if (sort != null) { } //分页 var count = list.Count(); list = list.Skip((pageNo - 1) * pageSize).Take(pageSize).ToList(); //转换 var result = new ListResult <ScheduledTaskModel>(); result.Data = new List <ScheduledTaskModel>(); list.ToList().ForEach(item => result.Data.Add(item.ToModel())); result.Total = count; return(result); } }
public async Task <List <T> > FindFromSubordinateAsync(FilterModel filterModel, Expression <Func <T, object> > orderExpression, SortOrder sortOrder) { return(await FindFromSubordinateAsync(filterModel.GetSearchExpression <T>(), orderExpression, sortOrder)); }