private void SaveCourseProviders(CanvasCourseDetailModel courseDetail) { if (courseDetail != null) { var lstCourseProviders = (from cp in base.db.CourseProviders where cp.CourseId == courseDetail.CourseId select cp) .ToList(); if (lstCourseProviders != null && lstCourseProviders.Count > 0) { base.db.CourseProviders.RemoveRange(lstCourseProviders); } if (courseDetail.SelectedProviders != null && courseDetail.SelectedProviders.Count > 0) { foreach (Guid aProvider in courseDetail.SelectedProviders) { base.db.CourseProviders.Add(new CourseProvider() { CourseId = courseDetail.CourseId , ProviderId = aProvider , Id = Guid.NewGuid() }); } } base.db.SaveChanges(); } }
private void SaveCourseUniversities(CanvasCourseDetailModel courseDetail) { if (courseDetail != null) { var lstCourseUniversities = (from cu in base.db.CourseUniversities where (cu.CourseId == courseDetail.CourseId) select cu).ToList(); if (lstCourseUniversities != null && lstCourseUniversities.Count > 0) { base.db.CourseUniversities.RemoveRange(lstCourseUniversities); } if (courseDetail.SelectedUniversities != null) { foreach (Guid aUni in courseDetail.SelectedUniversities) { base.db.CourseUniversities.Add(new CourseUniversity() { CourseId = courseDetail.CourseId , Id = Guid.NewGuid() , UniversityId = aUni }); } } base.db.SaveChanges(); } }
private void SaveCourseSchedule(CanvasCourseDetailModel courseDetail) { if (courseDetail != null) { var courseSchedule = (from cs in base.db.CourseSchedules where (cs.CourseId == courseDetail.CourseId) select cs) .FirstOrDefault(); if (courseSchedule != null && (courseDetail.StartDate != null || courseDetail.EndDate != null)) { courseSchedule.StartDate = courseDetail.StartDate; courseSchedule.EndDate = courseDetail.EndDate; base.db.Entry(courseSchedule).State = System.Data.Entity.EntityState.Modified; } else { db.CourseSchedules.Add(new CourseSchedule() { ScheduleId = Guid.NewGuid() , CourseId = courseDetail.CourseId , EndDate = courseDetail.EndDate , StartDate = courseDetail.StartDate }); } base.db.SaveChanges(); } }
private async Task <string> CreateNewCourse(CanvasCourseDetailModel courseDetail) { if (courseDetail != null) { Courses.Add Add = new Courses.Add() { CourseDescription = courseDetail.CourseDescription , CourseName = courseDetail.CourseName , EndDate = courseDetail.EndDate , StartDate = courseDetail.StartDate }; string oResponse = await base.canvasManager.CreateCourse(Add) as string; if (!string.IsNullOrEmpty(oResponse)) { CanvasCourseModel newCourse = oResponse.FromJson <CanvasCourseModel>(); if (newCourse != null) { Guid courseId = Guid.NewGuid(); Cours c = new Cours() { CanvasId = newCourse.id , CourseCreateDate = DateTime.Now , CourseDescription = courseDetail.CourseDescription , CourseName = courseDetail.CourseName , CourseId = courseId }; try { base.db.Courses.Add(c); db.SaveChanges(); SaveCourseSchedule(courseDetail); SaveCourseProviders(courseDetail); SaveCourseUniversities(courseDetail); } catch (Exception ex) { return(base.serializer.Serialize(new { Success = false, Message = ex.Message })); } return(base.serializer.Serialize(new { Success = true, Message = string.Empty })); } } } return(base.serializer.Serialize(new { Success = false, Message = "Error" })); }
public ActionResult Detail(Guid?id) { CanvasCourseDetailModel courseDetail = new CanvasCourseDetailModel(); if (id != null) { var obj = (from c in base.db.Courses where c.CourseId == id select c ).FirstOrDefault(); if (obj != null) { courseDetail.CourseId = obj.CourseId; courseDetail.CourseDescription = obj.CourseDescription; courseDetail.CourseName = obj.CourseName; courseDetail.EndDate = (from cs in base.db.CourseSchedules where cs.CourseId == obj.CourseId select cs.EndDate) .FirstOrDefault(); courseDetail.StartDate = (from cs in base.db.CourseSchedules where cs.CourseId == obj.CourseId select cs.StartDate) .FirstOrDefault(); var lstProviders = (from p in base.db.CourseProviders where p.CourseId == obj.CourseId select p.ProviderId) .ToList(); if (lstProviders != null) { courseDetail.SelectedProviders = new List <Guid>(); lstProviders.ForEach(p => { courseDetail.SelectedProviders.Add(p.Value); }); } var lstUniversities = (from p in base.db.CourseUniversities where p.CourseId == obj.CourseId select p.UniversityId) .ToList(); if (lstUniversities != null) { courseDetail.SelectedUniversities = new List <Guid>(); lstUniversities.ForEach(u => { courseDetail.SelectedUniversities.Add(u.Value); }); } } } return(View(courseDetail)); }
public async Task <string> SaveCourseDetail(CanvasCourseDetailModel courseDetail) { if (ModelState.IsValid) { if (courseDetail.CourseId == null || courseDetail.CourseId == new Guid()) { return(await CreateNewCourse(courseDetail)); } else { return(await UpdateCourse(courseDetail)); } } return(base.serializer.Serialize(new { Success = false, Message = "Error" })); }
private async Task <string> UpdateCourse(CanvasCourseDetailModel courseDetail) { if (courseDetail != null) { int?iCanvasId = (from c in base.db.Courses where c.CourseId == courseDetail.CourseId select c.CanvasId ).FirstOrDefault(); if (iCanvasId != null) { Courses.Add Add = new Courses.Add() { CourseDescription = courseDetail.CourseDescription , CourseName = courseDetail.CourseName , EndDate = courseDetail.EndDate , StartDate = courseDetail.StartDate }; string oResponse = await base.canvasManager.UpdateCourse(Add, iCanvasId.Value) as string; if (!string.IsNullOrEmpty(oResponse)) { try { CanvasCourseModel updateCourse = oResponse.FromJson <CanvasCourseModel>(); Cours c = (from co in base.db.Courses where (co.CourseId == courseDetail.CourseId) select co) .FirstOrDefault(); if (c != null) { c.CourseName = courseDetail.CourseName; c.CourseDescription = courseDetail.CourseDescription; base.db.Entry(c).State = System.Data.Entity.EntityState.Modified; base.db.SaveChanges(); SaveCourseSchedule(courseDetail); SaveCourseProviders(courseDetail); SaveCourseUniversities(courseDetail); } //Cours c = new Cours() //{ // CanvasId = updateCourse.id // , // CourseCreateDate = DateTime.Now // , // CourseDescription = courseDetail.CourseDescription // , // CourseName = courseDetail.CourseName // , // CourseId = Add.CourseId //}; } catch (Exception ex) { return(base.serializer.Serialize(new { Success = false, Message = ex.Message })); } return(base.serializer.Serialize(new { Success = true, Message = string.Empty })); } } } return(base.serializer.Serialize(new { Success = false, Message = "Error" })); }