コード例 #1
0
        public void ShouldCreateReceiptForBasket2()
        {
            var chocolates = new Food {
                Id = 4, Name = "chocolates", Price = 10.0m, ProductOrigin = EProductOrigin.Imported
            };
            var perfume = new Perfume {
                Id = 5, Name = "bottle of perfume", Price = 47.5m, ProductOrigin = EProductOrigin.Imported
            };

            var cart = new Cart {
                Id = 2
            };

            cart.Products.Add(chocolates);
            cart.Products.Add(perfume);
            var container = ConfigBuilder.Register();

            using (var scope = container.BeginLifetimeScope())
            {
                var receiptUtility = scope.Resolve <IReceiptUtility>();
                var receipt        = receiptUtility.Create(cart);
                Assert.AreEqual("1 imported chocolates: 10.5\r\n1 imported bottle of perfume: 54.65\r\nSales Taxes: 7.65\r\nTotal: 65.15",
                                receipt);
            }
        }
コード例 #2
0
 public ActionResult AddPerfume(ProductViewModel collection)
 {
     try
     {
         DBEntities db       = new DBEntities();
         string     filename = Path.GetFileNameWithoutExtension(collection.Image.FileName);
         string     ext      = Path.GetExtension(collection.Image.FileName);
         filename = filename + DateTime.Now.Millisecond.ToString();
         filename = filename + ext;
         string filetodb = filename;
         filename = Path.Combine(Server.MapPath("~/image/product/"), filename);
         collection.Image.SaveAs(filename);
         collection.Photo = filetodb;
         Perfume per = new Perfume()
         {
             Name  = collection.Name,
             Price = collection.Price,
             Type  = collection.TypeId,
             Image = collection.Photo
         };
         db.Perfumes.Add(per);
         db.SaveChanges();
         Alert.PerfumeAdd = true;
         return(RedirectToAction("ViewPerfumes", "Admin"));
     }
     catch (Exception exp)
     {
         return(Content(exp.Message));
     }
 }
