Beispiel #1
0
        /// <summary>
        /// 查询选中公司下的所有部门并分页显示
        /// </summary>
        /// <param name="corpIds"></param>
        /// <returns></returns>
        public WebFxsResult <string> GetCorpDepartment(GetCorpDepartmentRQ request)
        {
            var result = new WebFxsResult <string>
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = string.Empty
            };

            var pagingResult = repository.GetCorpDepartmentByPaging(request);

            result.Content    = "{\"total\": " + pagingResult.TotalCount + ",\"rows\":" + pagingResult.Entities.ToJson(dateTimeFormat: DateFormat.DATETIME) + "}";
            result.ReturnCode = ReturnCodeType.Success;

            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 获取选中公司下所有部门
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PagingResult <Department> GetCorpDepartmentByPaging(GetCorpDepartmentRQ request)
        {
            var result = new PagingResult <Department>();

            //分页查询
            //按公司id,sort排序
            var corpIds = request.CorpIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.ToInt()).ToList();

            DBHelper.NoLockInvokeDB(() =>
            {
                using (var db = new WebFrameworksDB())
                {
                    var query = db.Department.GroupJoin(db.Corporation, depart => depart.CorporationId, corp => corp.Id, (depart, corp) => new { depart, corp = corp.FirstOrDefault() })
                                .Where(p => corpIds.Contains(p.corp.Id))
                                .Select(p => p.depart);
                    result = query.OrderBy(p => p.CorporationId)
                             .ThenBy(p => p.Code)
                             .Paging(request.PageIndex, request.PageSize);
                }
            });

            return(result);
        }