public IHttpActionResult PostItem(string userId, int itemId, BuyHoldViewModel buyHoldViewModel) { if (ModelState.IsValid) { var buyer = buyHoldViewModel.ToBuyer(); var item = _repository.FindItemById(itemId); if (item.HasBuyer()) { return(BadRequest()); } _repository.AddBuyerToItem(buyer, item); return(Ok()); } return(BadRequest(ModelState)); }
public ActionResult Details(string userId, int?itemId, [Bind(Include = "BuyerName,Contact,Token")] BuyHoldViewModel buyHoldViewModel) { if (ModelState.IsValid) { var buyer = buyHoldViewModel.ToBuyer(); var item = _repository.FindItemById(itemId); if (item.HasBuyer()) { this.Flash("Error", "Sorry, the item does not exist or it already has a buyer"); return(RedirectToAction("Index", new RouteValueDictionary( new { controller = "Buy", action = "Index", Id = userId }))); } _repository.AddBuyerToItem(buyer, item); } this.Flash("success", "Your request is sent. The seller may contact you later."); return(RedirectToAction("Index", new RouteValueDictionary( new { controller = "Buy", action = "Index", Id = userId }))); }
public void BuyHoldViewModelShouldCreateBuyerOutOfIt() { var buyHoldViewModel = new BuyHoldViewModel { BuyerName = "Rosalind Lutece", Contact = "123-123-3212", Token = "Bring us the girl, and wipe away the debt", Descrption = "good one", HoldLongDay = 3, HoldLongLessThanDay = new TimeSpan(0, 1, 0, 0), ImageUrl = "http://www.123.com", ItemId = 3, Name = "coffee machine" }; var resultBuyer = buyHoldViewModel.ToBuyer(); Assert.Equal("123-123-3212", resultBuyer.Contact); Assert.Equal("Rosalind Lutece", resultBuyer.Name); Assert.Equal("Bring us the girl, and wipe away the debt", resultBuyer.Token); }