public ShoppingBasketTestsFixture(ITestOutputHelper outputHelper) { // Setup DI. var serviceCollection = new ServiceCollection(); serviceCollection.AddLogging((builder) => builder.AddXUnit(outputHelper)); serviceCollection.AddShoppingBasketDependencies(); ServiceProvider = serviceCollection.BuildServiceProvider(); // Create basket items. var bread = new BasketItem(Guid.NewGuid(), "Bread", 1); var butter = new BasketItem(Guid.NewGuid(), "Butter", 0.8M); var milk = new BasketItem(Guid.NewGuid(), "Milk", 1.15M); // Create discounts. var breadDiscount = new ProductDiscount("Buy two butters, get one bread at 50% off", 50); breadDiscount.AddCondition(butter.ProductId, 2); bread.AddDiscount(breadDiscount); var milkDiscount = new ProductDiscount("Buy three milks, get fourth for free", 100); milkDiscount.AddCondition(milk.ProductId, 3); milk.AddDiscount(milkDiscount); Products = new List <BasketItem> { bread, butter, milk }; }
protected void btnOrder_Click(object sender, EventArgs e) { if (IsValid) {//Convert.ToInt32(lstProducts.SelectedValue), Convert.ToInt32(txtPrice.Text), 1) sessionCust = (Customer)Session["CustObj"]; newProduct = new StandardProduct(Convert.ToInt32(lstProducts.SelectedValue), Convert.ToDouble(txtPrice.Text), lstProducts.SelectedItem.Text, 1); ProductDiscount pd = new ProductDiscount(newProduct); if (sessionCust != null) { Response.Write("Calculating Individual Product DIscount - " + pd.applyDiscount() + "/" + newProduct.Price + " Pid = " + newProduct.ProductID + "\n"); newOrder = new Order( sessionCust.CustomerID, newProduct, 1, txtAddress.Text, pd.applyDiscount() * Convert.ToInt32(txtQuantity.Text), DateTime.Now); newOrder.CreateOrder(); Response.Write("Order processed!!\n\n\n\n"); btnOrder.Enabled = false; btnAddOrder.Enabled = true; btnViewOrder.Enabled = true; Response.Write("Calculating Customer Discount - " + newOrder.Amount + "/" + (Convert.ToDouble(txtPrice.Text) * Convert.ToInt32(txtQuantity.Text)) + "\n"); Session["OrderObj"] = newOrder; } else { Response.Write("No customer is in session, please log in"); } } }
public void GetMatchingProductDiscountValidQuery() { IClient commerceToolsClient = this.productDiscountFixture.GetService <IClient>(); //Create Product with product variant Product product = this.productDiscountFixture.CreateProductWithVariant(); //Create Product Discount for this product ProductDiscount productDiscount = this.productDiscountFixture.CreateProductDiscount(product); this.productDiscountFixture.ProductDiscountsToDelete.Add(productDiscount); var masterVariant = product.MasterData.Staged.MasterVariant; Assert.NotEmpty(masterVariant.Prices); var masterVariantPrice = masterVariant.Prices[0]; var matchingProductDiscountParams = new GetMatchingProductDiscountParameters() { Staged = true, Price = masterVariantPrice, ProductId = new Guid(product.Id), VariantId = masterVariant.Id }; ProductDiscount matchingProductDiscount = commerceToolsClient .ExecuteAsync(new GetMatchingProductDiscountCommand(matchingProductDiscountParams)) .Result; Assert.NotNull(matchingProductDiscount); }
public ActionResult Edit(ProductDiscount productDiscount) { if (!ModelState.IsValid) { ViewBag.ProductId = new SelectList( _unitOfWork.Products.GetProductsNotDeleted(), "Id", "Name", productDiscount.ProductId); return(View("ProductDiscountForm", productDiscount)); } var pDiscountInDb = GetProductDiscountFromDb(productDiscount.Id); try { _unitOfWork.ProductDiscounts.Entry(pDiscountInDb as ProductDiscount).OriginalValues["RowVersion"] = productDiscount.RowVersion; Mapper.Map(productDiscount, pDiscountInDb); _unitOfWork.Complete(); return(RedirectToAction("Index")); } catch (DbUpdateConcurrencyException exception) { CatchCuncurrencyException(exception, pDiscountInDb as ProductDiscount); return(Edit((pDiscountInDb as ProductDiscount)?.Id)); } }
public void RemoveDiscount_ReturnNewPrice(ShoppingCart <ProductConditionDiscount> cart) { ProductDiscount disc1 = cart.ApplicableDiscounts[0] as ProductDiscount; cart.RemoveDiscount(disc1); Assert.Equal(4.9m, cart.TotalPrice); }
public void AddDiscount_ReturnNewPrice(ShoppingCart <ProductConditionDiscount> cart) { ProductDiscount disc2 = new ProductDiscount(1m, 1, ProductType.MILK, 1, ProductType.MILK); cart.AddDiscount(disc2); Assert.Equal(3.25m, cart.TotalPrice); }
public void CategoryDiscount_ProductDiscountDisabled() { //Arrange Brand brand = new Brand(1, "b1"); Category category = new Category(1, "c1"); Product p1 = new Product("p1", 800, 700, brand, category); Brand brand2 = new Brand(2, "b2"); Category category2 = new Category(2, "c2"); Product p2 = new Product("p2", 400, 250, brand2, category2); User u = new User("user", MemberShipTypeEnum.GOLD); Basket = new Basket(u, DateTime.Now); Basket.AddOrderProduct(new BasketProduct(p1, 1)); Basket.AddOrderProduct(new BasketProduct(p2, 1)); Dictionary <int, Double> categoryDiscounts = new Dictionary <int, double> { { 1, 0.1 }, { 3, 0.15 } }; DiscountBase productDiscountStrategy = new ProductDiscount(false); DiscountBase categoryDiscountStrategy = new CategoryDiscount(categoryDiscounts, productDiscountStrategy); DiscountBase memberShipDiscountStrategy = new BasketDiscountGoldUser(categoryDiscountStrategy); double discountedPrice = Basket.calcDiscountedTotal(memberShipDiscountStrategy); //Act //800+400 =1200 total after product discount //1200 - 80 = 1120 total after category discount //1120 - 112 = 783 total after gold membership discount discountedPrice.Should().Be(1008); }
void BindProductInfo() { ///////////////////////////////// // Change for QtyDiscount discount = PromotionService.SetProductPricing(product); ProductTopDisplay1.discount = discount; ///////////////////////////////// ProductTopDisplay1.product = product; //set the ratings //this was passed in BundleDisplay1.product = product; ReviewDisplay1.product = product; FeedBackDisplay1.ProductID = product.ProductID; FeedBackDisplay1.ProductName = product.ProductName; FeedBackDisplay1.InitialRating = Convert.ToDouble(product.Rating); ProductDescriptorDisplay1.DescriptorList = product.Descriptors; this.Title = product.ProductName; ///////////////////////////////// // Change for QtyDiscount this.QtyDiscountDisplay(); }
public OperationDetails AddDiscountToSkus(List <long> SkusIds, long discountId) { if (SkusIds == null || SkusIds.Count == 0) { return(new OperationDetails(false, "الرجاء اختيار منتجات ليتم تطبيق التخفيض عليها", "")); } foreach (var id in SkusIds) { if (IsSkuInThisDiscount(id, discountId)) { return(new OperationDetails(false, "أحد المنتجات المختارة موجود مسبقاً ضمن التخفيض لذلك لم تتم إضافته مرة أخرى", "")); } if (IsSKuInDiscount(id)) { return(new OperationDetails(false, "أحد المنتجات موجود ضمن تخفيض جاري،يرجى إالغاء التخفيض الجاري عن المنتج أو إالغاء المنتج من التخخفيض الجديد", "")); } ProductDiscount productDiscount = new ProductDiscount(); long prodictId = _uitOfWork.ProductSKURepository.Get(c => c.SKUId == id).Select(g => g.ProductId).FirstOrDefault(); productDiscount.ProductId = prodictId; productDiscount.SKUId = id; productDiscount.DiscountId = discountId; productDiscount.DateAdded = DateTime.Now; productDiscount.DateModefied = DateTime.Now; _uitOfWork.ProductDiscountRepository.Insert(productDiscount); _uitOfWork.Save(); } return(new OperationDetails(true, "تمت عملية الإضافة بنجاح", "")); }
public override DiscountBase GetDiscountStrategy(Basket basket, DiscountBase parentDiscountStrategy = null) { DiscountBase bestStrategy = null; double bestPrice = 0; //Product Discount + MembershipDiscount DiscountBase productDiscount = new ProductDiscount(true); DiscountBase membershipAndProductDiscount = BasketDiscountOverMemberShipFactory.Instance.GetDiscountStrategy(basket, productDiscount); bestStrategy = membershipAndProductDiscount; bestPrice = membershipAndProductDiscount.GetDiscountedTotal(basket); //Basket Discount + MembershipDiscount DiscountBase basketDiscount = BasketDiscountOverTotalFactory.Instance.GetDiscountStrategy(basket, null); DiscountBase memberShipAndBasketDiscount = BasketDiscountOverMemberShipFactory.Instance.GetDiscountStrategy(basket, basketDiscount); (bestPrice, bestStrategy) = GetBetterStrategy(bestPrice, bestStrategy, basket, memberShipAndBasketDiscount); //Product Discount + CategoryDiscount + MembershipDiscount DiscountBase categoryAndProductDiscount = CategoryDiscountFactory.Instance.GetDiscountStrategy(basket, productDiscount); DiscountBase membershipCategoryAndProdutDiscount = BasketDiscountOverMemberShipFactory.Instance.GetDiscountStrategy(basket, categoryAndProductDiscount); (bestPrice, bestStrategy) = GetBetterStrategy(bestPrice, bestStrategy, basket, membershipCategoryAndProdutDiscount); //Special Offer Basket Discount (like BlackFriday) DiscountBase blackFridayDiscountStrategy = BlackFridayDiscountFactory.Instance.GetDiscountStrategy(basket, null); (bestPrice, bestStrategy) = GetBetterStrategy(bestPrice, bestStrategy, basket, blackFridayDiscountStrategy); return(bestStrategy); }
public async Task <IActionResult> Discount(string page, ProductDiscount productDiscount) { ViewBag.Product = await _productService.FindProductByIdAsync(productDiscount.ProductId); try { if (ModelState.IsValid) // && await _context.ProductDiscount.FirstOrDefaultAsync(pd => pd.ProductId == productDiscount.ProductId) == null) //if there is no discount for this product { await _productService.CreateDiscount(productDiscount); if (page == "Index") { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("ProductPage", "Home", new { id = productDiscount.ProductId })); } } } catch (DbUpdateException) { ModelState.AddModelError(string.Empty, "This product already has a discount."); } return(View()); }
public async Task <AddProductToPercentDiscountCommandResponse> Handle(AddProductToPercentDiscountCommand command) { var product = await _productRepository.AsQuery() .SingleOrDefaultAsync(p => p.Id == command.ProductId); if (product == null) { throw new DomainException("محصولی یافت نشد"); } var discount = await _percentRepository.AsQuery() .SingleOrDefaultAsync(p => p.Id == command.PercentDiscount); if (discount == null) { throw new DomainException("تخفیف یافت نشد"); } if (discount.ProductDiscounts.Count >= discount.MaxProductCount) { throw new DomainException("حداکثر تعداد محصول در این تخفیف تکمیل شده است"); } if (discount.ProductDiscounts.Any(p => p.Product.Id == command.ProductId)) { throw new DomainException("این محصول در این تخفیف موجود می باشد"); } var userInfo = new UserInfo(command.UserInfoCommand.UserId, command.UserInfoCommand.FirstName, command.UserInfoCommand.LastName); var productPercentDiscounts = new ProductDiscount(Guid.NewGuid(), product, userInfo); DomainEventDispatcher.Raise(new CreatePercentDiscountEvent(discount.Id, command.ProductId, discount.Title, userInfo, discount.FromDate, discount.ToDate, discount.Percent, discount.FromTime, discount.ToTime, DiscountType.PercentDiscount)); discount.ProductDiscounts.Add(productPercentDiscounts); return(new AddProductToPercentDiscountCommandResponse()); }
public void UpdateProductDiscountByIdChangePredicate() { IClient commerceToolsClient = this.productDiscountFixture.GetService <IClient>(); ProductDiscount productDiscount = this.productDiscountFixture.CreateProductDiscount(); Product product = this.productDiscountFixture.CreateProductWithVariant(); //creating new predicate based on product "product.id = "ae3630c9-365a-4abe-a9b3-c14bb8b9ce95" " string predicate = this.productDiscountFixture.GetProductDiscountPredicateBasedonProduct(product.Id); List <UpdateAction <ProductDiscount> > updateActions = new List <UpdateAction <ProductDiscount> >(); ChangePredicateUpdateAction changePredicateUpdateAction = new ChangePredicateUpdateAction() { Predicate = predicate }; updateActions.Add(changePredicateUpdateAction); ProductDiscount retrievedProductDiscount = commerceToolsClient .ExecuteAsync(new UpdateByIdCommand <ProductDiscount>(new Guid(productDiscount.Id), productDiscount.Version, updateActions)) .Result; this.productDiscountFixture.ProductDiscountsToDelete.Add(retrievedProductDiscount); Assert.NotEqual(productDiscount.Predicate, retrievedProductDiscount.Predicate); }
public void Execute() { _state = _cart.CurrentState.Clone(); var discount = new ProductDiscount(_product, _percentValue); _cart.AddDiscount(discount, _product); }
public ProductDiscount CreateProductDiscount(ProductDiscountDraft productDiscountDraft) { IClient commerceToolsClient = this.GetService <IClient>(); ProductDiscount productDiscount = commerceToolsClient .ExecuteAsync(new CreateCommand <ProductDiscount>(productDiscountDraft)).Result; return(productDiscount); }
public async Task <ProductDiscount> GetDiscountByProductId(int productId) { ProductDiscount discount = await(from pd in _context.ProductDiscount where pd.ProductId == productId select pd).FirstOrDefaultAsync(); return(discount); }
public void CalculateDiscount() { var percent = 50; var c1 = new Car(1, "", "", 100.0); var cd = new ProductDiscount(c1, percent); Assert.Equal(percent, cd.PercentValue); Assert.Equal(50.0, cd.Make()); }
private void discountDeleteButton_Click(object sender, EventArgs e) { int count = 0; for (int i = discountProductDataGridView.Rows.Count - 1; i >= 0; i--) { bool select = (bool)discountProductDataGridView.Rows[i].Cells["selectedDiscountProduct"].Value; if (select == true) { ProductDiscount pd = new ProductDiscount(); pd.setDiscountCode(selectedDiscountCode); pd.setProductID(discountProductDataGridView.Rows[i].Cells["discountProductIdColumn"].Value.ToString()); if (productCategoriesComboBox.SelectedValue.Equals("bottle")) { pbdda.permanentlyDelete(pd, conn); } else if (productCategoriesComboBox.SelectedValue.Equals("package")) { ppgdda.permanentlyDelete(pd, conn); } else if (productCategoriesComboBox.SelectedValue.Equals("perfume")) { ppdda.permanentlyDelete(pd, conn); } discountProductDataGridView.Rows.Remove(discountProductDataGridView.Rows[i]); count++; } } if (count == 0) { MessageBox.Show(rs.GetString("selectProductMsg"), "", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (discountProductDataGridView.Rows.Count > 0) { discountSelectAllButton.Enabled = true; discountDeselectAllButton.Enabled = true; discountDeleteButton.Enabled = true; } else { discountSelectAllButton.Enabled = false; discountDeselectAllButton.Enabled = false; discountDeleteButton.Enabled = false; } discountProductDataGridView.ClearSelection(); productCategoriesComboBox_SelectedIndexChanged(null, null); } }
/// <summary> /// 根据复杂折扣方案更新商品档案和库存价格 /// </summary> /// <param name="discount"></param> private OperationResult UpdatePriceOfMulti(ProductDiscount discount) { #region OperationResult resul = new OperationResult(OperationResultType.Error); var _brandIds = discount.Brands.Select(c => JToken.Parse(c.Id.ToString())).ToArray(); JArray brandIds = new JArray(_brandIds); FilterGroup fg = new FilterGroup(FilterOperate.And); if (brandIds.Any()) { fg.Rules.Add(new FilterRule("BrandId", brandIds, FilterOperate.In)); } #endregion var exp = FilterHelper.GetExpression <Product>(fg); var products = _productContract.Products.Where(exp); products.Each(c => { c.ProductOriginNumber.PurchasePrice = c.ProductOriginNumber.TagPrice; c.ProductOriginNumber.WholesalePrice = c.ProductOriginNumber.TagPrice; c.ProductOperationLogs.Add(new ProductOperationLog() { Description = "根据折扣方案调整商品价格,折扣方案ID:" + discount.Id, OperatorId = AuthorityHelper.OperatorId, }); }); var productids = products.Select(c => c.Id).ToList(); //在更新商品价格时,已销售的商品部更新 var invents = _invenrtoryContract.Inventorys.Where( c => productids.Contains(c.ProductId) && c.IsEnabled && !c.IsDeleted && c.Status == (int)InventoryStatus.Default); //invents.Each(c => { // c.WholesalePrice = c.WholesalePrice * discount.WholesaleDiscount / 10; // c.PurchasePrice = c.PurchasePrice * discount.PurchaseDiscount / 10; //}); var invetdtos = AutoMapper.Mapper.Map <InventoryDto[]>(invents.ToArray()); try { _invenrtoryContract.Update(invetdtos, true); resul = _productContract.Update(products.ToArray(), false); } catch (Exception ex) { throw; } return(resul); }
public ActionResult Create() { ViewBag.ProductId = new SelectList( _unitOfWork.Products.GetProductsNotDeleted(), "Id", "Name"); var productDiscount = new ProductDiscount { Heading = "Create Discount On Product" }; return(View("ProductDiscountForm", productDiscount)); }
public void GetProductDiscountById() { IClient commerceToolsClient = this.productDiscountFixture.GetService <IClient>(); ProductDiscount productDiscount = this.productDiscountFixture.CreateProductDiscount(); this.productDiscountFixture.ProductDiscountsToDelete.Add(productDiscount); ProductDiscount retrievedProductDiscount = commerceToolsClient .ExecuteAsync(new GetByIdCommand <ProductDiscount>(new Guid(productDiscount.Id))).Result; Assert.Equal(productDiscount.Id, retrievedProductDiscount.Id); }
public ActionResult Delete(int id, FormCollection collection) { if (id != 0) { ProductDiscount productDiscount = _entities.ProductDiscounts.SingleOrDefault(a => a.ID == id); _entities.DeleteObject(productDiscount); _entities.SaveChanges(); } return(View("Deleted")); }
public void AddProductDiscountTest() { var cart = new Cart(); var product = TestProducts.Cars.First(); var discount = new ProductDiscount(product, 10); cart.AddDiscount(discount, product); Assert.Equal(1, cart.CurrentState.ProductDiscounts.Count); Assert.True(cart.CurrentState.ProductDiscounts.ContainsKey(product)); Assert.Equal(discount, cart.CurrentState.ProductDiscounts[product]); }
public ActionResult Create(FormCollection collection, ProductDiscount productDiscount) { try { _entities.AddToProductDiscounts(productDiscount); _entities.SaveChanges(); return(RedirectToAction("Index")); } catch { return(View()); } }
public int permanentlyDelete(ProductDiscount pd, MySqlConnection conn) { conn.Open(); MySqlCommand cmd = new MySqlCommand("DELETE FROM `product_package_discount` WHERE `Product_ID` = @productID AND `Discount_Code`=@dicountCode", conn); cmd.Parameters.AddWithValue("@productID", pd.getProductID()); cmd.Parameters.AddWithValue("@dicountCode", pd.getDiscountCode()); cmd.Prepare(); int i = cmd.ExecuteNonQuery(); conn.Close(); return(i); }
public int insert(ProductDiscount pd, MySqlConnection conn) { conn.Open(); MySqlCommand cmd = new MySqlCommand("INSERT INTO `product_package_discount`(`Product_ID`, `Discount_Code`) VALUES (@productID,@dicountCode)", conn); cmd.Parameters.AddWithValue("@productID", pd.getProductID()); cmd.Parameters.AddWithValue("@dicountCode", pd.getDiscountCode()); cmd.Prepare(); int i = cmd.ExecuteNonQuery(); conn.Close(); return(i); }
public void DeleteProductDiscountById() { IClient commerceToolsClient = this.productDiscountFixture.GetService <IClient>(); ProductDiscount productDiscount = this.productDiscountFixture.CreateProductDiscount(); ProductDiscount retrievedProductDiscount = commerceToolsClient .ExecuteAsync( new DeleteByIdCommand <ProductDiscount>(new Guid(productDiscount.Id), productDiscount.Version)) .Result; Assert.ThrowsAsync <HttpApiClientException>(() => commerceToolsClient.ExecuteAsync( new GetByIdCommand <ProductDiscount>(new Guid(retrievedProductDiscount.Id)))); }
private void AddDiscountTable(TempProduct tempProduct, Product product) { // add discount table if (_entities.TempProductDiscounts.Any(a => a.ProductID == tempProduct.ID)) { TempProductDiscount tempProductDiscount = _entities.TempProductDiscounts.FirstOrDefault(a => a.ID == tempProduct.ID); ProductDiscount productDiscount = new ProductDiscount(); productDiscount.DateFrom = tempProductDiscount.DateFrom; productDiscount.DateTo = tempProductDiscount.DateTo; productDiscount.Discount = tempProductDiscount.Discount; product.ProductDiscounts.Add(productDiscount); } }
public async Task <IActionResult> ProductPage(int id) { //Product temp = await _context.Product.FirstOrDefaultAsync(p => p.Id == id); Product temp = await _productService.FindProductByIdAsync(id); List <Product> products = new List <Product>(); products.Add(temp); ViewBag.Product = temp; String[] primaryImage = await _productService.GetAllImages(products, true); ViewData["primary_image"] = primaryImage[0]; String[] secondaryImages = await _productService.GetAllImages(products, false); //List<ProductImage> secondaryImages = _context.ProductImage.Where(pi => !pi.IsPrimary && pi.Product.Id == temp.Id).ToList(); ViewBag.SecondaryImages = secondaryImages; ProductDiscount discount = await _productService.GetDiscountByProductId(id); if (discount != null) { if (discount.Ends > DateTime.Now) { ViewBag.Discount = discount; } else { await _productService.DeleteDiscount(discount); } } ICollection <AttributeValue> attributes = await _attributeService.GetProductAttributeValues(id); ICollection <Models.Attribute> attributeCategories = new List <Models.Attribute>(); foreach (AttributeValue attr in attributes) { Models.Attribute attrCategory = _attributeService.FindAttributeById(attr.AttributeId); if (!attributeCategories.Contains(attrCategory)) { attributeCategories.Add(attrCategory); } } ViewBag.Attributes = attributes; ViewBag.AttributeCategories = attributeCategories; return(View(await _productService.GetAllPropertiesByProductIdAsync(id))); }
protected decimal GetDiscountedPrice() { decimal dOut = OurPrice; //get the adjusted price from the Promo service ProductDiscount discount = PromotionService.GetProductDiscount(int.Parse(ProductID)); if (discount != null) { dOut = discount.DiscountedPrice; } return(dOut); }
protected void btnAddProduct_Click(object sender, EventArgs e) { //Customer cust = (Customer) Session["CustomerOBJ"]; if (newOrder != null) { newProduct = new StandardProduct(Convert.ToInt32(lstProducts.SelectedValue), Convert.ToDouble(txtPrice.Text), lstProducts.SelectedItem.Text, 1); ProductDiscount pd = new ProductDiscount(newProduct); Response.Write("Calculating Individual Product DIscount - " + pd.applyDiscount() + "/" + newProduct.Price + " Pid = " + newProduct.ProductID + "\n"); newOrder.AddProduct( newProduct.ProductID, pd.applyDiscount() * Convert.ToInt32(txtQuantity.Text)); Response.Write("Product processed!!\n \n "); Response.Write("Calculating Customer Discount - " + newOrder.Amount + "/" + (Convert.ToDouble(txtPrice.Text) * Convert.ToInt32(txtQuantity.Text)) + "\n"); } else Response.Write("new order is null????"); }
protected void btnOrder_Click(object sender, EventArgs e) { if (IsValid) {//Convert.ToInt32(lstProducts.SelectedValue), Convert.ToInt32(txtPrice.Text), 1) sessionCust = (Customer)Session["CustObj"]; newProduct = new StandardProduct(Convert.ToInt32(lstProducts.SelectedValue), Convert.ToDouble(txtPrice.Text), lstProducts.SelectedItem.Text, 1); ProductDiscount pd = new ProductDiscount(newProduct); if (sessionCust != null) { Response.Write("Calculating Individual Product DIscount - " + pd.applyDiscount() + "/" + newProduct.Price + " Pid = " + newProduct.ProductID + "\n"); newOrder = new Order( sessionCust.CustomerID, newProduct, 1, txtAddress.Text, pd.applyDiscount() * Convert.ToInt32(txtQuantity.Text), DateTime.Now); newOrder.CreateOrder(); Response.Write("Order processed!!\n\n\n\n"); btnOrder.Enabled = false; btnAddOrder.Enabled = true; btnViewOrder.Enabled = true; Response.Write("Calculating Customer Discount - " + newOrder.Amount + "/" + (Convert.ToDouble(txtPrice.Text) * Convert.ToInt32(txtQuantity.Text)) + "\n"); Session["OrderObj"] = newOrder; } else Response.Write("No customer is in session, please log in"); } }