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)); }