public async Task <IActionResult> Index() { var auctionItems = await _auctionFacade.GetAllAuctionsAsync(); var auctionItemList = await _auctionFacade.CheckActivity(auctionItems); return(View(auctionItemList)); }
public async Task <IActionResult> AllAuctions(DateTime?date = null) { var stapleVM = new StapleViewModel(); var highestBidList = new List <double>(); var estimateList = new List <double>(); var auctionItems = await _auctionFacade.GetAllAuctionsAsync(); if (date.HasValue) { auctionItems = auctionItems.Where(a => a.StartDate.Month == date.Value.Month).ToArray(); } if (auctionItems.Length == 0) { stapleVM.WinningBidAvg = 0; stapleVM.EstimateAvg = 0; stapleVM.Difference = 0; return(PartialView("_AuctionList", stapleVM)); } foreach (var auction in auctionItems) { auction.OfferList.AddRange(await _auctionFacade.GetAllOffersAsync((int)auction.Id)); if (auction.OfferList.Count > 0) { estimateList.Add((double)auction.Estimate); highestBidList.Add(OfferUtility.GetHighestBid(auction.OfferList)); } } stapleVM.WinningBidAvg = highestBidList.Average(); stapleVM.EstimateAvg = estimateList.Average(); stapleVM.Difference = OfferUtility.GetAverageDifference(highestBidList, estimateList); return(PartialView("_AuctionList", stapleVM)); }
public async Task <ActionResult> Index(AuctionListViewModel model) { model.Filter.PageSize = PageSize; Session[FilterSessionKey] = model.Filter; var allAuctions = await AuctionFacade.GetAllAuctionsAsync(new AuctionFilterDto()); var result = (await AuctionFacade.GetAllAuctionsAsync(model.Filter)); var filteredAuctions = model.CategoryId != null?result.Items.Where(x => x.CategoryId == new Guid(model.CategoryId)) : result.Items; var newModel = await InitializeAuctionListViewModel(result, filteredAuctions, (int)allAuctions.TotalItemsCount); return(View("AuctionListView", newModel)); }
public async Task <ActionResult> Index(int page = 1) { var filter = Session[FilterSessionKey] as AuctionFilterDto ?? new AuctionFilterDto { PageSize = PageSize }; filter.RequestedPageNumber = page; //TODO: This is soo much inefficient, why and how could we solve this? var allAuctions = await AuctionFacade.GetAllAuctionsAsync(new AuctionFilterDto()); var result = await AuctionFacade.GetAllAuctionsAsync(filter); var model = await InitializeAuctionListViewModel(result, result.Items, (int)allAuctions.TotalItemsCount); return(View("AuctionListView", model)); }