/// <summary>
        /// 获取
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public ActionResult Query(QuerySystemStaffRequestModel requestModel)
        {
            var res = _systemStaffService.Query(requestModel);

            return(Content(res.ToJsonString()));
        }
Example #2
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public BusinessPagedBaseViewModel <QuerySystemStaffResponseModel> Query(QuerySystemStaffRequestModel requestModel)
        {
            var res = new BusinessPagedBaseViewModel <QuerySystemStaffResponseModel>()
            {
                Status = ResponseStatus.Fail
            };

            var filter = PredicateBuilder.True <SystemStaff>();

            filter = filter.And(x => x.Status != (int)SystemStaffStatus.Del);

            if (!requestModel.KeyWord.IsNullOrWhiteSpace())
            {
                filter = filter.And(x => x.LoginName.Contains(requestModel.KeyWord) || x.NickName.Contains(requestModel.KeyWord) ||
                                    x.Mobile.Contains(requestModel.KeyWord));
            }

            var order = new IOrderByBuilder <SystemStaff>[]
            {
                new OrderByBuilder <SystemStaff, DateTime?>(x => x.CreateTime, true),
            };

            var query = _staffRepostory.Find(out int totalCount, requestModel.PageIndex, requestModel.PageSize, filter, order);

            if (query.Any())
            {
                var viewModel = query.MapToList <QuerySystemStaffResponseModel>();

                //获取部门名称
                var sectionIds  = viewModel.Select(x => x.SectionId).ToList();
                var sectionList = _systemSectionRepository.Find(x => sectionIds.Contains(x.Id.ToString()));

                if (sectionList.Any())
                {
                    viewModel.ForEach(m =>
                    {
                        var section = sectionList.Where(x => m.SectionId == x.Id + "").Select(x => x.Name).ToList();

                        if (!section.IsNull())
                        {
                            m.SectionName = string.Join(",", section);
                        }
                    });
                }

                //获取角色名称
                var StaffIds = viewModel.Select(x => x.Id);

                var roleList = _systemRoleService.FindStaffRoleNameByStaffId(StaffIds);

                if (roleList.Any())
                {
                    viewModel.ForEach(m =>
                    {
                        var role = roleList.Where(x => m.Id == x.StaffId).Select(x => x.RoleName).ToList();

                        if (!role.IsNull())
                        {
                            m.RoleName = string.Join(",", role);
                        }
                    });
                }

                res.BusinessData = viewModel;
            }

            res.Total  = totalCount;
            res.Status = ResponseStatus.Success;

            return(res);
        }