Пример #1
0
        public IHttpActionResult EditLightPoles([FromBody] params LightPoleInputDto[] datas) => Json(LightPoleService.TryCatchAction(
                                                                                                         action: m =>
        {
            datas.CheckNotNullOrEmpty("datas");
            var cacheUser = GetCacheUser;

            // 不管信息是否添加成功?都执行删除当前对象页的缓存
            ICache cache = CacheManager.GetCacher <LightPoleView>();
            cache.Clear();
            // --------------------------------------------
            return(m.EditLightPoles(cacheUser, datas));
        }));
Пример #2
0
        public IHttpActionResult DeleteLightPoles([FromBody] params Guid[] Ids) => Json(LightPoleService.TryCatchAction(
                                                                                            action: m =>
        {
            Ids.CheckNotNullOrEmpty("Ids");
            var cacheUser = GetCacheUser;

            // 不管信息是否添加成功?都执行删除当前对象页的缓存
            ICache cache = CacheManager.GetCacher <LightPoleView>();
            cache.Clear();
            // --------------------------------------------

            return(m.DeleteLightPoles(cacheUser, Ids));
        }));
Пример #3
0
        public IHttpActionResult GetLightPoles([FromBody] GridRequestsModel grid) => Json(LightPoleService.TryCatchAction(
                                                                                              action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;

            //查询条件
            GridRequests request = new GridRequests(grid);
            //添加默认排序,只有排序未设置的情况下生效
            request.AddDefaultSortCondition(new SortCondition("CreatedTime", ListSortDirection.Descending));

            var queryable1 = from a in m.LightPoleQueryable
                             join b in MyHostqueryable
                             on a.Host_Id equals b.Id
                             select new LightPoleView
            {
                Address            = a.Address,
                Id                 = a.Id,
                Host_Id            = a.Host_Id,
                CreatedTime        = a.CreatedTime,
                DataItemDetailName = a.DataItemDetailOne.FullName,
                DataItemDetail_Id  = a.DataItemDetail_Id,
                HostName           = a.HostOne.FullName,
                PoleName           = a.PoleName,
                PoleNum            = a.PoleNum,
                Remark             = a.Remark,
                OrganizeName       = a.HostOne.OrganizeOne.FullName,
                Organize_Id        = a.HostOne.Organize_Id,
                RegPacket          = b.RegPackage
            };
            if (cacheUser.IsAdministrator)
            {
                queryable1 = m.LightPoleQueryable.Select(a => new LightPoleView
                {
                    Address            = a.Address,
                    Id                 = a.Id,
                    Host_Id            = a.Host_Id,
                    CreatedTime        = a.CreatedTime,
                    DataItemDetailName = a.DataItemDetailOne.FullName,
                    DataItemDetail_Id  = a.DataItemDetail_Id,
                    HostName           = a.HostOne.FullName,
                    PoleName           = a.PoleName,
                    PoleNum            = a.PoleNum,
                    Remark             = a.Remark,
                    OrganizeName       = a.HostOne.OrganizeOne.FullName,
                    Organize_Id        = a.HostOne.Organize_Id,
                    RegPacket          = a.HostOne.RegPackage
                });
            }

            Expression <Func <LightPoleView, bool> > predicate = FilterHelper.GetExpression <LightPoleView>(request.FilterGroup);

            var data = queryable1.ToPageCache <LightPoleView, LightPolePageOutDto>(predicate, request.PageCondition);

            //缓存用户获取的主机列表主机,用于操作验证
            var cacheUserId = data.ListData.Select(b => b.Id);
            ICache iCache   = CacheManager.GetCacher("CachePoleId");
            iCache.Set(cacheUser.UserName.AESEncrypt128(), cacheUserId, TimeSpan.FromMinutes(30));
            //-------------------------------------------------------------------------------------

            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));