Exemplo n.º 1
0
        public async Task <IActionResult> Index()
        {
            var auctionItems = await _auctionFacade.GetAllAuctionsAsync();

            var auctionItemList = await _auctionFacade.CheckActivity(auctionItems);

            return(View(auctionItemList));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }