Beispiel #1
0
        private void DeleteExamDetail(object sender, EventArgs e)
        {
            var examDetail = sender as ExamDetail;

            if (examDetail != null)
            {
                bool check = true;
                using (var context = new QLThiTracNghiemDataContext())
                {
                    if (context.ExamTakes.Any(et => et.ExamDetailId == examDetail.ExamDetailId))
                    {
                        check = false;
                    }
                }

                if (check)
                {
                    view.ExamDetails.Remove(examDetail);
                    view.DeleteExamDetailMessage = "Succeed";
                }
                else
                {
                    view.DeleteExamDetailMessage = "Used";
                }
            }
            else
            {
                view.DeleteExamDetailMessage = "Failed";
            }
        }
        private void ViewResult(object sender, EventArgs e)
        {
            using (var qlttn = new QLThiTracNghiemDataContext())
            {
                var lo = new DataLoadOptions();
                lo.LoadWith <ExamResult>(p => p.StudentId);
                qlttn.LoadOptions = lo;

                string eD        = view.ExamDetailId;
                var    getExamRP = from es in qlttn.ExamResults
                                   join a in qlttn.Students on es.StudentId equals a.StudentId
                                   join u in qlttn.Users on a.Username equals u.Username
                                   join dt in qlttn.ExamDetails on es.ExamDetailId equals dt.ExamDetailId
                                   join ex in qlttn.Exams on dt.ExamId equals ex.ExamId
                                   where es.ExamDetailId == eD
                                   select new ExamStatisticViewModel
                {
                    StudentId          = es.StudentId,
                    ExamDetailId       = es.ExamDetailId,
                    ExamName           = ex.ExamName,
                    StudentName        = u.LastName,
                    NumOfQuestionRight = Int32.Parse(es.NumberOfCorrectAnswers.ToString()),
                    Mark = Double.Parse(es.Mark.ToString())
                };
                view.ExamDetailIdRP = eD;
                view.DataSource     = getExamRP.ToList();
            }
        }
Beispiel #3
0
        private void ChangePassword(object sender, EventArgs e)
        {
            if (Common.VerifyPassword(view.OldPassword, view.CurrentUserInfo.Password))
            {
                if (view.NewPassword == view.ConfirmNewPassword)
                {
                    using (var context = new QLThiTracNghiemDataContext())
                    {
                        var user = context.Users.First(u => u.Username == view.CurrentUserInfo.Username);
                        user.Password = Common.HashPassword(view.NewPassword);

                        context.SubmitChanges();
                    }

                    view.ChangePasswordMessage = "Succeed";
                }
                else
                {
                    view.ChangePasswordMessage = "Password confirm not correct";
                }
            }
            else
            {
                view.ChangePasswordMessage = "Password not correct";
            }
        }
        private void ReloadListExamDetail(object sender, EventArgs e)
        {
            var examId = sender as string;

            if (examId != null || !string.IsNullOrEmpty(examId))
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    view.ExamDetails = (from ex in context.Exams
                                        where ex.ExamId == examId
                                        join ed in context.ExamDetails on ex.ExamId equals ed.ExamId
                                        join s in context.Subjects on new { ed.SubjectId, ed.GradeId } equals new { s.SubjectId, s.GradeId }
                                        select new ExamListViewModel
                    {
                        ExamId = ex.ExamId,
                        ExamName = ex.ExamName,
                        ExamDetailId = ed.ExamDetailId,
                        StartTime = ed.StartTime,
                        Duration = ed.Duration,
                        SubjectId = ed.SubjectId,
                        GradeId = ed.GradeId,
                        SubjectName = s.SubjectName
                    }).ToList();
                }
            }
        }
