Ejemplo n.º 1
0
        public RespondWebViewData <List <RespondQueryDepartmentViewModel> > GetQueryDepartmentList(RequestWebViewData <RequestQueryDepartmentViewModel> request)
        {
            if (request.data == null)
            {
                request.data = new RequestQueryDepartmentViewModel();
            }
            return(MemcacheHelper.Get(new RequestMemcacheParameter <RespondWebViewData <List <RespondQueryDepartmentViewModel> > >
            {
                CacheKey = string.Format(PRE_CACHE_KEY, "GetQueryDepartmentList"),

                #region =================
                CallBackFunc = () =>
                {
                    var parameter = new QueryDepartmentListParameter
                    {
                        Deleted = request.data.Deleted,
                        SerialNumber = request.data.SerialNumber,
                        Name = request.data.Name,
                        PageIndex = request.page,
                        PageSize = request.rows,
                        Status = request.data.Status,
                        ParentId = request.data.ParentId,
                        Spelling = request.data.Spelling
                    };
                    var pageDataList = this.mDepartmentDataAccess.GetQueryDepartmentList(parameter);
                    var respond = new RespondWebViewData <List <RespondQueryDepartmentViewModel> >
                    {
                        total = pageDataList.DataCount,
                        rows = pageDataList.Datas.Select(item => new RespondQueryDepartmentViewModel
                        {
                            ChildNumber = item.childnumber,
                            ClassId = item.classid,
                            ChildCount = item.childcount,
                            Comment = item.comment,
                            Deleted = item.deleted,
                            DepId = item.depid,
                            Name = item.name,
                            ParentId = item.parentid,
                            SerialNumber = item.serialnumber,
                            Sort = item.sort.ToString(),
                            Spelling = item.pinyin,
                            Status = item.status
                        }).ToList()
                    };
                    return respond;
                },

                #endregion

                ExpiresAt = DateTime.Now.AddMinutes(30),
                ManageCacheKeyForKey = ServiceMemcachedKeyManageConst.BasicDepartment,
                ParamsKeys = new object[]
                {
                    request.data.Deleted,
                    request.data.SerialNumber,
                    request.data.Name,
                    request.page,
                    request.rows,
                    request.data.Status,
                    request.data.ParentId
                }
            }));
        }