Example #1
0
        // GET: Bids/Create
        public async Task <IActionResult> Create(Guid id)
        {
            var item = await _bllHttpClient.Items.FirstOrDefaultAsync(id);

            if (item == null)
            {
                return(RedirectToAction("Index", "Home", new { message = "Item is no longer available!" }));
            }

            var vm = new BetVM()
            {
                ItemId   = id,
                ItemName = item.ItemName
            };

            return(View(vm));
        }
Example #2
0
        public async Task <BetVM> GetVM()
        {
            var vm  = new BetVM();
            var now = DateTime.Now;

            vm.Now    = now;
            vm.MaxBet = _options.MaxBet;
            vm.MinBet = _options.MinBet;
            vm.Step   = _options.Step;
            //Add not expired games
            var gameList = await BaseQuery(now)
                           .Where(g => g.Start >= now)
                           .OrderBy(g => g.Start)
                           .Concat(BaseQuery(now)  //Expired games
                                   .Where(g => g.Start < now)
                                   .OrderByDescending(g => g.Start))
                           .ToListAsync();

            vm.Games = gameList;
            return(vm);
        }
Example #3
0
        public async Task <IActionResult> Create(BetVM vm)
        {
            var item = await _bllHttpClient.Items.FirstOrDefaultAsync(vm.ItemId);

            if (item == null)
            {
                return(RedirectToAction("Index", "Home", new { message = "Item is no longer available!" }));
            }

            if (ModelState.IsValid)
            {
                var bllEntity = _mapper.Map(vm);
                bllEntity.ItemEndDate = item.BiddingEndDate;
                bllEntity.BidDate     = DateTime.Now;
                _bll.Bids.Add(bllEntity);
                await _bll.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }

            return(View(vm));
        }