Beispiel #5
0
        private void SaveEdit(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                foreach (var user in context.Users)
                {
                    var checkExist = view.Users.FirstOrDefault(_ => view.UserEdit.Username == user.Username);
                    if (checkExist != null)
                    {
                        user.Username = view.UserEdit.Username;

                        if (!string.IsNullOrWhiteSpace(view.UserEdit.Password))
                        {
                            user.Password = Common.HashPassword(view.UserEdit.Password);
                        }

                        user.FirstName = view.UserEdit.FirstName;
                        user.LastName  = view.UserEdit.LastName;
                        user.Dob       = view.UserEdit.Dob;
                        user.Phone     = view.UserEdit.Phone;
                        user.Status    = view.UserEdit.Status;
                    }
                }

                context.SubmitChanges();
            }
        }
 private void ReloadListAnswer(object sender, EventArgs e)
 {
     using (var context = new QLThiTracNghiemDataContext())
     {
         context.DeferredLoadingEnabled = false;
         view.Answers = context.Answers.Where(a => a.QuestionId == view.QuestionId).ToList();
     }
 }
        private void SaveEditExamCode(object sender, EventArgs e)
        {
            try
            {
                var examCodeEdited = sender as ExamCodeListViewModel;

                bool check = false;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var countUsed = context.ExamTakes.Where(et => et.ExamCodeId == examCodeEdited.ExamCodeId).Count();
                    if (countUsed <= 0)
                    {
                        var examCodeQuestions = context.ExamCode_Questions.Where(ecq => ecq.ExamCodeId == examCodeEdited.ExamCodeId).ToList();
                        var examCodeDb        = context.ExamCodes.First(ec => ec.ExamCodeId == examCodeEdited.ExamCodeId);
                        examCodeDb.NumberOfQuestions = examCodeEdited.NumberOfQuestions;
                        examCodeDb.SubjectId         = examCodeEdited.SubjectId;
                        examCodeDb.GradeId           = examCodeEdited.GradeId;
                        examCodeDb.IsPracticeExam    = examCodeEdited.IsPracticeExam;

                        context.ExamCode_Questions.DeleteAllOnSubmit(examCodeQuestions);
                        context.SubmitChanges();

                        List <ExamCode_Question> examCode_Questions = new List <ExamCode_Question>();
                        foreach (var id in view.EditExamCodeQuestionIds)
                        {
                            var examCode_Question = new ExamCode_Question
                            {
                                ExamCodeId = examCodeEdited.ExamCodeId,
                                QuestionId = id
                            };
                            examCode_Questions.Add(examCode_Question);
                        }
                        context.ExamCode_Questions.InsertAllOnSubmit(examCode_Questions);
                        context.SubmitChanges();

                        check = true;
                    }
                }

                if (check)
                {
                    view.SaveEditExamCodeMessage = "Succeed";
                }
                else
                {
                    view.SaveEditExamCodeMessage = "Used";
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.SaveEditExamCodeMessage = "Failed";
            }
        }
        private void ApproveQuestion(object sender, EventArgs e)
        {
            try
            {
                Question question;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var questionDistributed = context.QuestionDistributes.First(q => q.QuestionDistributeId == view.ApproveQuestionId);
                    questionDistributed.IsApproved = true;

                    question = new Question
                    {
                        Content        = questionDistributed.Content,
                        Hint           = questionDistributed.Hint,
                        SubjectId      = questionDistributed.SubjectId,
                        GradeId        = questionDistributed.GradeId,
                        DifficultLevel = questionDistributed.DifficultLevel,
                        IsDistributed  = true
                    };

                    context.Questions.InsertOnSubmit(question);
                    context.SubmitChanges();
                }

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var answerDistributed = context.AnswerDistributes.Where(a => a.QuestionDistributeId == view.ApproveQuestionId).ToList();

                    List <Answer> answers = new List <Answer>();
                    foreach (var a in answerDistributed)
                    {
                        var answer = new Answer
                        {
                            AnswerId   = a.AnswerDistributeId,
                            QuestionId = question.QuestionId,
                            Content    = a.Content,
                            IsCorrect  = a.IsCorrect
                        };
                        answers.Add(answer);
                    }

                    context.Answers.InsertAllOnSubmit(answers);
                    context.SubmitChanges();
                }

                view.ApproveQuestionMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.ApproveQuestionMessage = "Failed";
            }
        }
