Exemple #1
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.
        }
Exemple #2
0
        /// <summary>
        /// 描述:获取所有学生信息
        /// </summary>
        /// <returns></returns>
        public IList <StudentExpense> GetAllStudentExpense()
        {
            IList <StudentExpense> liststudnetExpense = new List <StudentExpense>();
            string sql = "SELECT  CollegeInfo.CollegeName, MajorInfo.MajorName, StudentClass.ClassName, StudentInfo.StudentName, StudentInfo.StudentNumber, StudentInfo.StudentSex, SchoolTerm.TermName, PlanBook.BookName, PlanBook.ISBN, PlanBook.Author, PlanBook.Publish, PlanBook.Price, BookStock.Discount, BookStock.NetPrice, GrantBook.GetBookNum FROM  BookStock INNER JOIN SchoolTerm INNER JOIN GrantBook INNER JOIN StudentInfo INNER JOIN CollegeInfo INNER JOIN StudentClass ON CollegeInfo.CollegeID = StudentClass.CollegeID INNER JOIN  MajorInfo ON StudentClass.MajorInfoID = MajorInfo.MajorInfoID ON StudentInfo.StudentClassID = StudentClass.StudentClassID ON  GrantBook.StudentInfoID = StudentInfo.StudentInfoID ON SchoolTerm.SchoolTermID = GrantBook.SchoolTermID INNER JOIN PlanBook ON GrantBook.PlanBookID = PlanBook.PlanBookID ON BookStock.PlanBookID = PlanBook.PlanBookID";

            using (SqlDataReader sdr = DBHelpers.GetAllInfo(sql))
            {
                while (sdr.Read())
                {
                    StudentExpense studentExpense = new StudentExpense();
                    studentExpense.ClassName     = sdr["ClassName"].ToString();
                    studentExpense.CollegeName   = sdr["CollegeName"].ToString();
                    studentExpense.MajorName     = sdr["MajorName"].ToString();
                    studentExpense.StudentName   = sdr["StudentName"].ToString();
                    studentExpense.StudentNumber = sdr["StudentNumber"].ToString();
                    studentExpense.StudentSex    = sdr["StudentSex"].ToString();
                    studentExpense.GetBookNum    = Convert.ToInt32(sdr["GetBookNum"]);
                    studentExpense.BookName      = sdr["BookName"].ToString();
                    studentExpense.Author        = sdr["Author"].ToString();
                    studentExpense.Publish       = sdr["Publish"].ToString();
                    studentExpense.Price         = float.Parse(sdr["Price"].ToString());
                    studentExpense.TermName      = sdr["TermName"].ToString();
                    studentExpense.Discount      = float.Parse(sdr["Discount"].ToString());
                    studentExpense.ISBN          = sdr["ISBN"].ToString();
                    studentExpense.NetPrice      = float.Parse(sdr["NetPrice"].ToString());
                    liststudnetExpense.Add(studentExpense);
                }
            }
            return(liststudnetExpense);
        }
        /// <summary>
        /// 自定义的查询学生费用明细的空方法
        /// </summary>
        private void getcmbInfo()
        {
            StudentExpense studentexpense = new StudentExpense();

            try
            {
                studentexpense.CollegeID      = Convert.ToInt32(cmbCollege.SelectedValue);                              //获取学院编号
                studentexpense.MajorInfoID    = Convert.ToInt32(cmbMajor.SelectedValue);                                //获取专业编号
                studentexpense.StudentClassID = Convert.ToInt32(cmbStudentClass.SelectedValue);                         //获取班级编号
                studentexpense.SchoolTermID   = Convert.ToInt32(cmbSchoolTerm.SelectedValue);                           //获取学年学期编号
                dgvStudentDetail.DataSource   = bllStudentExpense.GetAllStudentExpensebyStudentExpense(studentexpense); //为列表重新绑定数据源
            }
            catch (Exception)
            {
                //throw;
            }
        }
