private bool ValidateCreateCourseRequest(SaveOrUpdateCourseRequest request) { if (request == null) { return(false); } if (string.IsNullOrWhiteSpace(request.Overview)) { return(false); } if (request.Edition <= 0 || request.Level <= 0 || request.AvgLearningTime <= 0) { return(false); } if (request.InstructorId == null) { return(false); } if (string.IsNullOrWhiteSpace(request.Name)) { return(false); } return(true); }
private bool ValidateUpdateCourseRequest(SaveOrUpdateCourseRequest request) { var isValidContent = ValidateCreateCourseRequest(request); var isValidKey = !(request.Id == Guid.Empty); return(isValidContent && isValidKey); }
public ServiceResult <CourseServiceResultCode> UpdateCourse(SaveOrUpdateCourseRequest request) { var isValidRequest = ValidateUpdateCourseRequest(request); if (!isValidRequest) { return(ArgumentErrorResult(CourseServiceResultCode.ArgumentError)); } try { var course = _courseRepo.Get(request.Id); if (course == null) { return(DataErrorResult(CourseServiceResultCode.DataNotExist)); } UpdateDataOfCourse(course, request); _courseRepo.Update(course); _courseRepo.SaveChanges(); return(BuildResult(true, CourseServiceResultCode.Success, resultObj: course)); } catch (Exception ex) { _systemErrorsRepo.AddLog(ex); return(InternalErrorResult(CourseServiceResultCode.BackendException)); } }
private void UpdateDataOfCourse(Course course, SaveOrUpdateCourseRequest request) { course.InstructorId = request.InstructorId; course.Level = request.Level; course.Overview = request.Overview; course.Name = request.Name; course.AvgLearningTime = request.AvgLearningTime; course.CourseCategory = ClassifyCourseCategory(request.Categories, course); }
private Course MakeNewCourse(SaveOrUpdateCourseRequest request) { var course = new Course() { Id = Guid.NewGuid(), Name = request.Name, Overview = request.Overview, InstructorId = request.InstructorId, Edition = request.Edition, Level = request.Level, AvgLearningTime = request.AvgLearningTime }; var courseCategories = ClassifyCourseCategory(request.Categories, course); course.CourseCategory = courseCategories; return(course); }
public ServiceResult <CourseServiceResultCode> CreateCourse(SaveOrUpdateCourseRequest request) { var isValidRequest = ValidateCreateCourseRequest(request); if (!isValidRequest) { return(ArgumentErrorResult(CourseServiceResultCode.ArgumentError)); } try { var course = MakeNewCourse(request); _courseRepo.Add(course); _courseRepo.SaveChanges(); return(BuildResult(true, CourseServiceResultCode.Success)); } catch (Exception ex) { _systemErrorsRepo.AddLog(ex); return(InternalErrorResult(CourseServiceResultCode.BackendException)); } }
public IActionResult CreateNewCourse(SaveOrUpdateCourseRequest request) => GetResult(() => _courseService.CreateCourse(request));