コード例 #1
0
        public IActionResult Bid(AuctionViewModel viewModel)
        {
            var user = userRepository.GetByUsername(User.Identity.Name);

            if (user.Id == viewModel.User_Sale_ID)
            {
                TempData["BidError"] = "Error! You can not bid your own product";
                return(RedirectToAction("Auction", viewModel));
            }

            Auction auction = repository.GetById(viewModel.Id);

            if (viewModel.ActualPrice > auction.ActualPrice)
            {
                Notification notification = new Notification(NotificationType.RaisePrice, viewModel.User_Sale_ID, user.UserName, viewModel.ProductName, viewModel.ActualPrice);
                notification.AuctionId = auction.Id;
                notificationRepository.AddEntity(notification);
                auction.ActualPrice = viewModel.ActualPrice;
                auction.ActualUser  = user.Id;
                repository.Update(auction);
                var userInAuction = userInAuctionRepository.GetById(new Tuple <long, string>(auction.Id, auction.ActualUser));
                userInAuction.LastActionDate = DateTime.Now;
                userInAuction.LastAction     = $"Raise the price to {viewModel.ActualPrice}";
                userInAuctionRepository.Update(userInAuction);
                return(RedirectToAction("Auction", viewModel));
            }
            TempData["BidError"] = "Invalid ammount.";
            return(RedirectToAction("Auction", viewModel));
        }
コード例 #2
0
 public IActionResult Update(UserInAuction item)
 {
     repository.Update(item);
     return(RedirectToAction("All"));
 }