示例#1
0
 //TODO: Add functionality to handle the eSTATEMENT
 public void PayExpense(Account srcAccount, StudentExpense studentExpense, Student stud, bool bIsLate)
 {
     if (srcAccount.AccountTotal >= studentExpense.CurrentAmountOwed && (studentExpense.CurrentAmountOwed > 0))
     {
         if (bIsLate == true)
         {
             srcAccount.AccountTotal         -= studentExpense.CurrentAmountOwed;
             srcAccount.AccountTotal         -= studentExpense.Expense.LateFee;
             studentExpense.CurrentAmountOwed = 0;
             stud.bBillsPaid = true;
         }
         else
         {
             srcAccount.AccountTotal         -= studentExpense.CurrentAmountOwed;
             studentExpense.CurrentAmountOwed = 0;
             stud.bBillsPaid = true;
         }
     }
 }
示例#2
0
文件: Account.cs 项目: al-main/eBank
 //TODO: Add functionality to handle the eSTATEMENT
 public void PayExpense(Account srcAccount, StudentExpense studentExpense, Student stud, bool bIsLate)
 {
     if (srcAccount.AccountTotal >= studentExpense.CurrentAmountOwed && (studentExpense.CurrentAmountOwed > 0))
     {
         if (bIsLate == true)
         {
             srcAccount.AccountTotal -= studentExpense.CurrentAmountOwed;
             srcAccount.AccountTotal -= studentExpense.Expense.LateFee;
             studentExpense.CurrentAmountOwed = 0;
             stud.bBillsPaid = true;
         }
         else
         {
             srcAccount.AccountTotal -= studentExpense.CurrentAmountOwed;
             studentExpense.CurrentAmountOwed = 0;
             stud.bBillsPaid = true;
         }
     }
 }
示例#3
0
        public ActionResult Create(Student model)
        {
            var userProfile = db.UserProfiles.Local.SingleOrDefault(u => u.UserName == User.Identity.Name)
                ?? db.UserProfiles.SingleOrDefault(u => u.UserName == User.Identity.Name);

            Account CheckingsAccount = new Account { AccountName = "Checkings", AccountTotal = 100, StudentID = userProfile.UserId };
            Account SavingsAccount = new Account { AccountName = "Savings", AccountTotal = 100, StudentID = userProfile.UserId };

            //Additional Expenses will be included after purchase of things such as a house or other items.

            StudentExpense PhoneBill = new StudentExpense { ExpenseAccountNumber = "123456789", Name = "Phone Payment", Company = "Telecom Co.", bMissedPayment = false, CurrentAmountOwed = 0, StudentID = userProfile.UserId, bIsRecurring = false, ExpenseID = 1 };

            Classroom classroom = db.Classrooms.Find(model.ClassroomID);

            Student student = new Student
            {
                UserId = userProfile.UserId,
                FirstName = model.FirstName,
                LastName = model.LastName,
                EmailAddress = model.EmailAddress,
                ClassroomID = model.ClassroomID,
                bBillsPaid = true,
                bAlertSetup = false,
                AccountThreshold = 0,
                AlertAccountID = null,
                Happiness = 50,
                Health = 70,
                Hunger = 60,
                Social = 50,
                Energy = 80,
                Points = 0,
                CreditScore = 0
            };

            if (ModelState.IsValid && (classroom != null))
            {
                try
                {
                    if (userProfile != null)
                    {
                        db.Students.Add(student);
                        db.SaveChanges();

                        db.Entry(student).State = EntityState.Modified;
                        db.SaveChanges();

                        db.Accounts.Add(CheckingsAccount);
                        db.SaveChanges();

                        db.Accounts.Add(SavingsAccount);
                        db.SaveChanges();

                        db.StudentExpenses.Add(PhoneBill);
                        db.SaveChanges();

                        return RedirectToAction("Index", "Student");
                    }
                }
                catch (DataException)
                {
                    ModelState.AddModelError("","Something went wrong, try again.");
                }
            }
            return RedirectToAction("Create");
        }
示例#4
0
        public ActionResult CreateExpense(AddExpenseViewModel viewModel)
        {
            var studentProfile = db.UserProfiles.Local.SingleOrDefault(u => u.UserName == User.Identity.Name) ?? db.UserProfiles.SingleOrDefault(u => u.UserName == User.Identity.Name);
            Expense expense = db.Expenses.SingleOrDefault(e => e.ExpenseAccountNumber == viewModel.ExpenseAccountNumber);

            if (expense != null && ModelState.IsValid)
            {
                if (expense.bIsActive == true)
                {
                    StudentExpense studentExpense = new StudentExpense
                    {
                        bIsRecurring = false, //Currently false by default, student user must set up recurring payment on different page.
                        bMissedPayment = false,
                        CurrentAmountOwed = 0,
                        ExpenseAccountNumber = viewModel.ExpenseAccountNumber,
                        Name = viewModel.Name,
                        ExpenseID = expense.ExpenseID,
                        Company = expense.Company,
                        StudentID = studentProfile.UserId
                    };

                    db.StudentExpenses.Add(studentExpense);
                    db.SaveChanges();

                    return RedirectToAction("ViewExpenses");
                }
            }
            return View();  //TODO: Add redirect or error message for if there is an error or if account number does not exist.
        }