Beispiel #9
0
        private void Initializer()
        {
            view.Register += Register;

            IEnumerable <RoleType> roleTypes;

            using (var context = new QLThiTracNghiemDataContext())
            {
                roleTypes = context.RoleTypes.Where(r => r.RoleName != "Admin").ToList();
            }
            view.RoleTypes = roleTypes;
        }
        private void DeleteExam(object sender, EventArgs e)
        {
            try
            {
                var examId = (string)sender;

                bool check = false;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var examDetail = context.ExamDetails.FirstOrDefault(ed => ed.ExamId == examId);
                    if (examDetail != null)
                    {
                        var examDetailsCount = context.ExamDetails.Where(ed => ed.ExamId == examId);
                        var countUsed        = context.ExamTakes.Where(et => examDetailsCount.Any(ed => ed.ExamDetailId == et.ExamDetailId)).Count();

                        if (countUsed <= 0)
                        {
                            var exam = context.Exams.First(ex => ex.ExamId == examId);

                            var examDetails = context.ExamDetails.Where(ed => ed.ExamId == exam.ExamId);
                            context.ExamDetails.DeleteAllOnSubmit(examDetails);
                            context.Exams.DeleteOnSubmit(exam);
                            context.SubmitChanges();

                            check = true;
                        }
                    }
                    else
                    {
                        var exam = context.Exams.First(ex => ex.ExamId == examId);
                        context.Exams.DeleteOnSubmit(exam);
                        context.SubmitChanges();
                        check = true;
                    }
                }

                if (check)
                {
                    view.DeleteExamMessage = "Succeed";
                }
                else
                {
                    view.DeleteExamMessage = "Used";
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.DeleteExamMessage = "Failed";
            }
        }
Beispiel #11
0
        private void SaveInfo(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                var user = context.Users.First(u => u.Username == view.CurrentUserInfo.Username);
                user.FirstName = view.CurrentUserInfo.FirstName;
                user.LastName  = view.CurrentUserInfo.LastName;
                user.Phone     = view.CurrentUserInfo.Phone;
                user.Dob       = view.CurrentUserInfo.Dob;

                context.SubmitChanges();
            }
        }
Beispiel #12
0
        private void Initializer()
        {
            // Get user info
            using (var context = new QLThiTracNghiemDataContext())
            {
                context.DeferredLoadingEnabled = true;
                view.CurrentUserInfo           = context.Users.First(u => u.Username == view.CurrentUser.Username);
            }

            // Register events
            view.ChangePassword += ChangePassword;
            view.SaveInfo       += SaveInfo;
        }
Beispiel #13
0
        private void AddUserToClassifiedTable(User user, QLThiTracNghiemDataContext context)
        {
            // Add user to student table
            if (user.RoleTypeId == 1)
            {
                long studentId;
                if (context.Students.Count() == 0)
                {
                    studentId = 0;
                }
                else
                {
                    var studentIds = context.Students.Select(s => s.StudentId).ToList();
                    studentId = studentIds.Select(id => long.Parse(id.Substring(2))).Max();
                }
                studentId++;

                var student = new Student
                {
                    StudentId   = $"HS{studentId:D7}",
                    Username    = user.Username,
                    ClassroomId = null
                };

                context.Students.InsertOnSubmit(student);
            }

            // Add user to teacher table
            if (user.RoleTypeId == 2)
            {
                long teacherId;
                if (context.Teachers.Count() == 0)
                {
                    teacherId = 0;
                }
                else
                {
                    var teacherIds = context.Teachers.Select(s => s.TeacherId).ToList();
                    teacherId = teacherIds.Select(id => long.Parse(id.Substring(2))).Max();
                }
                teacherId++;

                var teacher = new Teacher
                {
                    TeacherId = $"GV{teacherId:D7}",
                    Username  = user.Username,
                };

                context.Teachers.InsertOnSubmit(teacher);
            }
        }
        private void AddExamCode(object sender, EventArgs e)
        {
            try
            {
                var examCodeAdded = sender as ExamCodeListViewModel;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    // Get examCodeId
                    var examCodeIds = context.ExamCodes.Select(ec => ec.ExamCodeId.Substring(2)).ToList();
                    var examCodeId  = examCodeIds.Select(id => int.Parse(id)).Max() + 1;
                    examCodeAdded.ExamCodeId = $"DE{examCodeId:D6}";

                    var examCode = new ExamCode
                    {
                        ExamCodeId        = examCodeAdded.ExamCodeId,
                        NumberOfQuestions = examCodeAdded.NumberOfQuestions,
                        SubjectId         = examCodeAdded.SubjectId,
                        GradeId           = examCodeAdded.GradeId,
                        IsPracticeExam    = examCodeAdded.IsPracticeExam
                    };

                    context.ExamCodes.InsertOnSubmit(examCode);
                    context.SubmitChanges();

                    List <ExamCode_Question> examCode_Questions = new List <ExamCode_Question>();
                    foreach (var id in view.AddExamCodeQuestionIds)
                    {
                        var examCode_Question = new ExamCode_Question
                        {
                            ExamCodeId = examCodeAdded.ExamCodeId,
                            QuestionId = id
                        };
                        examCode_Questions.Add(examCode_Question);
                    }
                    context.ExamCode_Questions.InsertAllOnSubmit(examCode_Questions);
                    context.SubmitChanges();
                }

                view.AddExamCodeMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.AddExamCodeMessage = "Failed";
            }
        }
