Example #1
0
        public ActionResult _Student(_StudentViewModel SVM)
        {
            checkLogin();

            // fields checking
            if (!ModelState.IsValid)
            {
                return(View("_Student", SVM));
            }

            //edit or create
            bool result = false;

            if (SVM.selectedStudent.ID > 0)
            {//ediit
                SVM.selectedStudent.MODIFY_BY   = CP.userID;
                SVM.selectedStudent.MODIFY_DATE = DateTime.Now;
                result = DBS.updateRecord(SVM.selectedStudent);
            }
            else
            {//create
                SVM.selectedStudent.ACTIVE   = true;
                SVM.selectedStudent.ADD_BY   = CP.userID;
                SVM.selectedStudent.ADD_DATE = DateTime.Now;
                SVM.selectedStudent.ID       = DBS.addRecordReturnID(SVM.selectedStudent);

                CLASS_STUDENT_LIST newMap = new CLASS_STUDENT_LIST(SVM.selectedClass, SVM.selectedStudent.ID, SVM.selectedStudentNum, CP.userID, DateTime.Now, 0, Constant.DEF_DATETIME, true);
                int newMap_id             = DBS.addRecordReturnID(newMap); //add new map linking up student and class

                if (SVM.selectedStudent.ID > 0 && newMap_id > 0)
                {
                    result = true;
                }
            }

            ModelState.Clear();
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }
            return(_Student(SVM.selectedClass, SVM.selectedStudent.ID, SVM.selectedTerm));
        }
        public ActionResult UsersAndTeachersPost(QE_USER user)
        {
            checkLogin();

            //get user list
            List <QE_USER>            userList  = Session["userList"] != null ? (List <QE_USER>)Session["userList"] : DBS.findActiveRecords <QE_USER>();
            UsersAndTeachersViewModel viewModel = new UsersAndTeachersViewModel(userList, user);

            //string password = Membership.GeneratePassword(8, 4);
            //user.PASSWORD = AccountService.aesEncryptBase64(password, "QEKey");
            string password = "******";

            user.PASSWORD = "******";

            user.ACTIVE   = true;
            user.ADD_BY   = CP.userID;
            user.ADD_DATE = DateTime.Now;


            // fields checking
            if (!ModelState.IsValid)
            {
                return(View("UsersAndTeachers", viewModel)); // redirect to form with data
            }
            // business logic check
            //user.ID < 1 means this is a new user
            if (user.ID < 1)
            {
                if (userList != null && userList.Exists(u => u.ID == user.ID))
                {
                    TempData[Constant.msg_error] = "User ID already in use";
                    return(View("UsersAndTeachers", viewModel)); // redirect to form with data
                }
            }


            bool isSuccess = false;

            if (user.ID < 1)
            {
                user.ID   = DBS.addRecordReturnID(user);
                isSuccess = user.ID > 0 ? true : false;
            }
            else
            {
                isSuccess = DBS.updateRecord(user);
            }

            if (isSuccess)
            {
                //reset user list after user changes
                CP.teacherSelectList = UserService.getTeacherSelectList();
                userList             = DBS.findActiveRecords <QE_USER>();
                Session["userList"]  = userList;

                //MailService.SendNewPassword(user.EMAIL, user.USER_ID, password);
                TempData[Constant.msg_success] = ((user.ID < 1) ? "user has been created" : Constant.ChangeSucceed);
                return(UsersAndTeachers(user.ID));
            }
            else
            {
                TempData[Constant.msg_error] = "Ops! somethings gone wrong.";
                return(View("UsersAndTeachers", viewModel));
            }
        }