public ResultViewModel <FinishedCourseEditViewModel> Post(FinishedCourseEditViewModel FinishedCourse) { ResultViewModel <FinishedCourseEditViewModel> result = new ResultViewModel <FinishedCourseEditViewModel>(); try { if (!ModelState.IsValid) { result.Message = "In Valid Model State"; } else { FinishedCourseEditViewModel selectedFinishedCourse = finishedCourseService.Add(FinishedCourse); result.Successed = true; result.Data = selectedFinishedCourse; } } catch (Exception ex) { result.Successed = false; result.Message = "Semething Went Wrong"; } return(result); }
public ResultViewModel <FinishedCourseEditViewModel> FinishCourse(int CourseID, int TrackID) { ResultViewModel <FinishedCourseEditViewModel> result = new ResultViewModel <FinishedCourseEditViewModel>(); try { string Token = Request.Headers.Authorization? .Parameter; Dictionary <string, string> cliams = SecurityHelper.Validate(Token); int UserID = int.Parse(cliams.First(i => i.Key == "ID").Value); UserTrack T = userTrackService.Get(UserID, TrackID); if (T != null) { int UserTrackID = T.ID; //Check If User Finshed Previous Courses var FinedCourses = finishedCourseService.Get(i => i.UserTrackID == UserTrackID).Select(i => i.course).ToList(); //html var TrackCourses = T.Track.Courses.Select(i => i.Course).ToList(); //html css js var lastFinshedCourse = FinedCourses.LastOrDefault(); //html var Course = courseService.GetByID(CourseID); //js if (TrackCourses.IndexOf(Course) == TrackCourses.IndexOf(lastFinshedCourse) + 1) { FinishedCourseEditViewModel F = finishedCourseService.Add(new FinishedCourseEditViewModel() { ID = 0, CourseID = CourseID, TrackID = TrackID, UserID = UserID, UserTrackID = UserTrackID }); result.Data = F; result.Successed = true; } else { result.Successed = false; result.Message = "User Not Finshed Prequest Courses"; } } } catch (Exception e) { result.Successed = false; result.Message = "Error"; } return(result); }