public IActionResult Add(UserInAuction position)
 {
     if (!ModelState.IsValid)
     {
         return(View());
     }
     repository.AddEntity(position);
     return(RedirectToAction("All"));
 }
Esempio n. 2
0
        public IActionResult Auction(long id)
        {
            User    user    = userRepository.GetByUsername(User.Identity.Name);
            Auction auction = repository.GetAuction(id);

            ViewBag.BidError    = TempData["BidError"];
            ViewBag.ReviewError = TempData["ReviewError"];
            if (user.Id != auction.User_Sale_ID && userInAuctionRepository.GetById(new Tuple <long, string>(auction.Id, user.Id)) == null)
            {
                Notification notification = new Notification(NotificationType.NewUserInAuction, auction.User_Sale_ID, user.Name, auction.Product.Name, auction.Product.Price);
                notification.AuctionId = auction.Id;
                notificationRepository.AddEntity(notification);
                userInAuctionRepository.AddEntity(new UserInAuction()
                {
                    AuctionId      = auction.Id,
                    UserId         = user.Id,
                    LastActionDate = DateTime.Now,
                    LastAction     = "Join the auction"
                });
            }

            AuctionViewModel viewModel = new AuctionViewModel()
            {
                ActualPrice   = auction.ActualPrice,
                ActualUser    = auction.ActualUser,
                Ammount       = auction.Ammount,
                Date          = auction.Date,
                Import        = auction.ActualPrice * auction.Ammount,
                InitialPrice  = auction.InitialPrice,
                InitialTime   = auction.InitialTime,
                Product       = auction.Product,
                ProductId     = auction.ProductId,
                User_Buy      = auction.User_Buy,
                User_Buy_ID   = auction.User_Buy_ID,
                User_Sale     = auction.User_Sale,
                User_Sale_ID  = auction.User_Sale_ID,
                Id            = auction.Id,
                Notifications = notificationRepository.AuctionNotification(auction.Id).ToList(),
                Review        = productRepository.Reviews(auction.ProductId)
            };

            foreach (var item in auction.UsersInAuctions)
            {
                item.User = userRepository.GetById(item.UserId);
            }
            viewModel.UsersInAuctions = auction.UsersInAuctions;
            viewModel.UsersInAuctions = viewModel.UsersInAuctions.OrderByDescending(x => x.LastActionDate).ToList();
            return(View(viewModel));
        }