public async Task <ActionResult> Upload(List <IFormFile> files)
        {
            // Validate the received request
            if (files == null || !files.Any())
            {
                return(BadRequest());
            }

            var uploadedFile  = files.First();
            var inventoryFile = new InventoryFile {
                Name = uploadedFile.FileName
            };

            // Get the content of the uploded file
            using (var memoryStream = new MemoryStream())
            {
                using (var sourceStream = uploadedFile.OpenReadStream())
                {
                    sourceStream.CopyTo(memoryStream);
                    inventoryFile.Content = memoryStream.ToArray();
                }
            }

            // Upload the file
            await _inventoryDataProvider.Upload(inventoryFile);

            // Redirect the user to Groceries
            return(RedirectToAction("Groceries"));
        }
 /// <summary>
 /// Upload Inventory File
 /// </summary>
 /// <param name="inventoryfile">Inventory File</param>
 /// <returns>Task</returns>
 public async Task Upload(InventoryFile inventoryfile)
 {
     using (var client = _httpClientFactory.CreateClient("InventoryApi"))
     {
         await client.PostAsJsonAsync("api/groceries/upload", inventoryfile);
     }
 }
Example #3
0
        public void CorrectChangeDeduction()
        {
            InventoryFile.CreateStartingInventory();
            VendingMachine testvm5 = new VendingMachine();

            testvm5.FeedMoney(5);
            testvm5.PurchaseItem("A1");
            Assert.AreEqual(1.95M, testvm5.CurrentBalance, "Current balance returned after purchase incorrect.");

            InventoryFile.CreateStartingInventory();
            testvm1.FeedMoney(5);
            testvm1.PurchaseItem("D1");
            Assert.AreEqual(4.15M, testvm1.CurrentBalance, "Current balance returned after purchase incorrect.");
        }
Example #4
0
        public void NotEnoughFunds()
        {
            InventoryFile.CreateStartingInventory();
            VendingMachine testvm1 = new VendingMachine();

            testvm1.FeedMoney(5);
            testvm1.PurchaseItem("A4");
            Assert.AreEqual(1.35M, testvm1.CurrentBalance,
                            "Current balance returned after purchase incorrect.");

            testvm1.PurchaseItem("A4");
            Assert.AreEqual(1.35M, testvm1.CurrentBalance, "Should not be allowed to purchase product" +
                            "costing more than available current balance.");
        }
Example #5
0
        public void ChangeBackCorrect()
        {
            InventoryFile.CreateStartingInventory();
            VendingMachine vm5 = new VendingMachine();

            vm5.FeedMoney(2);
            vm5.PurchaseItem("D3");
            Assert.AreEqual("Your change is 5 Quarters 0 Dimes 0 Nickels.", Change.MakeChange(vm5.CurrentBalance), "Change given back is incorrect.");

            InventoryFile.CreateStartingInventory();
            VendingMachine testvm1 = new VendingMachine();

            testvm1.FeedMoney(1);
            testvm1.PurchaseItem("D1");
            Assert.AreEqual("Your change is 0 Quarters 1 Dimes 1 Nickels.", Change.MakeChange(testvm1.CurrentBalance), "Change given back is incorrect.");
        }
Example #6
0
        public void NotEnoughQuantity()
        {
            //Spinning endlessly due to Console.ReadKey

            InventoryFile.CreateStartingInventory();
            VendingMachine testvm1 = new VendingMachine();

            testvm1.FeedMoney(10);
            testvm1.PurchaseItem("D4");
            testvm1.PurchaseItem("D4");
            testvm1.PurchaseItem("D4");
            testvm1.PurchaseItem("D4");
            testvm1.PurchaseItem("D4");
            testvm1.PurchaseItem("D4");
            Assert.AreEqual(0, testvm1.Inventory["D4"].Quantity,
                            "Cannot purchase more than available quantity of item.");
        }
        public async Task <ActionResult> Upload(List <IFormFile> files)
        {
            var uploadedFile  = files.First();
            var inventoryFile = new InventoryFile {
                Name = uploadedFile.FileName
            };

            using (var memoryStream = new MemoryStream())
            {
                using (var sourceStream = uploadedFile.OpenReadStream())
                {
                    sourceStream.CopyTo(memoryStream);
                    inventoryFile.Content = memoryStream.ToArray();
                }
            }
            await _inventoryDataProvider.Upload(inventoryFile);

            return(RedirectToAction("Groceries"));
        }
Example #8
0
        public void Purchase()
        {
            //Checking that single ping of inventory is working
            InventoryFile.CreateStartingInventory();
            VendingMachine vm5 = new VendingMachine();

            vm5.FeedMoney(5);
            vm5.PurchaseItem("A1");
            Assert.AreEqual(4, vm5.Inventory["A1"].Quantity, "Quantity returned after purchase incorrect.");

            InventoryFile.CreateStartingInventory();
            VendingMachine vm1 = new VendingMachine();

            vm1.FeedMoney(5);
            vm1.PurchaseItem("B1");
            Assert.AreEqual(4, vm1.Inventory["B1"].Quantity, "Quantity returned after purchase incorrect.");

            InventoryFile.CreateStartingInventory();
            VendingMachine vm2 = new VendingMachine();

            vm2.FeedMoney(5);
            vm2.PurchaseItem("C1");
            Assert.AreEqual(4, vm2.Inventory["C1"].Quantity, "Quantity returned after purchase incorrect.");

            //Subsequent pings checking reduction of quantity
            InventoryFile.CreateStartingInventory();
            vm5.FeedMoney(5);
            vm5.PurchaseItem("A1");
            Assert.AreEqual(3, vm5.Inventory["A1"].Quantity, "Quantity returned after purchase incorrect.");

            vm5.FeedMoney(5);
            vm5.PurchaseItem("A1");
            Assert.AreEqual(2, vm5.Inventory["A1"].Quantity, "Quantity returned after purchase incorrect.");

            vm5.FeedMoney(5);
            vm5.PurchaseItem("A1");
            Assert.AreEqual(1, vm5.Inventory["A1"].Quantity, "Quantity returned after purchase incorrect.");

            vm5.FeedMoney(5);
            vm5.PurchaseItem("A1");
            Assert.AreEqual(0, vm5.Inventory["A1"].Quantity, "Quantity returned after purchase incorrect.");
        }
        public InventoryPageHandler()
        {
            Pcsx2Memory.findProcess();
            if (Pcsx2Memory.process_current_Type == Enum.ProcessType.PCSX2)
            {
                MemOffset = "2032F0B0";
            }
            else if (Pcsx2Memory.process_current_Type == Enum.ProcessType.EGS)
            {
                MemOffset = (Pcsx2Memory.startingAddressEGS + 0x9AA5F0).ToString("X12");
            }

            ItemCount          = "312";
            NameFilter         = "";
            InventoryFileItems = new ObservableCollection <Item>();
            Console.WriteLine("DEBUG > InventoryPageHandler > Processing file...");
            InventoryFileLoaded = new InventoryFile();
            loadList();
            Console.WriteLine("DEBUG > InventoryPageHandler > File processed!");
        }
Example #10
0
 /// <summary>
 /// Upload Inventory File
 /// </summary>
 /// <param name="inventoryfile">Inventory File</param>
 /// <returns>Task</returns>
 public async Task Upload(InventoryFile inventoryfile)
 {
     await Task.CompletedTask;
 }