コード例 #1
0
        public void CanDeleteItem()
        {
            Item itemToAdd = new Item();
            var  repo      = new PirateItemRepository();

            itemToAdd.ItemName       = "Test Item";
            itemToAdd.RealValue      = 15000;
            itemToAdd.DisplayValue   = 20000;
            itemToAdd.Description    = "This is a test item";
            itemToAdd.Favorite       = true;
            itemToAdd.Featured       = true;
            itemToAdd.CategoryName   = "Space Goats";
            itemToAdd.CurrencyName   = "Space Bucks";
            itemToAdd.ItemPictureURL = "placeholder.jpg";

            repo.Insert(itemToAdd);
            Assert.AreEqual(9, itemToAdd.ItemId);

            var loaded = repo.GetItemById(9);

            Assert.IsNotNull(loaded);
            Assert.AreEqual(9, loaded.ItemId);

            repo.Delete(9);
            loaded = repo.GetItemById(9);

            Assert.IsNull(loaded);
        }
コード例 #2
0
        public ActionResult DeleteItem(int id)
        {
            var repo = new PirateItemRepository();

            repo.Delete(id);

            return(RedirectToAction("Inventory", "Admin"));
        }
コード例 #3
0
        public void CanReadAllShortItems()
        {
            var repo = new PirateItemRepository();

            List <ItemShort> itemToRead = repo.GetAllShortItems().ToList();

            Assert.AreEqual(8, itemToRead.Count());

            Assert.AreEqual("Space Gold", itemToRead[0].ItemName);
        }
コード例 #4
0
        public ActionResult Edit(ItemEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var repo = new PirateItemRepository();
                try
                {
                    var oldItemInfo = repo.GetById(model.Item.ItemId);
                    if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0)
                    {
                        var savepath = Server.MapPath("~/Images");

                        string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                        string extension = Path.GetExtension(model.ImageUpload.FileName);

                        var filePath = Path.Combine(savepath, fileName + extension);

                        int counter = 1;
                        while (System.IO.File.Exists(filePath))
                        {
                            filePath = Path.Combine(savepath, fileName + counter.ToString() + extension);
                            counter++;
                        }

                        model.ImageUpload.SaveAs(filePath);
                        model.Item.ItemPictureURL = Path.GetFileName(filePath);

                        var oldPath = Path.Combine(savepath, fileName + counter.ToString() + extension);
                        if (System.IO.File.Exists(oldPath))
                        {
                            System.IO.File.Delete(oldPath);
                        }
                    }
                    else
                    {
                        model.Item.ItemPictureURL = oldItemInfo.ItemPictureURL;
                    }
                    repo.Update(model.Item);

                    return(RedirectToAction("Inventory", "Admin"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var currenciesRepo = new CurrencyRepository();
                model.Currencies = new SelectList(currenciesRepo.GetAll(), "CurrencyId", "CurrencyName");
                var categoriesRepo = new CategoryRepository();
                model.Categories = new SelectList(categoriesRepo.GetAll(), "CategoryId", "CategoryName");
                return(View(model));
            }
        }
コード例 #5
0
        public IHttpActionResult RemoveItem(int ItemId)
        {
            var repo = new PirateItemRepository();

            try
            {
                repo.Delete(ItemId);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #6
0
        public ActionResult EditItem(int id)
        {
            var model = new ItemEditViewModel();

            var currenciesRepo = new CurrencyRepository();
            var categoriesRepo = new CategoryRepository();
            var ItemRepo       = new PirateItemRepository();

            model.Currencies = new SelectList(currenciesRepo.GetAll(), "CurrencyId", "CurrencyName");
            model.Categories = new SelectList(categoriesRepo.GetAll(), "CategoryId", "CategoryName");
            model.Item       = ItemRepo.GetItemById(id);

            return(View(model));
        }
コード例 #7
0
        public IHttpActionResult Search(decimal?minValue, decimal?maxValue, string itemName, string categoryName)
        {
            var repo = new PirateItemRepository();

            try
            {
                var parameters = new ItemSearchParameters()
                {
                    MinValue     = minValue,
                    MaxValue     = maxValue,
                    ItemName     = itemName,
                    CategoryName = categoryName
                };
                var result = repo.Search(parameters);
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #8
0
        public ActionResult Inventory()
        {
            var repo  = new PirateItemRepository();
            var model = repo.GetAll().ToList();

            if (User.Identity.IsAuthenticated)
            {
                var user = User.Identity;
                ViewBag.Name = user.Name;

                ViewBag.displayMenu = "No";

                if (IsAdminUser())
                {
                    ViewBag.displayMenu = "Yes";
                }
                return(View(model));
            }
            else
            {
                ViewBag.Name = "Not Logged IN";
            }
            return(View());
        }
コード例 #9
0
        public ActionResult Index()
        {
            var model = new PirateItemRepository().GetAllFeaturedShortItems();

            return(View(model));
        }
コード例 #10
0
        public ActionResult Details(int id)
        {
            var repo = new PirateItemRepository().GetById(id);

            return(View(repo));
        }