public List <Option> GetQuestionOptions(int questionID, List <int> optionIDs) { using (var context = new AssessmentToolContext()) { var question = context.Questions.Where(x => x.ID == questionID).Include(x => x.Options).FirstOrDefault(); if (question == null) { return(null); } List <Option> Options = new List <Option>(); foreach (var optionID in optionIDs) { var option = question.Options.Where(x => x.ID == optionID).FirstOrDefault(); if (option != null) { Options.Add(option); } } return(Options); } }
public RolesSearch GetRoles(string searchTerm, int pageNo, int pageSize) { using (var context = new AssessmentToolContext()) { var search = new RolesSearch(); if (string.IsNullOrEmpty(searchTerm)) { search.Roles = context.Roles .Include(u => u.Users) .OrderBy(x => x.Name) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.Users.Count(); } else { search.Roles = context.Roles .Where(u => u.Name.ToLower().Contains(searchTerm.ToLower())) .Include(u => u.Users) .OrderBy(x => x.Name) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.Roles .Where(u => u.Name.ToLower().Contains(searchTerm.ToLower())).Count(); } return(search); } }
public QuizzesSearch GetQuizzes(string searchTerm, int pageNo, int pageSize) { using (var context = new AssessmentToolContext()) { var search = new QuizzesSearch(); if (string.IsNullOrEmpty(searchTerm)) { search.Quizzes = context.Quizzes .Include(q => q.Questions) .OrderByDescending(x => x.ModifiedOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.Quizzes.Count(); } else { search.Quizzes = context.Quizzes .Where(x => x.Name.ToLower().Contains(searchTerm.ToLower())) .Include(q => q.Questions) .OrderByDescending(x => x.ModifiedOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.Quizzes .Where(x => x.Name.ToLower().Contains(searchTerm.ToLower())).Count(); } return(search); } }
public async Task <bool> SaveNewQuiz(Quiz quiz) { using (var context = new AssessmentToolContext()) { context.Quizzes.Add(quiz); return(await context.SaveChangesAsync() > 0); } }
public List <IdentityRole> GetAllRoles() { using (var context = new AssessmentToolContext()) { return(context.Roles .OrderBy(x => x.Name) .ToList()); } }
public async Task <bool> NewAttemptedQuestion(AttemptedQuestion attemptedQuestion) { using (var context = new AssessmentToolContext()) { context.AttemptedQuestions.Add(attemptedQuestion); return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> NewRole(IdentityRole role) { using (var context = new AssessmentToolContext()) { context.Roles.Add(role); return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> UpdateQuiz(Quiz quiz) { using (var context = new AssessmentToolContext()) { context.Entry(quiz).State = System.Data.Entity.EntityState.Modified; return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> NewStudentQuiz(StudentQuiz studentQuiz) { using (var context = new AssessmentToolContext()) { context.StudentQuizzes.Add(studentQuiz); return(await context.SaveChangesAsync() > 0); } }
public Image GetImage(int ID) { using (var context = new AssessmentToolContext()) { return(context.Images .Where(q => q.ID == ID) .FirstOrDefault()); } }
public bool SaveNewImage(Image image) { using (var context = new AssessmentToolContext()) { context.Images.Add(image); return(context.SaveChanges() > 0); } }
public async Task <bool> SaveNewQuestion(Question question) { using (var context = new AssessmentToolContext()) { context.Questions.Add(question); return(await context.SaveChangesAsync() > 0); } }
public Quiz GetUserQuiz(string userID, int ID) { using (var context = new AssessmentToolContext()) { return(context.Quizzes .Where(q => q.OwnerID == userID && q.ID == ID) .Include(q => q.Questions) .FirstOrDefault()); } }
public Quiz GetQuizForAdmin(int ID) { using (var context = new AssessmentToolContext()) { return(context.Quizzes .Where(q => q.ID == ID) .Include(q => q.Questions) .FirstOrDefault()); } }
public Question GetQuizQuestion(int quizID, int ID) { using (var context = new AssessmentToolContext()) { return(context.Questions .Where(q => q.QuizID == quizID && q.ID == ID) .Include(x => x.Options) .Include("Options.Image") .FirstOrDefault()); } }
public async Task <bool> DeleteQuestion(Question question) { using (var context = new AssessmentToolContext()) { context.Questions.Attach(question); context.Options.RemoveRange(question.Options); context.Questions.Remove(question); return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> DeleteQuiz(Quiz quiz) { using (var context = new AssessmentToolContext()) { context.Quizzes.Attach(quiz); quiz.Questions.ForEach(qu => context.Options.RemoveRange(qu.Options)); context.Questions.RemoveRange(quiz.Questions); context.Quizzes.Remove(quiz); return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> DeleteRole(string ID) { using (var context = new AssessmentToolContext()) { var role = context.Roles.Find(ID); if (role != null) { context.Entry(role).State = System.Data.Entity.EntityState.Deleted; } return(await context.SaveChangesAsync() > 0); } }
public UserWithRoleEntity GetUserWithRolesByID(string userID) { using (var context = new AssessmentToolContext()) { return(context.Users .Where(x => x.Id == userID) .Include(u => u.Roles) .Select(x => new UserWithRoleEntity() { User = x, Roles = x.Roles.Select(r => context.Roles.Where(role => role.Id == r.RoleId).FirstOrDefault()).ToList() }).FirstOrDefault()); } }
public RoleWithUsersEntity GetRoleByID(string ID) { using (var context = new AssessmentToolContext()) { return(context.Roles .Where(r => r.Id == ID) .Include(u => u.Users) .Select(x => new RoleWithUsersEntity() { Role = x, Users = x.Users.Select(userRole => context.Users.Where(user => user.Id == userRole.UserId).FirstOrDefault()).ToList() }).FirstOrDefault()); } }
public Quiz GetQuiz(int ID) { using (var context = new AssessmentToolContext()) { return(context.Quizzes .Where(q => q.ID == ID) .Include(q => q.Questions) .Include("Questions.Image") .Include("Questions.Options") .Include("Questions.Options.Image") .Where(q => q.Questions.Count > 0) //get quiz with Questions greater than 0 .FirstOrDefault()); } }
//public async Task<bool> NewUser(AssessmentToolUser user) //{ // using (var context = new AssessmentToolContext()) // { // context.Users.Add(user); // return await context.SaveChangesAsync() > 0; // } //} public async Task <bool> UpdateRole(IdentityRole role) { using (var context = new AssessmentToolContext()) { var oldRole = context.Roles.Find(role.Id); if (oldRole != null) { oldRole.Name = role.Name; context.Entry(oldRole).State = System.Data.Entity.EntityState.Modified; } return(await context.SaveChangesAsync() > 0); } }
public StudentQuizzesSearch GetUserQuizAttempts(string userID, string searchTerm, int pageNo, int pageSize) { using (var context = new AssessmentToolContext()) { var search = new StudentQuizzesSearch(); if (string.IsNullOrEmpty(searchTerm)) { search.StudentQuizzes = context.StudentQuizzes .Where(x => x.StudentID == userID) .Include("AttemptedQuestions") .Include("Quiz") .Include("Quiz.Questions") .Include("Quiz.Questions.Options") .Include("Student") .OrderByDescending(x => x.ModifiedOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.StudentQuizzes .Where(x => x.StudentID == userID).Count(); } else { search.StudentQuizzes = context.StudentQuizzes .Where(x => x.StudentID == userID) .Include("AttemptedQuestions") .Include("Quiz") .Include("Quiz.Questions") .Include("Quiz.Questions.Options") .Include("Student") .Where(x => x.Quiz.Name.ToLower().Contains(searchTerm.ToLower())) .OrderByDescending(x => x.ModifiedOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .ToList(); search.TotalCount = context.StudentQuizzes .Where(x => x.StudentID == userID).Include(q => q.Quiz) .Where(x => x.Quiz.Name.ToLower().Contains(searchTerm.ToLower())).Count(); } return(search); } }
public async Task <bool> UpdateQuestion(Question question) { using (var context = new AssessmentToolContext()) { //get the question by ID var oldQuestion = context.Questions.Find(question.ID); //delete this old question with all options context.Options.RemoveRange(oldQuestion.Options); context.Questions.Remove(oldQuestion); //add a new question with new options context.Questions.Add(question); return(await context.SaveChangesAsync() > 0); } }
public StudentQuiz GetStudentQuiz(int ID) { using (var context = new AssessmentToolContext()) { return(context.StudentQuizzes .Where(x => x.ID == ID) .Include("AttemptedQuestions") .Include("AttemptedQuestions.SelectedOptions") .Include("AttemptedQuestions.SelectedOptions.Option") .Include("AttemptedQuestions.SelectedOptions.Option.Image") .Include("Quiz") .Include("Quiz.Questions") .Include("Quiz.Questions.Options") .Include("Quiz.Questions.Options.Image") .Include("Student") .FirstOrDefault()); } }
public async Task <bool> RemoveUserRole(string userID, string roleID) { using (var context = new AssessmentToolContext()) { var user = context.Users.Find(userID); if (user != null) { var userRole = user.Roles.Where(r => r.RoleId == roleID).FirstOrDefault(); if (user != null) { user.Roles.Remove(userRole); } } return(await context.SaveChangesAsync() > 0); } }
public async Task <bool> AddUserRole(string userID, string roleID) { using (var context = new AssessmentToolContext()) { var user = context.Users.Find(userID); var role = context.Roles.Find(roleID); if (user != null && role != null) { user.Roles.Add(new IdentityUserRole() { UserId = userID, RoleId = roleID }); } return(await context.SaveChangesAsync() > 0); } }
public UsersSearch GetUsersWithRoles(string searchTerm, int pageNo, int pageSize) { using (var context = new AssessmentToolContext()) { var search = new UsersSearch(); if (string.IsNullOrEmpty(searchTerm)) { search.Users = context.Users .Include(u => u.Roles) .OrderByDescending(x => x.RegisteredOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .Select(x => new UserWithRoleEntity() { User = x, Roles = x.Roles.Select(r => context.Roles.Where(role => role.Id == r.RoleId).FirstOrDefault()) .ToList() }).ToList(); search.TotalCount = context.Users.Count(); } else { search.Users = context.Users .Where(u => u.UserName.ToLower().Contains(searchTerm.ToLower())) .Include(u => u.Roles) .OrderByDescending(x => x.RegisteredOn) .Skip((pageNo - 1) * pageSize) .Take(pageSize) .Select(x => new UserWithRoleEntity() { User = x, Roles = x.Roles.Select(r => context.Roles.Where(role => role.Id == r.RoleId).FirstOrDefault()) .ToList() }).ToList(); search.TotalCount = context.Users .Where(u => u.UserName.ToLower().Contains(searchTerm.ToLower())).Count(); } return(search); } }
public List <Option> GetOptionsByIDs(List <int> optionIDs) { using (var context = new AssessmentToolContext()) { var options = new List <Option>(); if (optionIDs != null) { foreach (var ID in optionIDs) { var option = context.Options.Find(ID); if (option != null) { options.Add(option); } } } return(options); } }