public async Task <IActionResult> Create(AuctionPostViewModel auctionVM)
        {
            SetSessionValues();
            if (IsLoggedOut())
            {
                return(LogOut());
            }
            if (ModelState.IsValid)
            {
                DateTime start = Convert.ToDateTime(auctionVM.Auction.StartTime);
                DateTime end   = Convert.ToDateTime(auctionVM.Auction.EndTime);

                auctionVM.Auction.TotalPoolCoins = new AuctionExecution().GetPoolCoins();

                if (end.CompareTo(start) < 0)
                {
                    auctionVM.EndTimeError = "End time cannot be earlier than start time";
                    return(View(auctionVM));
                }

                if (start.CompareTo(DateTime.Now) < 0)
                {
                    auctionVM.StartTimeError = "Choose start time later than now!";
                    return(View(auctionVM));
                }

                if (end.CompareTo(DateTime.Now) < 0)
                {
                    auctionVM.EndTimeError = "Choose End time later than now!";
                    return(View(auctionVM));
                }
                auctionVM.Auction.Status            = EnumTypes.AuctionStatus.Pending.ToString();
                auctionVM.Auction.IsManualScheduled = true;
                _context.Add(auctionVM.Auction);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(auctionVM.Auction));
        }