protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); var context = new TeachMeBackendContext(); SetDomainManager(new EntityDomainManager <T>(context, Request)); }
protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); TeachMeBackendContext context = new TeachMeBackendContext(); DomainManager = new EntityDomainManager <CommentRating>(context, Request); }
// GET tables/TodoItem // [Route("")] public IQueryable <TodoItem> GetAllTodoItems() { var query = Query(); if (!query.Any()) { List <TodoItem> todoItems = new List <TodoItem> { new TodoItem { Id = Guid.NewGuid().ToString(), Text = "First item", Complete = false }, new TodoItem { Id = Guid.NewGuid().ToString(), Text = "Second item", Complete = false }, }; using (TeachMeBackendContext context = new TeachMeBackendContext()) { foreach (TodoItem todoItem in todoItems) { context.Set <TodoItem>().Add(todoItem); } context.SaveChanges(); } } return(query); }
//Calculates progress for all exercises under this lesson for the current user private ProgressLessonModel CalculateLessonProgress(string id) { ProgressLessonModel progressLessonModel = new ProgressLessonModel(); using (var db = new TeachMeBackendContext()) { var exercises = db.Exercises.Where(ex => ex.LessonId == id).Include(ex => ex.ExerciseStudents); progressLessonModel.ExercisesNumber = exercises.Count(); if (User is ClaimsPrincipal claimsPrincipal) { var userId = claimsPrincipal.FindFirst(ClaimTypes.PrimarySid).Value; progressLessonModel.ExercisesDone = exercises.Count(ex => ex.ExerciseStudents.Any(c => c.UserId == userId && c.IsDone)); var lessonProgress = db.LessonProgresses.FirstOrDefault(p => p.UserId == userId && p.LessonId == id); if (lessonProgress != null) { progressLessonModel.IsDone = lessonProgress.IsDone; progressLessonModel.IsStarted = lessonProgress.IsDone; } } } return(progressLessonModel); }
//Calculates progress for all lessons under this section for the current user private ProgressSectionModel CalculateSectionProgress(string id) { ProgressSectionModel progressSectionModel = new ProgressSectionModel(); using (var db = new TeachMeBackendContext()) { var lessons = db.Lessons.Where(l => l.SectionId == id).Include(l => l.LessonProgresses); progressSectionModel.LessonsNumber = lessons.Count(); if (User is ClaimsPrincipal claimsPrincipal) { var userId = claimsPrincipal.FindFirst(ClaimTypes.PrimarySid).Value; progressSectionModel.LessonsDone = lessons.Count(l => l.LessonProgresses.Any(p => p.UserId == userId && p.IsDone)); var sectionProgress = db.SectionProgresses.FirstOrDefault(p => p.UserId == userId && p.SectionId == id); if (sectionProgress != null) { progressSectionModel.IsDone = sectionProgress.IsDone; progressSectionModel.IsStarted = sectionProgress.IsDone; } } } return(progressSectionModel); }
protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); TeachMeBackendContext context = new TeachMeBackendContext(); DomainManager = new EntityDomainManager <StudyProgramCourse>(context, Request); }
// In this method we will create default User roles private static void CreateRoles() { TeachMeBackendContext context = new TeachMeBackendContext(); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); if (!roleManager.RoleExists(UserRole.Student.ToString())) { roleManager.Create(new IdentityRole { Name = UserRole.Student.ToString() }); } if (!roleManager.RoleExists(UserRole.Teacher.ToString())) { roleManager.Create(new IdentityRole { Name = UserRole.Teacher.ToString() }); } if (!roleManager.RoleExists(UserRole.Admin.ToString())) { roleManager.Create(new IdentityRole { Name = UserRole.Admin.ToString() }); } }
public IHttpActionResult DeleteCourse(string id) { using (var dbContext = new TeachMeBackendContext()) { var course = dbContext.DeleteCourseAndChildren(id); if (course == null) { return(NotFound()); } dbContext.SaveChanges(); } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetSectionProgress(string id) { using (var db = new TeachMeBackendContext()) { Section section = db.Sections.Find(id); if (section == null) { return(NotFound()); } } //Calculates progress for all lessons under this section for the current user ProgressSectionModel progress = CalculateSectionProgress(id); return(Ok(progress)); }
public IHttpActionResult GetCourseProgress(string id) { using (var db = new TeachMeBackendContext()) { Course course = db.Courses.Find(id); if (course == null) { return(NotFound()); } } //Calculates progress for all exercises under this course for the current user ProgressCourseModel progress = CalculateCourseProgress(id); return(Ok(progress)); }
//Calculates progress for all sections under this course for the current user private ProgressCourseModel CalculateCourseProgress(string id) { ProgressCourseModel progressCourseModel = new ProgressCourseModel(); using (var db = new TeachMeBackendContext()) { var sections = db.Sections.Where(c => c.CourseId == id).Include(c => c.SectionProgresses); progressCourseModel.SectionsNumber = sections.Count(); if (User is ClaimsPrincipal claimsPrincipal) { var userId = claimsPrincipal.FindFirst(ClaimTypes.PrimarySid).Value; progressCourseModel.SectionsDone = sections.Count(c => c.SectionProgresses.Any(p => p.UserId == userId && p.IsDone)); } } return(progressCourseModel); }