public ProjectProgressSearchModel PrepareProjectProgressSearchModel(ProjectProgressSearchModel searchModel, Project project)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (project == null)
            {
                throw new ArgumentNullException(nameof(project));
            }

            searchModel.ProjectId = project.Id;
            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
        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);
        }
예제 #3
0
        public virtual IActionResult ProjectProgressesSelect(ProjectProgressSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProjects))
            {
                return(AccessDeniedView());
            }

            //try to get a project with the specified id
            var project = _projectService.GetProjectById(searchModel.ProjectId);

            //?? throw new ArgumentException("No project found with the specified id");

            //prepare model
            if (project != null)
            {
                var model = _projectModelFactory.PrepareProjectProgressListModel(searchModel, project);

                return(Json(model));
            }
            else
            {
                return(Json(new ProjectProgressListModel()));
            }
        }