Beispiel #15
0
        private void Login(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                var user = context.Users.FirstOrDefault(u => u.Username == view.Username);

                if (user != null && Common.VerifyPassword(view.Password, user.Password))
                {
                    string role;

                    role = user.RoleType.RoleName.ToLower();
                    user.LastLoginDate = DateTime.Now;
                    context.SubmitChanges();

                    // TODO: Authorization
                    if (role == "admin")
                    {
                        view.User    = user;
                        view.Message = "Succeed:Admin";
                        return;
                    }

                    if (role == "học sinh")
                    {
                        view.User    = user;
                        view.Message = "Succeed:Student";
                        return;
                    }

                    if (role == "giáo viên")
                    {
                        var teacher = context.Teachers.FirstOrDefault(t => t.Username == user.Username);
                        view.User    = teacher;
                        view.Message = "Succeed:Teacher";
                        return;
                    }
                }
                else if (user != null)
                {
                    view.Message = "Password failed";
                }
                else
                {
                    view.Message = "User not exists";
                }
            }
        }
 private void DeleteAnswer(object sender, EventArgs e)
 {
     try
     {
         using (var context = new QLThiTracNghiemDataContext())
         {
             var answer = context.Answers.First(a => a.QuestionId == view.QuestionId && a.AnswerId == view.DeleteAnswerId);
             context.Answers.DeleteOnSubmit(answer);
             context.SubmitChanges();
         }
         view.DeleteAnswerMessage = "Succeed";
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.ToString());
         view.DeleteAnswerMessage = "Failed";
     }
 }
 private void GetListSubject()
 {
     try
     {
         using (var context = new QLThiTracNghiemDataContext())
         {
             context.DeferredLoadingEnabled = false;
             view.Subjects = (from s in context.Subjects
                              join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
                              where t.TeacherId == view.CurrentUser.TeacherId
                              select s).ToList();
         }
     }
     catch (Exception ex)
     {
         Debug.Write(ex.ToString());
     }
 }
