public ProjectProgressListModel PrepareProjectProgressListModel(ProjectProgressSearchModel searchModel, Project project) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (project == null) { throw new ArgumentNullException(nameof(project)); } //get researcher educations //chai //var researcherEducations = researcher.ResearcherEducations.OrderByDescending(edu => edu.Degree).ToList(); var projectProgresses = _projectService.GetAllProjectProgresses(project.Id).ToList(); //prepare list model var model = new ProjectProgressListModel { Data = projectProgresses.PaginationByRequestModel(searchModel).Select(x => { //fill in model values from the entity string guid = x.ProjectUploadId != 0 ? _downloadService.GetDownloadById(x.ProjectUploadId.Value).DownloadGuid.ToString() : string.Empty; var projectProfessorModel = new ProjectProgressModel { Id = x.Id, ProjectId = x.ProjectId, Comment = x.Comment, LastUpdateBy = x.LastUpdateBy, ModifiedName = CommonHelper.ConvertToThaiDate(x.Modified), ProgressStartDateName = CommonHelper.ConvertToThaiDate(x.ProgressStartDate), ProgressEndDateName = CommonHelper.ConvertToThaiDate(x.ProgressEndDate), ProgressStatusName = x.ProgressStatus.GetAttributeOfType <EnumMemberAttribute>().Value, DownloadGuid = guid, }; return(projectProfessorModel); }), Total = projectProgresses.Count }; return(model); }