public JsonResult SaveCourse(CourseWebModel course) { var success = false; success = course.Id == 0 ? UOW.CourseRepository.CreateCourse(course) : UOW.CourseRepository.UpdateCourse(course); return(Json(success)); }
public bool UpdateCourse(CourseWebModel course) { var dbModel = DataContext.Course.Include(p => p.Tags).Include(p => p.CourseCategory).SingleOrDefault(c => c.Id == course.Id); if (dbModel == null) { return(false); } AutoMapper.Mapper.Map(course, dbModel); //Save tags if (course.Tags != null && course.Tags.Count > 0) { foreach (var tagDb in dbModel.Tags.ToList()) { //Doesnt exist in webModel (removed by client) if (!course.Tags.Any(t => t.Id == tagDb.Id)) { dbModel.Tags.Remove(tagDb); } } foreach (var tagWebModel in course.Tags.ToList()) { //Doesnt exist in db (added by client) if (!dbModel.Tags.Any(t => t.Id == tagWebModel.Id)) { dbModel.Tags.Add(DataContext.Tags.First(t => t.Id == tagWebModel.Id)); } } } else //All tags were deleted { foreach (var tag in dbModel.Tags.ToList()) { dbModel.Tags.Remove(tag); } } //Save image file if (course.ImageFile != null) { var fileName = Guid.NewGuid() + ".png"; dbModel.ImageFileName = fileName; dbModel.Active = true; FileHelper.SaveFile(course.ImageFile, DirectoriesEnum.Courses, fileName); } return(Save()); }
public bool CreateCourse(CourseWebModel course) { var dbModel = AutoMapper.Mapper.Map <CourseWebModel, Course>(course); //Save tags if (course.Tags != null) { foreach (var tagWebModel in course.Tags) { dbModel.Tags.Add(DataContext.Tags.First(t => t.Id == tagWebModel.Id)); } } //Save image file var fileName = Guid.NewGuid() + ".png"; dbModel.ImageFileName = fileName; dbModel.Active = true; FileHelper.SaveFile(course.ImageFile, DirectoriesEnum.Courses, fileName); DataContext.Course.Add(dbModel); return(Save()); }