public async Task <IViewComponentResult> InvokeAsync(int id)
        {
            var bestBid = await _itemService.GetBestBidAsync(id);

            NewBidViewModel model = _mapper.Map <NewBidDTO, NewBidViewModel> (bestBid);

            return(View(model));
        }
        public ActionResult Create(NewBidViewModel bid)
        {
            if (this.ModelState.IsValid)
            {
                var auction = this.service.GetAll().FirstOrDefault(a => a.Id == bid.AuctionId);

                this.service.PlaceBid(auction, bid.BidAmount);
            }

            return(this.RedirectToAction("Index", "Auctions"));
        }
        public async Task <IActionResult> CreateAuctionBid(NewBidViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Niepoprawne dane.");
                return(RedirectToAction("Item", "Item", new { id = model.ItemId, area = "" }));
            }
            NewBidDTO dto      = _mappper.Map <NewBidViewModel, NewBidDTO>(model);
            string    userId   = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            string    username = User.FindFirst(ClaimTypes.Name).Value;

            dto.Username = username;
            await _itemService.AddBidToItemAsync(dto, userId);

            return(RedirectToAction("Index", "Home", new { area = "" }));
        }
Example #4
0
        // GET: Bids/Create?AuctionId=
        public ActionResult Create(int auctionId)
        {
            var auction = service.GetAll().FirstOrDefault(a => a.Id == auctionId);

            if (auction == null)
            {
                return(this.HttpNotFound());
            }

            var newBidViewModel = new NewBidViewModel
            {
                AuctionTitle       = auction.Title,
                AuctionDescription = auction.Description,
                StartPrice         = auction.StartPrice,
                CurrentPrice       = auction.CurrentPrice,
                BidAmount          = Math.Max(auction.StartPrice, auction.CurrentPrice) + 1
            };

            return(View(newBidViewModel));
        }
Example #5
0
        public JsonResult Bid(NewBidViewModel bidViewModel)
        {
            var json = new JsonResult();

            if (bidViewModel.BidAmount == 0)
            {
                json.Data = new { success = false, message = "No bid amount specified." };
                return(json);
            }

            var newBid = new Bid();

            newBid.ProductId = bidViewModel.ProductId;
            newBid.BidderId  = bidViewModel.BidderId;
            newBid.BidAmount = bidViewModel.BidAmount;

            var lastBidAmount = BidServices.Instance.GetTotalLastBidAmount(bidViewModel.ProductId);

            if (lastBidAmount > 0)
            {
                newBid.TotalBidAmount = lastBidAmount + bidViewModel.BidAmount;
            }
            else
            {
                newBid.TotalBidAmount = bidViewModel.BidAmount + bidViewModel.ActualAmount;
            }

            var result = BidServices.Instance.AddBid(newBid);

            if (result)
            {
                json.Data = new { success = true }
            }
            ;
            else
            {
                json.Data = new { success = false, message = "Can't add bid!" }
            };

            return(json);
        }