Exemple #1
0
        /// <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));
        }
Exemple #3
0
        /// <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);
        }