Exemple #4
0
        /// <summary>
        /// 通过条件获取学生费用明细
        /// </summary>
        /// <param name="studentexpense">实体类StudentExpense</param>
        /// <returns></returns>
        public IList <StudentExpense> GetAllStudentExpensebyStudentExpense(StudentExpense studentexpense)
        {
            IList <StudentExpense> liststudnetExpense = new List <StudentExpense>();
            StringBuilder          sql = new StringBuilder("SELECT  CollegeInfo.CollegeName, MajorInfo.MajorName, StudentClass.ClassName, StudentInfo.StudentName, StudentInfo.StudentNumber, StudentInfo.StudentSex, SchoolTerm.TermName, PlanBook.BookName, PlanBook.ISBN, PlanBook.Author, PlanBook.Publish, PlanBook.Price, BookStock.Discount, BookStock.NetPrice, GrantBook.GetBookNum FROM  BookStock INNER JOIN SchoolTerm INNER JOIN GrantBook INNER JOIN StudentInfo INNER JOIN CollegeInfo INNER JOIN StudentClass ON CollegeInfo.CollegeID = StudentClass.CollegeID INNER JOIN  MajorInfo ON StudentClass.MajorInfoID = MajorInfo.MajorInfoID ON StudentInfo.StudentClassID = StudentClass.StudentClassID ON  GrantBook.StudentInfoID = StudentInfo.StudentInfoID ON SchoolTerm.SchoolTermID = GrantBook.SchoolTermID INNER JOIN PlanBook ON GrantBook.PlanBookID = PlanBook.PlanBookID ON BookStock.PlanBookID = PlanBook.PlanBookID where 1=1");

            if (studentexpense.CollegeID > 0)                                                                       //判断获取的学院编号是否大于0
            {
                sql.Append(string.Format(" and CollegeInfo.CollegeID = {0}", studentexpense.CollegeID));            //增加sql语句的where条件
            }
            if (studentexpense.MajorInfoID > 0)                                                                     //判断获取的专业编号是否大于0
            {
                sql.Append(string.Format(" and MajorInfo.MajorInfoID = {0}", studentexpense.MajorInfoID));          //增加sql语句的where条件
            }
            if (studentexpense.StudentClassID > 0)                                                                  //判断获取的班级编号是否大于0
            {
                sql.Append(string.Format(" and StudentClass.StudentClassID = {0}", studentexpense.StudentClassID)); //增加sql语句的where条件
            }
            if (studentexpense.SchoolTermID > 0)                                                                    //判断获取的学年学期编号是否大于0
            {
                sql.Append(string.Format(" and SchoolTerm.SchoolTermID = {0}", studentexpense.SchoolTermID));       //增加sql语句的where条件
            }
            using (SqlDataReader sdr = DBHelpers.GetAllInfo(sql.ToString()))
            {
                while (sdr.Read())
                {
                    StudentExpense studentExpense = new StudentExpense();
                    studentExpense.ClassName     = sdr["ClassName"].ToString();
                    studentExpense.CollegeName   = sdr["CollegeName"].ToString();
                    studentExpense.MajorName     = sdr["MajorName"].ToString();
                    studentExpense.StudentName   = sdr["StudentName"].ToString();
                    studentExpense.StudentNumber = sdr["StudentNumber"].ToString();
                    studentExpense.StudentSex    = sdr["StudentSex"].ToString();
                    studentExpense.GetBookNum    = Convert.ToInt32(sdr["GetBookNum"]);
                    studentExpense.BookName      = sdr["BookName"].ToString();
                    studentExpense.Author        = sdr["Author"].ToString();
                    studentExpense.Publish       = sdr["Publish"].ToString();
                    studentExpense.Price         = float.Parse(sdr["Price"].ToString());
                    studentExpense.TermName      = sdr["TermName"].ToString();
                    studentExpense.Discount      = float.Parse(sdr["Discount"].ToString());
                    studentExpense.ISBN          = sdr["ISBN"].ToString();
                    studentExpense.NetPrice      = float.Parse(sdr["NetPrice"].ToString());
                    liststudnetExpense.Add(studentExpense);
                }
            }
            return(liststudnetExpense);
        }
 /// <summary>
 /// 根据条件获取学生费用明细
 /// 功能:主要用来查询学生费用明细表
 /// </summary>
 /// <param name="studentexpense">查询的条件</param>
 /// <returns></returns>
 public IList <StudentExpense> GetAllStudentExpensebyStudentExpense(StudentExpense studentexpense)
 {
     return(dalStudentExpense.GetAllStudentExpensebyStudentExpense(studentexpense));
 }
Exemple #6
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"));
        }