コード例 #3
0
        public ActionResult Edit([Bind(Include = "id,Name,Description,Gender,Price,Image,MarcaId")] Perfume perfume)
        {
            byte[] imagenActual = null;

            HttpPostedFileBase FileBase = Request.Files[0];

            if (FileBase == null)
            {
                imagenActual = db.Perfumes.SingleOrDefault(t => t.id == perfume.id).Image;
            }
            else
            {
                WebImage image = new WebImage(FileBase.InputStream);

                perfume.Image = image.GetBytes();
            }

            if (ModelState.IsValid)
            {
                db.Entry(perfume).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.MarcaId = new SelectList(db.Marcas, "id", "Name", perfume.MarcaId);
            return(View(perfume));
        }
コード例 #4
0
        public void ShouldCreateReceiptForBasket3()
        {
            var importedPerfume = new Perfume {
                Id = 6, Name = "bottle of perfume", Price = 27.99m, IsImported = true
            };
            var perfume = new Perfume {
                Id = 7, Name = "bottle of perfume", Price = 18.99m
            };
            var pills = new Medical {
                Id = 8, Name = "packet of headache pills", Price = 9.75m
            };
            var chocolates = new Food {
                Id = 9, Name = "box of chocolates", Price = 11.25m, IsImported = true
            };

            var cart = new Cart {
                Id = 3
            };

            cart.Products.Add(importedPerfume);
            cart.Products.Add(perfume);
            cart.Products.Add(pills);
            cart.Products.Add(chocolates);

            var    receipt           = Receipt.Instance.Create(cart);
            string receiptNormalized = Regex.Replace(receipt, @"\s", "");

            Assert.AreEqual("S.No.ProductNameCountPriceSalesTax------------------------------------1Importedbottleofperfume127.994.22bottleofperfume118.991.93packetofheadachepills19.7504Importedboxofchocolates111.250.6-------------------------------------------------------------------TotalSalesTaxes:6.70Total:74.68",
                            receiptNormalized);
        }
コード例 #5
0
        public void ShouldCreateReceiptForBasket3()
        {
            var importedPerfume = new Perfume {
                Id = 6, Name = "bottle of perfume", Price = 27.99m, ProductOrigin = EProductOrigin.Imported
            };
            var perfume = new Perfume {
                Id = 7, Name = "bottle of perfume", Price = 18.99m
            };
            var pills = new Medical {
                Id = 8, Name = "packet of headache pills", Price = 9.75m
            };
            var chocolates = new Food {
                Id = 9, Name = "box of chocolates", Price = 11.25m, ProductOrigin = EProductOrigin.Imported
            };

            var cart = new Cart {
                Id = 3
            };

            cart.Products.Add(importedPerfume);
            cart.Products.Add(perfume);
            cart.Products.Add(pills);
            cart.Products.Add(chocolates);
            var container = ConfigBuilder.Register();

            using (var scope = container.BeginLifetimeScope())
            {
                var receiptUtility = scope.Resolve <IReceiptUtility>();
                var receipt        = receiptUtility.Create(cart);
                Assert.AreEqual("1 imported bottle of perfume: 32.19\r\n1 bottle of perfume: 20.89\r\n1 packet of headache pills: 9.75\r\n1 imported box of chocolates: 11.85\r\nSales Taxes: 6.70\r\nTotal: 74.68",
                                receipt);
            }
        }
        public void ShouldCreateReceiptForBasket3()
        {
            var importedPerfume = new Perfume {
                Id = 6, Name = "bottle of perfume", Price = 27.99m, IsImported = true
            };
            var perfume = new Perfume {
                Id = 7, Name = "bottle of perfume", Price = 18.99m
            };
            var pills = new Medical {
                Id = 8, Name = "packet of headache pills", Price = 9.75m
            };
            var chocolates = new Food {
                Id = 9, Name = "box of chocolates", Price = 11.25m, IsImported = true
            };

            var cart = new Cart {
                Id = 3
            };

            cart.Products.Add(importedPerfume);
            cart.Products.Add(perfume);
            cart.Products.Add(pills);
            cart.Products.Add(chocolates);

            var receipt = Receipt.Instance.Create(cart);

            Assert.AreEqual("1 imported bottle of perfume: 32.19\r\n1 bottle of perfume: 20.89\r\n1 packet of headache pills: 9.75\r\n1 imported box of chocolates: 11.85\r\nSales Taxes: 6.70\r\nTotal: 74.68",
                            receipt);
        }
コード例 #7
0
        public void ShouldReturnCostAsPricePlusSalesTax()
        {
            //arrange
            ICartItem item = new Perfume();

            //assert
            item.Cost().Should().Be(20.89);
        }
コード例 #8
0
        public void ShouldCalculateTaxOnPerfume()
        {
            var perfume = new Perfume {
                Id = 5, Name = "perfume", Price = 47.5m, IsImported = true
            };

            Assert.AreEqual(7.15m, Taxes.ComputeSalesTax(perfume));
        }
コード例 #9
0
        public void ShouldCalculateTaxOnPerfume2()
        {
            var perfume = new Perfume {
                Id = 6, Name = "perfume", Price = 27.99m, IsImported = true
            };

            Assert.AreEqual(4.2m, Taxes.ComputeSalesTax(perfume));
        }
コード例 #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            Perfume perfume = db.Perfumes.Find(id);

            db.Perfumes.Remove(perfume);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #11
0
        public void ShouldReturnSalesTaxAs10Percent()
        {
            //arrange
            ICartItem item = new Perfume();

            //assert
            item.Tax().Should().Be(1.90);
        }
コード例 #12
0
        public async Task <ActionResult <Perfume> > Get(int id)
        {
            Perfume perfume = await db.Perfumes.FirstOrDefaultAsync(x => x.Id == id);

            if (perfume == null)
            {
                return(NotFound());
            }
            return(new ObjectResult(perfume));
        }
コード例 #13
0
        private List <Perfume> SetListCount(List <Perfume> perfumes, int count)
        {
            var perfume = new Perfume()
            {
                PerfumeId   = (int)Math.Ceiling((double)count / 8),
                PerfumeName = "Liste Uzunlugu",
                Price       = 1907
            };

            perfumes.Add(perfume);
            return(perfumes);
        }
コード例 #14
0
        public async Task <ActionResult <Perfume> > Post([FromForm] Perfume perfume)
        {
            if (perfume == null || db.Perfumes.Any(x => x.Name == perfume.Name) || !db.Brands.Any(x => x.Id == perfume.BrandId))
            {
                return(BadRequest());
            }

            db.Perfumes.Add(perfume);
            await db.SaveChangesAsync();

            return(Ok(perfume));
        }
コード例 #15
0
        public async Task <ActionResult <Perfume> > Delete(int id)
        {
            Perfume perfume = db.Perfumes.FirstOrDefault(x => x.Id == id);

            if (perfume == null)
            {
                return(NotFound());
            }
            db.Perfumes.Remove(perfume);
            await db.SaveChangesAsync();

            return(Ok(perfume));
        }
コード例 #16
0
        public void ShouldCalculateTaxOnPerfume2()
        {
            var perfume = new Perfume {
                Id = 6, Name = "perfume", Price = 27.99m, ProductOrigin = EProductOrigin.Imported
            };
            var container = ConfigBuilder.Register();

            using (var scope = container.BeginLifetimeScope())
            {
                var taxesUtility = scope.Resolve <ITaxesUtility>();
                Assert.AreEqual(taxesUtility.ComputeSalesTax(perfume), 4.2m);
            }
        }
コード例 #17
0
        public IActionResult destroy(string submit, string cancel, Perfume perfume)
        {
            var button = submit ?? cancel;

            if (button == "Cancel")
            {
                return(RedirectToAction("Index"));
            }

            db.Perfumes.Remove(perfume);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #18
0
        // GET: Perfumes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Perfume perfume = db.Perfumes.Find(id);

            if (perfume == null)
            {
                return(HttpNotFound());
            }
            return(View(perfume));
        }
コード例 #19
0
        public void WhenAddingNewPerfume_StockWasUpdated()
        {
            //Arrange
            Perfume      perfume1 = new Perfume("Baccarat");
            StockManager manager  = new StockManager();


            //Act
            manager.AddPerfume(perfume1);


            //Assert

            Assert.IsTrue(manager.IsPerfumeInStock("Baccarat"));
        }
コード例 #20
0
        public void WhenDeletingNonExistingItem_ShouldThrowEx()
        {
            //Arrange
            Perfume perfume1 = new Perfume("Santal");

            StockManager manager = new StockManager();

            //Act
            Action func = () =>
                          manager.DeletePerfume(perfume1);


            //Assert
            func.ShouldThrow <Exception>();
        }
コード例 #21
0
        public ActionResult getImage(int id)
        {
            Perfume menuk = db.Perfumes.Find(id);

            byte[] byteImage = menuk.Image;

            MemoryStream memoryStream = new MemoryStream(byteImage);
            Image        image        = Image.FromStream(memoryStream);

            memoryStream = new MemoryStream();
            image.Save(memoryStream, ImageFormat.Jpeg);
            memoryStream.Position = 0;

            return(File(memoryStream, "image/jpg"));
        }
コード例 #22
0
        // GET: Perfumes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Perfume perfume = db.Perfumes.Find(id);

            if (perfume == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MarcaId = new SelectList(db.Marcas, "id", "Name", perfume.MarcaId);
            return(View(perfume));
        }
コード例 #23
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            bool isInputCorrect = this.isInputCorrect();

            if (isInputCorrect)
            {
                Perfume p = ppda.getOneProductPerfumeByID(perfumeIdTextBox.Text, Language.getLanguageCode(), conn);
                p.setProductNameEnUs(englishNameTextBox.Text.Trim());
                p.setProductNameZhHant(tChineseNameTextBox.Text.Trim());
                p.setDescriptionEnUs(engDescTextBox.Text.Trim());
                p.setDescriptionZhHant(tChiDescTextBox.Text.Trim());
                p.setPhoto(productPhotoBox.Image);
                p.setSupplierID(supplierID);
                p.setQtyInStock(int.Parse(quantityTextBox.Text.Trim()));
                p.setPrice(int.Parse(priceTextBox.Text.Trim()));
                p.setCategoryCode(categoryComboBox.SelectedValue.ToString());

                int i = ppda.update(p, conn);
                if (i > 0)
                {
                    foreach (DataGridViewRow row in perfumeListDataGridView.Rows)
                    {
                        if (perfumeIdTextBox.Text.Equals(row.Cells["perfumeIdColumn"].Value.ToString()))
                        {
                            row.Cells["engNameColumn"].Value         = englishNameTextBox.Text;
                            row.Cells["tChiNameColumn"].Value        = tChineseNameTextBox.Text;
                            row.Cells["engDescriptionColumn"].Value  = engDescTextBox.Text;
                            row.Cells["tChiDescriptionColumn"].Value = tChiDescTextBox.Text;
                            row.Cells["quantityColumn"].Value        = quantityTextBox.Text + " " + rs.GetString("mlText");
                            row.Cells["priceColumn"].Value           = rs.GetString("hkdText") + priceTextBox.Text;
                        }
                    }

                    showedStockAlertPerfume.Remove(p.getProductID());
                    setting.Save();

                    productList.Clear();
                    productList = null;
                    productList = ppda.findProductPerfumeBySupplierID(supplierID, Language.getLanguageCode(), conn);

                    MessageBox.Show(rs.GetString("updateProductSuccessMsg"));
                }
                else
                {
                    MessageBox.Show(rs.GetString("updateProductFailMsg"), rs.GetString("errorText"), MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #24
0
ファイル: PerfumeDAO.cs プロジェクト: LongTrn/TSessays
        public List <Perfume> GetListPerfume()
        {
            List <Perfume> list = new List <Perfume>();

            string qr = "SELECT * FROM dbo.Perfume";

            DataTable data = DataProvider.Instance.ExecuteQuery(qr);

            foreach (DataRow item in data.Rows)
            {
                Perfume perfume = new Perfume(item);

                list.Add(perfume);
            }

            return(list);
        }
コード例 #25
0
ファイル: PerfumeDAO.cs プロジェクト: LongTrn/TSessays
        public List <Perfume> SearchPerfumeByName(string name)
        {
            List <Perfume> list = new List <Perfume>();

            string qr = string.Format("SELECT * FROM dbo.Perfume WHERE dbo.fuConvertToUnsign1(PerfumeName) LIKE N'%' + dbo.fuConvertToUnsign1(N'{0}') + '%'", name);

            DataTable data = DataProvider.Instance.ExecuteQuery(qr);

            foreach (DataRow item in data.Rows)
            {
                Perfume perfume = new Perfume(item);

                list.Add(perfume);
            }

            return(list);
        }
コード例 #26
0
ファイル: PerfumeDAO.cs プロジェクト: LongTrn/TSessays
        public List <Perfume> GetPerfumeByCategoryID(int id)
        {
            List <Perfume> list = new List <Perfume>();

            string qr = "SELECT * FROM dbo.Perfume WHERE idCategory = " + id;

            DataTable data = DataProvider.Instance.ExecuteQuery(qr);

            foreach (DataRow item in data.Rows)
            {
                Perfume perfume = new Perfume(item);

                list.Add(perfume);
            }

            return(list);
        }
コード例 #27
0
        public void WhenAddingExistentPerfume_StockWasUpdated()
        {
            //Arrange
            Perfume      perfume1 = new Perfume("Baccarat");
            StockManager manager  = new StockManager();
            Perfume      perfume2 = new Perfume("Baccarat");

            manager.AddPerfume(perfume1);

            //Act
            manager.AddPerfume(perfume2);


            //Assert

            perfume1.Quantity.ShouldBe(2);
        }
コード例 #28
0
        public void WhenAddingTwoPerfumes_StockWasUpdated()
        {
            //Arrange
            Perfume      perfume1 = new Perfume("Baccarat");
            StockManager manager  = new StockManager();
            Perfume      perfume2 = new Perfume("Santal");

            manager.AddPerfume(perfume1);

            //Act
            manager.AddPerfume(perfume2);


            //Assert

            manager.IsPerfumeInStock("Baccarat").ShouldBeTrue();
            manager.IsPerfumeInStock("Santal").ShouldBeTrue();
        }
コード例 #29
0
        public void WhenDeletingLastItemFromStock_StockWasUpdated()
        {
            //Arrange
            Perfume perfume1 = new Perfume("Santal");

            StockManager manager = new StockManager();

            manager.AddPerfume(perfume1);



            //Act
            manager.DeletePerfume(perfume1);


            //Assert
            manager.IsPerfumeInStock("Santal").ShouldBeFalse();
        }
コード例 #30
0
        public void WhenDeletingAPerfumeWIthBigStock_StockWasDecreased()
        {
            //Arrange
            Perfume      perfume1 = new Perfume("Santal");
            Perfume      perfume2 = new Perfume("Santal");
            StockManager manager  = new StockManager();

            manager.AddPerfume(perfume1);
            manager.AddPerfume(perfume2);


            //Act
            manager.DeletePerfume(perfume2);


            //Assert
            manager.IsPerfumeInStock("Santal").ShouldBeTrue();
        }