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);
        }