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(); }
public CreditPurchase EditCreditPurchase(CreditPurchase creditPurchase) { if (creditPurchase == null) { throw new ArgumentNullException(nameof(creditPurchase)); } _context.Entry(creditPurchase).State = EntityState.Modified; _context.SaveChanges(); return(creditPurchase); }
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); }
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)); }