Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public List <BuyHoldViewModel> GetAllItems(string id)
        {
            var items             = _repository.FindItemsByUserId(id);
            var buyHoldViewModels = BuyHoldViewModel.MapItemsForIndexView(items);

            return(buyHoldViewModels);
        }
Esempio n. 4
0
        // 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));
        }
Esempio n. 5
0
 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));
 }
Esempio n. 6
0
 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 })));
 }
Esempio n. 7
0
        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);
        }