public GeneralResponse <UpdatedLesson> AddLesson(LessonUpdateCheck checkUpdate) { var result = container.Resolve <GeneralResponse <UpdatedLesson> >(); if (checkUpdate.ClientTimeStamp == 0) { result.ResponseCode = HttpStatusCode.BadRequest; result.ResponseMessage = "Invaild Input."; result.Result = null; return(result); } int langId = _unitOfWork.Languages.GetLanguageId(x => x.LanguageName.ToUpper() == checkUpdate.Language.ToUpper()).Id; if (langId == 0) { result.ResponseCode = HttpStatusCode.BadRequest; result.ResponseMessage = "Invaild Input."; result.Result = null; } IList <Lesson> newLessons = _unitOfWork.Lessons.GetByCondition(x => x.AddTime > checkUpdate.ClientTimeStamp).ToList(); List <LessonUpdateDetails> newLessonsDetails = container.Resolve <List <LessonUpdateDetails> >(); foreach (var item in newLessons) { var newLessonDetails = LessonDetailsService.GetLessonDetails(_unitOfWork, item, langId); newLessonsDetails.Add(newLessonDetails); } var updatedResponse = container.Resolve <UpdatedLesson>(); updatedResponse.NewLesson = newLessonsDetails; updatedResponse.NewUpdatedTimeStamp = _unitOfWork.Lessons.MaxAddedTime(); result.ResponseCode = HttpStatusCode.OK; result.ResponseMessage = "Request input is okay."; result.Result = (IEnumerable <UpdatedLesson>)updatedResponse; return(result); }
public GeneralResponse <LessonUpdateStatus> CheckUpdate(LessonUpdateCheck check) { var result = container.Resolve <GeneralResponse <LessonUpdateStatus> >(); if (check.ClientTimeStamp == 0) { result.ResponseCode = HttpStatusCode.BadRequest; result.ResponseMessage = "Invaild Input."; result.Result = null; } int langId = _unitOfWork.Languages.GetLanguageId(x => x.LanguageName.ToUpper() == check.Language.ToUpper()).Id; int lastUpdate = _unitOfWork.Lessons.MaxAddedTime(); int lessonCount = _unitOfWork.Lessons.LessonCount(langId); var update = container.Resolve <LessonUpdateStatus>(); if (lastUpdate > check.ClientTimeStamp) { update.Update = 1; if (lessonCount > check.LessonCount) { update.UpdateCode = LessonUpdateENum.Add; update.UpdateStatus = "New lesson(s) have been added."; } else { update.UpdateCode = LessonUpdateENum.Update; update.UpdateStatus = "Existing lesson(s) have been updated."; } } result.ResponseCode = HttpStatusCode.OK; result.ResponseMessage = "Request input is okay."; result.Result = (IEnumerable <LessonUpdateStatus>)update; return(result); }