/// <summary> /// Prepare researcher search model /// </summary> /// <param name="searchModel">Researcher search model</param> /// <returns>Researcher search model</returns> public virtual ResearcherSearchModel PrepareResearcherSearchModel(ResearcherSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare available stores _baseAdminModelFactory.PrepareAgencies(searchModel.AvailableAgencies, true, "--รหัสหน่วยงาน--"); _baseAdminModelFactory.PreparePersonalTypes(searchModel.AvailablePersonTypes, true, "--รหัสประเภทบุคลากร--"); _baseAdminModelFactory.PrepareActiveStatuses(searchModel.AvailableActiveStatues, true, "--รหัสสถานะเข้าใช้งานระบบ--"); //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
public virtual IActionResult List(ResearcherSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageResearchers)) { return(AccessDeniedKendoGridJson()); } if (_workContext.CurrentUser.UserTypeId == 2) //Researchers Role will see only owner researcher information { searchModel.Email = _workContext.CurrentUser.Email; } //prepare model var model = _researcherModelFactory.PrepareResearcherListModel(searchModel); return(Json(model)); }
/// <summary> /// Prepare paged researcher list model /// </summary> /// <param name="searchModel">Researcher search model</param> /// <returns>Researcher list model</returns> public virtual ResearcherListModel PrepareResearcherListModel(ResearcherSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get researchers var researchers = _researcherService.GetAllResearchers(agency: searchModel.AgencyId, personalType: searchModel.PersonTypeId, firstName: searchModel.FirstName, lastName: searchModel.LastName, isCompleted: searchModel.IsCompleted, email: searchModel.Email); //prepare grid model var model = new ResearcherListModel { Data = researchers.PaginationByRequestModel(searchModel).Select(researcher => { //fill in model values from the entity var researcherModel = researcher.ToModel <ResearcherModel>(); //var user = _userService.GetUserByEmail(researcher.Email); //little performance optimization: ensure that "Body" is not returned researcherModel.ResearcherCode = researcher.ResearcherCode; researcherModel.FirstName = researcher.FirstName; researcherModel.LastName = researcher.LastName; researcherModel.PersonalTypeName = (int)researcher.PersonalType != 0 ? researcher.PersonalType.GetAttributeOfType <EnumMemberAttribute>().Value : string.Empty; researcherModel.AgencyName = researcher.Agency != null ? researcher.Agency.Name : string.Empty; researcherModel.IsCompleted = researcher.IsCompleted; return(researcherModel); }), Total = researchers.Count }; return(model); }