public ActionResult CreateBid(CreateBidModel model) { if (!ModelState.IsValid) { return(View(model)); } var lot = lotService.GetById(model.LotId); var user = userService.GetOneByPredicate(u => u.Name == User.Identity.Name); if (!CheckBidPossibility(user, lot)) { return(RedirectToAction("Details", "Lot", new { id = model.LotId })); } if (lot.Bids.Count > 0) { int max = lot.Bids.Max(e => e.Price); if (model.Price <= max) { ModelState.AddModelError("Price", "Your price is less than others"); return(View(model)); } } var bid = new BidEntity(); if (user != null) { bid.ProfileId = user.ProfileId; } bid.LotId = model.LotId; bid.Price = model.Price; bid.Date = DateTime.Now; bidService.Create(bid); return(RedirectToAction("Details", "Lot", new { id = model.LotId })); }
public async Task <BidModel> Post(CreateBidModel model) { var result = await _service.Create(model); var models = _mapper.Map <BidModel>(result); return(models); }
public ActionResult CreateBid(int?id) { var lot = lotService.GetById(id.Value); var user = userService.GetOneByPredicate(u => u.Name == User.Identity.Name); if (!CheckBidPossibility(user, lot)) { return(RedirectToAction("Details", "Lot", new { id = id })); } var model = new CreateBidModel(); model.LotId = 0; if (id.HasValue) { model.LotId = id.Value; } return(View(model)); }
public async Task <Bid> Create(CreateBidModel model) { for (int i = 0; i < model.BidDetails.Count; i++) { if (model.BidDetails[i].FieldTypeId == 10) { model.BidDetails[i].Value = UploadImageHelper.SaveImage(model.BidDetails[i].Value, "Bids"); } else if (model.BidDetails[i].FieldTypeId == 8) { model.BidDetails[i].Value = UploadImageHelper.SavePdf(model.BidDetails[i].Value, "Bids"); } } var request = _mapper.Map <Bid>(model); _uow.Add(request); await _uow.CommitAsync(); return(request); }