Beispiel #18
0
        private void Inititalizer()
        {
            try
            {
                view.QuestionsAdded = new List <Question>();

                using (var context = new QLThiTracNghiemDataContext())
                {
                    context.DeferredLoadingEnabled = false;

                    // Load list questions added
                    foreach (var id in view.ExamCodeQuestionIds)
                    {
                        var question = context.Questions.First(q => q.QuestionId == id);
                        view.QuestionsAdded.Add(question);
                    }

                    bool isPractice = view.ExamCode.IsPracticeExam.GetValueOrDefault(false);
                    // Load list questions
                    view.Questions = (from q in context.Questions
                                      join s in context.Subjects on new { q.SubjectId, q.GradeId } equals new { s.SubjectId, s.GradeId }
                                      join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
                                      let isDistributed = q.IsDistributed.GetValueOrDefault(false)
                                                          where t.TeacherId == view.TeacherId &&
                                                          (isPractice == false ? isDistributed == false : isDistributed == false || isDistributed == true) &&
                                                          s.SubjectId == view.ExamCode.SubjectId && s.GradeId == view.ExamCode.GradeId
                                                          select q).ToList();

                    foreach (var qa in view.QuestionsAdded)
                    {
                        view.Questions.Remove(qa);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            // Events
            view.ReloadListExamCodeQuestionIds += ReloadListExamCodeQuestionIds;
            view.AddQuestion    += AddQuestion;
            view.DeleteQuestion += DeleteQuestion;
        }
        private void AddQuestion(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    // Id Indentity
                    context.Questions.InsertOnSubmit(view.Question);
                    context.SubmitChanges();
                }

                view.AddQuestionMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.AddQuestionMessage = "Failed";
            }
        }
 private void LoadApproveQuestion(object sender, EventArgs e)
 {
     try
     {
         using (var context = new QLThiTracNghiemDataContext())
         {
             context.DeferredLoadingEnabled = false;
             view.ListQuestionDistributed   = (from qd in context.QuestionDistributes
                                               join s in context.Subjects on new { qd.SubjectId, qd.GradeId } equals new { s.SubjectId, s.GradeId }
                                               join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
                                               where t.TeacherId == view.CurrentUser.TeacherId && qd.IsApproved == false
                                               select qd).ToList();
         }
     }
     catch (Exception ex)
     {
         Debug.Write(ex.ToString());
     }
 }
Beispiel #21
0
        void LoadDataToComboBox()
        {
            using (var qlttn = new QLThiTracNghiemDataContext())
            {
                var listTeach      = qlttn.Teaches.ToList <Teach>();
                var listStudent    = qlttn.Students.ToList <Student>();
                var listExamResult = qlttn.ExamResults.ToList <ExamResult>();
                var listExamDetail = qlttn.ExamDetails.ToList <ExamDetail>();
                var listQuestion   = qlttn.Questions.ToList <Question>();
                var listSubject    = qlttn.Subjects.ToList <Subject>();



                var getStudentId = from ls in listStudent
                                   join lt in listTeach on ls.ClassroomId equals lt.ClassroomId
                                   where lt.TeacherId == CurrentUser.TeacherId
                                   select new { IdS = ls.StudentId };
                var getExamId = from ler in listExamResult
                                join led in listExamDetail on ler.ExamDetailId equals led.ExamDetailId
                                join ex in qlttn.Exams on led.ExamId equals ex.ExamId
                                join ls in listStudent on ler.StudentId equals ls.StudentId
                                join lt in listTeach on ls.ClassroomId equals lt.ClassroomId
                                where lt.TeacherId == CurrentUser.TeacherId
                                select new { IdE = ler.ExamDetailId, NameE = ex.ExamName };
                var getQuestionId = from lq in listQuestion
                                    join lss in listSubject on lq.SubjectId equals lss.SubjectId
                                    join lt in listTeach on lss.SubjectId equals lt.SubjectId
                                    where lt.TeacherId == CurrentUser.TeacherId
                                    select new { IdQ = lq.QuestionId };

                mcbStudentId.DataSource    = getStudentId.ToList();
                mcbStudentId.DisplayMember = "IdS";
                mcbStudentId.ValueMember   = "IdS";

                mcbExamId.DataSource    = getExamId.ToList();
                mcbExamId.DisplayMember = "IdE";
                mcbExamId.ValueMember   = "IdE";

                mcbQuestionId.DataSource    = getQuestionId.ToList();
                mcbQuestionId.DisplayMember = "IdQ";
                mcbQuestionId.ValueMember   = "IdQ";
            }
        }
        private void AddAnswer(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    var id = context.Answers.Select(a => a.AnswerId).Max();
                    view.Answer.AnswerId = id + 1;

                    context.Answers.InsertOnSubmit(view.Answer);
                    context.SubmitChanges();
                }
                view.AddAnswerMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.AddAnswerMessage = "Failed";
            }
        }
