Пример #1
0
        public ActionResult SelectedProduct(int id)
        {
            CatalogEntry         entry = _catalogService.TryGet(id);
            SelectedProductModel model = entry.ToSelectedProductModel();

            return(View(model));
        }
Пример #2
0
        private void DecrementPurchasedProduct(SelectedProductModel product)
        {
            product.Quantity--;
            if (product.Quantity == 0)
            {
                PurchasedProducts.Remove(product);
            }

            CurrentPurchase.ComputeTotal();
        }
Пример #3
0
        private void Puchase(SelectedProductModel item)
        {
            var existItem = _purchasedProducts.FirstOrDefault(x => x.ID == item.ID);

            if (existItem == null)
            {
                AddPurchasedProduct(item);
            }
            else
            {
                IncrementPurchasedProduct(existItem);
            }
        }
Пример #4
0
        public static SelectedProductModel ToSelectedProductModel(this CatalogEntry entry)
        {
            SelectedProductModel selectedProductModel = new SelectedProductModel
            {
                Id             = entry.Id,
                Blurb          = entry.Blurb,
                LicensingBasis = entry.LicensingBasis,
                Price          = entry.Price,
                ProductName    = entry.ProductName,
                ProductVersion = entry.ProductVersion,
                SkuId          = entry.SkuId
            };

            return(selectedProductModel);
        }
Пример #5
0
        private void AddPurchasedProduct(SelectedProductModel product)
        {
            var item = new SelectedProductModel
            {
                Quantity = 1,
                ID       = product.ID,
                Label    = product.Label,
                Price    = product.Price,
                Discount = product.Discount
            };

            item.ComputeSubTotal();

            PurchasedProducts.Add(item);

            CurrentPurchase.ComputeTotal();
        }
Пример #6
0
        public ActionResult SelectedProductConfirmed(SelectedProductModel model)
        {
            if (!ModelState.IsValid)
            {
                return(SelectedProduct(model.Id));
            }

            var entry          = _catalogService.TryGet(model.Id);
            var purchaseRecord = _purchaseService.RecordPurchase(entry, model.Quantity);

            for (int i = 0; i < model.Quantity; i++)
            {
                License license = _licensingService.CreateLicenseFromSkuId(entry.SkuId);
                _orderItemService.RecordOrderItem(license, purchaseRecord, i + 1);
            }

            return(RedirectToAction("ShowPurchasedInfo", new { id = purchaseRecord.Id }));
        }
Пример #7
0
        private void DiscountedProduct(SelectedProductModel product, ProductDiscountOptions option)
        {
            decimal discount = 0.0m;

            if (Decimal.TryParse(DiscountValue, out discount) == false)
            {
                discount = 0.0m;
            }

            if (option == ProductDiscountOptions.Dollar)
            {
                product.Discount = discount;
            }
            else if (option == ProductDiscountOptions.Percent)
            {
                product.Discount = product.Price * (discount / 100);
            }

            CurrentPurchase.ComputeTotal();
        }
Пример #8
0
 private void IncrementPurchasedProduct(SelectedProductModel product)
 {
     product.Quantity++;
     CurrentPurchase.ComputeTotal();
 }
Пример #9
0
 private void DiscountedProduct(SelectedProductModel product)
 {
     product.Discount = 5.50m;
     CurrentPurchase.ComputeTotal();
 }