private void ModifyCourseSteps(BrainWaveCourseUpload brainWaveCourseUpload) { var stepsInDb = _db.Steps.Where(step => step.CourseId == brainWaveCourseUpload.CourseId); int i = -1; brainWaveCourseUpload.CourseSteps.ForEach(step => { i++; var dbStepUpdate = stepsInDb.SingleOrDefault(dbStep => dbStep.Index == i); if (dbStepUpdate == null) { _db.Steps.Add(new BrainWaveCourseStep { CourseId = brainWaveCourseUpload.CourseId, Index = i, Html = step.StepContent, Title = step.Title }); } else { dbStepUpdate.Html = step.StepContent; dbStepUpdate.Title = step.Title; } ModifyStepFiles(step, brainWaveCourseUpload.CourseId, i); }); stepsInDb.Where(step => step.Index > i) .ToList() .ForEach(step => _db.Steps.Remove(step)); }
private BrainWaveCourse UpdateBrainWaveCourseEntry(BrainWaveCourseUpload brainWaveCourseUpload) { var courseInDb = _db.Courses.FirstOrDefault(course => course.CourseId == brainWaveCourseUpload.CourseId); if (courseInDb == null) { return null; } courseInDb.CourseAuthor = brainWaveCourseUpload.CourseAuthor; courseInDb.CourseDescription = brainWaveCourseUpload.CourseDescription; courseInDb.CourseEstimatedTime = brainWaveCourseUpload.CourseEstimatedTime; courseInDb.CourseName = brainWaveCourseUpload.CourseName; return courseInDb; }
private BrainWaveCourse ModifyCourse(BrainWaveCourseUpload brainWaveCourseUpload) { ModifyCourseSteps(brainWaveCourseUpload); var courseInDb = UpdateBrainWaveCourseEntry(brainWaveCourseUpload); return courseInDb; }
private BrainWaveCourse AddCourse(BrainWaveCourseUpload brainWaveCourseUpload) { var brainWaveCourse = AddBrainWaveCourseEntry(brainWaveCourseUpload); AddCourseStepsEntries(brainWaveCourse.CourseId, brainWaveCourseUpload.CourseSteps); _db.SaveChanges(); return brainWaveCourse; }
private BrainWaveCourse AddBrainWaveCourseEntry(BrainWaveCourseUpload brainWaveCourseUpload) { // Assemble the database object from the transfer object var brainWaveCourse = new BrainWaveCourse() { CourseName = brainWaveCourseUpload.CourseName, CourseDescription = brainWaveCourseUpload.CourseDescription, CourseEstimatedTime = brainWaveCourseUpload.CourseEstimatedTime, CourseAuthor = brainWaveCourseUpload.CourseAuthor }; _db.Courses.Add(brainWaveCourse); _db.SaveChanges(); return brainWaveCourse; }
public IHttpActionResult PutBrainWaveCourse(BrainWaveCourseUpload brainWaveCourseUpload) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var brainWaveCourse = AddCourse(brainWaveCourseUpload); try { _db.SaveChanges(); } catch (DbUpdateException) { if (BrainWaveCourseExists(brainWaveCourse.CourseId)) { return Conflict(); } else { throw; } } return CreatedAtRoute("DefaultAPI", new { courseId = brainWaveCourse.CourseId}, brainWaveCourse); }
public IHttpActionResult PostBrainWaveCourse(BrainWaveCourseUpload brainWaveCourseUpload) { if (!ModelState.IsValid) { return BadRequest(ModelState); } BrainWaveCourse brainWaveCourse = ModifyCourse(brainWaveCourseUpload); _db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = brainWaveCourse.CourseId }, brainWaveCourse); }