Beispiel #23
0
 private void LoadData()
 {
     using (var context = new QLThiTracNghiemDataContext())
     {
         view.Users = context.Users.Select(u => new AdminViewModel
         {
             Username      = u.Username,
             Password      = u.Password,
             FirstName     = u.FirstName,
             LastName      = u.LastName,
             Dob           = u.Dob,
             Phone         = u.Phone,
             CreatedDate   = u.CreatedDate,
             Status        = u.Status,
             LastLoginDate = u.LastLoginDate,
             RoleTypeId    = u.RoleTypeId,
             RoleName      = u.RoleType.RoleName
         }).ToList();
     }
 }
 private void LoadDetailQuestionExamCode(object sender, EventArgs e)
 {
     using (var context = new QLThiTracNghiemDataContext())
     {
         view.ListDetailQuestionExamCode = (from ec in context.ExamCodes
                                            join exq in context.ExamCode_Questions on ec.ExamCodeId equals exq.ExamCodeId
                                            join q in context.Questions on exq.QuestionId equals q.QuestionId
                                            join s in context.Subjects on new { ec.SubjectId, ec.GradeId } equals new { s.SubjectId, s.GradeId }
                                            where q.QuestionId == view.EditQuestionId
                                            select new DetailQuestionExamCodeViewModel
         {
             ExamCodeId = ec.ExamCodeId,
             NumberOfQuestions = ec.NumberOfQuestions,
             SubjectId = ec.SubjectId,
             GradeId = ec.GradeId,
             SubjectName = s.SubjectName,
             IsPracticeExam = ec.IsPracticeExam
         }).ToList();
     }
 }
        private void ReloadListExam(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                view.Exams =
                    (from ex in context.Exams
                     join ed in context.ExamDetails on ex.ExamId equals ed.ExamId
                     join s in context.Subjects on new { ed.SubjectId, ed.GradeId } equals new { s.SubjectId, s.GradeId }
                     join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
                     where t.TeacherId == view.CurrentUser.TeacherId && ex.IsPacticeExam.GetValueOrDefault(false) == false
                     select ex).Distinct().ToList();

                var examNotListed = context.Exams.Where(ex => !context.ExamDetails.Any(ed => ed.ExamId == ex.ExamId) && ex.IsPacticeExam == false).ToList();

                foreach (var exam in examNotListed)
                {
                    view.Exams.Add(exam);
                }
            }
        }
 private void ReloadListQuestion(object sender, EventArgs e)
 {
     using (var context = new QLThiTracNghiemDataContext())
     {
         view.ListQuestion = (from q in context.Questions
                              join s in context.Subjects on new { q.SubjectId, q.GradeId } equals new { s.SubjectId, s.GradeId }
                              join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
                              where t.TeacherId == view.CurrentUser.TeacherId
                              select new QuestionListViewModel
         {
             QuestionId = q.QuestionId,
             Content = q.Content,
             SubjectId = q.SubjectId,
             GradeId = q.GradeId,
             SubjectName = s.SubjectName,
             DifficultLevel = q.DifficultLevel,
             IsDistributed = q.IsDistributed
         }).ToList();
     }
 }
 private void ReloadListExamCode(object sender, EventArgs e)
 {
     using (var context = new QLThiTracNghiemDataContext())
     {
         view.ExamCodes =
             (from ec in context.ExamCodes
              join s in context.Subjects on new { ec.SubjectId, ec.GradeId } equals new { s.SubjectId, s.GradeId }
              join t in context.Teaches on new { s.SubjectId, s.GradeId } equals new { t.SubjectId, t.GradeId }
              where t.TeacherId == view.CurrentUser.TeacherId
              select new ExamCodeListViewModel
         {
             ExamCodeId = ec.ExamCodeId,
             NumberOfQuestions = ec.NumberOfQuestions,
             SubjectId = ec.SubjectId,
             GradeId = ec.GradeId,
             SubjectName = s.SubjectName,
             IsPracticeExam = ec.IsPracticeExam
         }).ToList();
     }
 }
        private void SaveEditQuestion(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    var question   = view.ListQuestion.First(q => q.QuestionId == view.EditQuestionId);
                    var questionDb = context.Questions.First(q => q.QuestionId == view.EditQuestionId);
                    questionDb.Content        = question.Content;
                    questionDb.DifficultLevel = question.DifficultLevel;

                    context.SubmitChanges();
                    view.EditQuestionMessage = "Succeed";
                }
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.EditQuestionMessage = "Failed";
            }
        }
Beispiel #29
0
        private void View_ViewResultQ(object sender, EventArgs e)
        {
            using (var qlttn = new QLThiTracNghiemDataContext())
            {
                var lo = new DataLoadOptions();
                lo.LoadWith <Question>(p => p.QuestionId);
                qlttn.LoadOptions = lo;

                int qd            = view.QuestionId;
                var getQuestionRP = from q in qlttn.Questions
                                    where q.QuestionId == qd
                                    select new QuestionStatisticViewModel
                {
                    QuestionId   = q.QuestionId,
                    NumOfCorrect = Int32.Parse(q.NumberOfCorrectAnswers.ToString()),
                    NumOfWrong   = Int32.Parse(q.NumberOfWrongAnswers.ToString())
                };
                view.QuestionIdRP = qd;
                view.DataSourceQ  = getQuestionRP.ToList();
            }
        }
Beispiel #30
0
        private void AddUser(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                var checkExist = view.Users.FirstOrDefault(u => u.Username == view.UserAdd.Username);
                if (checkExist != null)
                {
                    view.AddMessage = "User existed";
                    return;
                }

                view.UserAdd.Password    = Common.HashPassword(view.UserAdd.Password);
                view.UserAdd.CreatedDate = DateTime.Now;

                AddUserToClassifiedTable(view.UserAdd, context);

                context.Users.InsertOnSubmit(view.UserAdd);
                context.SubmitChanges();
            }

            view.AddMessage = "Succeed add user";
        }