private void View_LoadInfo(object sender, EventArgs e)
        {
            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                view.Role = (from r in dataContext.Roles
                             where r.roleID == view.RoleID
                             select r.description).FirstOrDefault();

                switch (view.RoleID)
                {
                case 1:     // teacher
                    Teacher teacher = (from tu in dataContext.TeacherUsers
                                       join t in dataContext.Teachers on tu.teacherID equals t.teacherID
                                       where tu.username == view.Username
                                       select t).FirstOrDefault();
                    view.ID          = teacher.teacherID;
                    view.RealName    = teacher.name;
                    view.DateOfBirth = (DateTime)teacher.dateOfBirth;
                    break;

                case 2:     // student
                    Student student = (from su in dataContext.StudentUsers
                                       join s in dataContext.Students on su.studentID equals s.studentID
                                       where su.username == view.Username
                                       select s).FirstOrDefault();
                    view.ID          = student.studentID;
                    view.RealName    = student.name;
                    view.DateOfBirth = (DateTime)student.dateOfBirth;
                    view.Class       = (from c in dataContext.Classes
                                        where c.classID == student.classID
                                        select c.name).FirstOrDefault();
                    break;
                }
            }
        }
Exemplo n.º 2
0
        private void View_Authenticate(object sender, EventArgs e)
        {
            view.RoleID    = -1;
            view.IsSuccess = false;

            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                if (dataContext.Users.SingleOrDefault(user => user.username.Equals(view.LoginUser.username)) != null)
                {
                    // get salted password from database
                    string saltedPassword = (from user in dataContext.Users
                                             where user.username == view.LoginUser.username
                                             select user.password).FirstOrDefault();

                    // check password
                    EncryptPassword encryptPassword = new EncryptPassword();
                    if (encryptPassword.IsPasswordValid(view.LoginUser.password, saltedPassword))
                    {
                        // get corresponding roleID
                        view.RoleID    = (int)dataContext.Users.Where(user => user.username.Equals(view.LoginUser.username)).Select(user => user.roleID).FirstOrDefault();
                        view.IsSuccess = true;
                    }
                }
            } // end using
        }     // end method View_Authenticate
Exemplo n.º 3
0
        }         // end method View_CreateUser

        private void View_GetRole(object sender, EventArgs e)
        {
            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                view.ListRole    = dataContext.RoleForSignups.ToList();
                view.DefaultRole = dataContext.RoleForSignups.SingleOrDefault(r => r.description.Equals("Student")).roleID;
            }
        } // end method View_GetRole
        private void View_GetPrivilege(object sender, EventArgs e)
        {
            string formName = "PersonalInformationView";

            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                view.Privilege = (from p in dataContext.RoleFormControls
                                  where p.roleID == view.RoleID && p.form == formName
                                  select p).ToList();
            }
        }
Exemplo n.º 5
0
        } // end method View_GetRole

        /// <summary>
        /// check whether user's info is valid to insert to database
        /// </summary>
        private void CheckUserInfo()
        {
            isUserCreateable     = true;
            view.ResponseMessage = "Account created successfully!";

            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                // check whether Username already exist
                if (dataContext.Users.SingleOrDefault(user => user.username.Equals(view.AddedUser.username)) != null)
                {
                    isUserCreateable     = false;
                    view.ResponseMessage = "Please use other Username!";
                }
                else if (!view.Password.Equals(view.ReEnterPassword)) // check whether password is the same
                {
                    isUserCreateable     = false;
                    view.ResponseMessage = "Two password is not indentical!";
                }
                else // check whether ID exist
                {
                    if (view.AddedUser.roleID == dataContext.RoleForSignups.SingleOrDefault(r => r.description.Equals("Student")).roleID) // user's role is student
                    {
                        if (dataContext.Students.SingleOrDefault(student => student.studentID.Equals(view.ID)) == null)
                        {
                            isUserCreateable     = false;
                            view.ResponseMessage = "Student doesn't exist!";
                        }
                        else if (dataContext.StudentUsers.SingleOrDefault(studentUser => studentUser.studentID.Equals(view.ID)) != null)
                        {
                            isUserCreateable     = false;
                            view.ResponseMessage = "Student already have an account!";
                        }
                    }
                    else // user's role is teacher
                    {
                        if (dataContext.Teachers.SingleOrDefault(teacher => teacher.teacherID.Equals(view.ID)) == null)
                        {
                            isUserCreateable     = false;
                            view.ResponseMessage = "Teacher doesn't exist!";
                        }
                        else if (dataContext.TeacherUsers.SingleOrDefault(teacherUser => teacherUser.teacherID.Equals(view.ID)) != null)
                        {
                            isUserCreateable     = false;
                            view.ResponseMessage = "Teacher already have an account!";
                        }
                    } // end inner else
                }     // end outer else
            }         // end using
        }             // end method CheckUserInfo
Exemplo n.º 6
0
        private void View_CreateUser(object sender, EventArgs e)
        {
            CheckUserInfo();

            if (isUserCreateable)
            {
                using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
                {
                    // encrypt password
                    EncryptPassword encryptPassword = new EncryptPassword();
                    view.AddedUser.password = encryptPassword.GetSaltedPassword(view.Password);

                    // insert user to database
                    dataContext.Users.InsertOnSubmit(view.AddedUser);

                    // create suitable object base on user'role
                    // insert to appropriate table
                    if (view.AddedUser.roleID == dataContext.RoleForSignups.SingleOrDefault(r => r.description.Equals("Student")).roleID)
                    {
                        StudentUser studentUser = new StudentUser();

                        studentUser.username  = view.AddedUser.username;
                        studentUser.studentID = view.ID;

                        dataContext.StudentUsers.InsertOnSubmit(studentUser);
                    }
                    else
                    {
                        TeacherUser teacherUser = new TeacherUser();

                        teacherUser.username  = view.AddedUser.username;
                        teacherUser.teacherID = view.ID;

                        dataContext.TeacherUsers.InsertOnSubmit(teacherUser);
                    }

                    dataContext.SubmitChanges();
                } // end using
            }     // end outer if
        }         // end method View_CreateUser
Exemplo n.º 7
0
        private void View_ChangePassword(object sender, EventArgs e)
        {
            if (view.Password != view.ReEnterPassword)
            {
                view.IsSuccess       = false;
                view.ResponseMessage = "Passwords didn't match. Try again.";
            }
            else
            {
                using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
                {
                    User            user            = dataContext.Users.FirstOrDefault(u => u.username.Equals(view.Username));
                    EncryptPassword encryptPassword = new EncryptPassword();

                    user.password = encryptPassword.GetSaltedPassword(view.Password);
                    dataContext.SubmitChanges();

                    view.IsSuccess       = true;
                    view.ResponseMessage = "Password changed successfully!";
                }
            }
        } // end method View_ChangePassword
        private void View_Save(object sender, EventArgs e)
        {
            using (QuizManagementDataContext dataContext = new QuizManagementDataContext())
            {
                switch (view.RoleID)
                {
                case 1:     // teacher
                    Teacher teacher = dataContext.Teachers.FirstOrDefault(t => t.teacherID.Equals(view.ID));

                    teacher.name        = view.RealName;
                    teacher.dateOfBirth = view.DateOfBirth;
                    dataContext.SubmitChanges();
                    break;

                case 2:     // student
                    Student student = dataContext.Students.FirstOrDefault(s => s.studentID.Equals(view.ID));

                    student.name        = view.RealName;
                    student.dateOfBirth = view.DateOfBirth;
                    dataContext.SubmitChanges();
                    break;
                }
            }
        }