public void BuyHoldViewModelShouldLoadOneItem() { // Arrange var itemToMap = new Item { Buyer = null, BuyerId = null, CreateDateTime = new DateTime(2012, 12, 12, 1, 0, 0), Descrption = "good one", HoldLongDay = 3, HoldLongLessThanDay = new TimeSpan(0, 1, 0, 0), ImageUrl = "http://www.123.com", HoldTime = null, ItemId = 3, Name = "coffee machine" }; // Act var holdViewModel = new BuyHoldViewModel(itemToMap); // Assert Assert.Equal(null, holdViewModel.BuyerName); Assert.Equal("good one", holdViewModel.Descrption); Assert.Equal(3, holdViewModel.HoldLongDay); Assert.Equal(new TimeSpan(0, 1, 0, 0), holdViewModel.HoldLongLessThanDay); Assert.Equal("http://www.123.com", holdViewModel.ImageUrl); Assert.Equal("coffee machine", holdViewModel.Name); Assert.Equal(3, holdViewModel.ItemId); }
public void BuyHoldViewModelShouldConvertACollectionOfItems() { // Arrange var itemToMap = new Item { Buyer = null, BuyerId = null, CreateDateTime = new DateTime(2012, 12, 12, 1, 0, 0), Descrption = "good one", HoldLongDay = 3, HoldLongLessThanDay = new TimeSpan(0, 1, 0, 0), ImageUrl = "http://www.123.com", HoldTime = null, ItemId = 3, Name = "coffee machine" }; var items = new List <Item> { itemToMap, itemToMap, itemToMap }; // Act var viewModels = BuyHoldViewModel.MapItemsForIndexView(items); Assert.Equal(3, viewModels.Count); Assert.Equal("coffee machine", viewModels[0].Name); }
public List <BuyHoldViewModel> GetAllItems(string id) { var items = _repository.FindItemsByUserId(id); var buyHoldViewModels = BuyHoldViewModel.MapItemsForIndexView(items); return(buyHoldViewModels); }
// GET: Buy/Index/e3d42666-b875-41f6-8bf7-213d18e923fc public ActionResult Index(string id) { if (id == null) { return(HttpNotFound()); } var items = _repository.FindItemsByUserId(id); var buyHoldViewModels = BuyHoldViewModel.MapItemsForIndexView(items); ViewBag.userId = id; return(View(buyHoldViewModels)); }
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); }