Beispiel #1
0
        static void Main(string[] args)
        {
            //Varible for total purchase
            double totalCashPurchases  = 0;
            double totalCreditPurchase = 0;
            double discountRate        = 0;


            //create object for CashPurchase
            CashPurchase cp = new CashPurchase("Tech365", "MSC-001", 5, 20, 0.1);

            //calc discount
            discountRate = cp.Discount * 100;
            // display purchase discount
            Console.WriteLine("Cash Purchase discount is {0:C}", discountRate);
            //cacl cost
            totalCashPurchases = cp.calculateCost();
            Console.WriteLine("Total Cash Purchase: {0:C}", totalCashPurchases);

            //create object for CreditPurchase
            CreditPurchase ap = new CreditPurchase("Tech365", "KB-001", 3, 30, 2.5);

            //display Credit Charge
            Console.WriteLine("Credit Purcahse Surcharge {0:C}", ap.CreditCharge);
            //calc cost
            totalCreditPurchase = ap.calculateCost();
            //display Credit purchase
            Console.WriteLine("Credit Purchase total {0:C}", totalCreditPurchase);

            //Hold
            Console.ReadLine();
        }
Beispiel #2
0
        public CreditPurchase EditCreditPurchase(CreditPurchase creditPurchase)
        {
            if (creditPurchase == null)
            {
                throw new ArgumentNullException(nameof(creditPurchase));
            }

            _context.Entry(creditPurchase).State = EntityState.Modified;
            _context.SaveChanges();

            return(creditPurchase);
        }
Beispiel #3
0
        public CreditPurchase CreateCreditPurchase(CreditPurchase creditPurchase)
        {
            if (creditPurchase == null)
            {
                throw new ArgumentNullException(nameof(creditPurchase));
            }

            _context.CreditPurchases.Add(creditPurchase);
            if (_context.SaveChanges() > 0)
            {
                return(creditPurchase);
            }
            return(null);
        }
Beispiel #4
0
        public IActionResult Purchase(CreditPurchaseViewModel vm)
        {
            if (ModelState.IsValid)
            {
                // Randomly generate payment method and status (for now?)
                // -------------
                Random r         = new Random();
                var    pmethods  = Enum.GetValues(typeof(PaymentMethod));
                var    ostatuses = Enum.GetValues(typeof(OrderStatus));
                // -------------

                Package selectedPackage = _packageManager.GetPackage(vm.SelectedPackageID);
                if (selectedPackage != null)
                {
                    CreditPurchase purchase = new CreditPurchase()
                    {
                        UserID     = User.FindFirstValue(ClaimTypes.NameIdentifier),
                        Credits    = selectedPackage.Amount,
                        TotalPrice = selectedPackage.Price,
                        Method     = (PaymentMethod)pmethods.GetValue(r.Next(1, pmethods.Length)),
                        Status     = (OrderStatus)ostatuses.GetValue(r.Next(1, ostatuses.Length))
                    };

                    if (_creditPurchaseManager.CreateCreditPurchase(purchase) != null)
                    {
                        if (!_creditManager.AddCredit(purchase.UserID, purchase.Credits))
                        {
                            throw new DbUpdateException();
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    throw new NullReferenceException(nameof(selectedPackage));
                }
            }
            ViewData["UserID"] = User.FindFirstValue(ClaimTypes.NameIdentifier);
            return(View(vm));
        }