Beispiel #1
0
        public IHttpActionResult GetInformation([FromBody] GridRequestsModel grid) => Json(UserLoginService.TryCatchAction(
                                                                                               action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;     //获取缓存判断

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

            var queryable = from c in m.QueryableInfo
                            where c.UserLogin_Id == cacheUser.Id
                            select new InformationView {
                CreatedTime = c.CreatedTime,
                Id          = c.Id,
                IsReaded    = c.IsReaded,
                ObjectId    = c.ObjectId,
                TypeIndex   = c.DataItemDetailOne.Index,
                TypeName    = c.DataItemDetailOne.FullName
            };

            Expression <Func <InformationView, bool> > predicate = FilterHelper.GetExpression <InformationView>(request.FilterGroup);
            var data = queryable.ToPage <InformationView, InformationPageOut>(predicate, request.PageCondition);
            return(new OperationResult(OperationResultType.Success, "操作成功", data));
        }));
Beispiel #2
0
        public IHttpActionResult GetDataItems([FromBody] GridRequestsModel grid) => Json(DataItemService.TryCatchAction(
                                                                                             action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;    //获取缓存判断

            if (!cacheUser.Level.IsBetween(1, 2))
            {
                throw new Exception("id:你没有权限进行此项操作!");
            }

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

            // 查询所有公开的数据字典目录
            var queryable1 = m.DataItemQueryable.Where(a => a.IsPublic == true);
            // 系统管理员可以查询全部
            if (cacheUser.IsAdministrator)
            {
                queryable1 = m.DataItemQueryable;
            }

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

            var data = queryable1.ToPage <DataItem, DataItemPageOutDto>(predicate, request.PageCondition);
            return(new OperationResult(OperationResultType.Success, "操作成功", data));
        }));
Beispiel #3
0
        public IHttpActionResult GetHostGridData([FromBody] GridRequestsModel grid) => Json(HostService.TryCatchAction(action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;
            if (!cacheUser.Level.IsBetween(1, 2))
            {
                throw new Exception($"id:你的操作权限等级过低");
            }

            //查询条件
            GridRequests request = new GridRequests(grid);
            //添加默认排序,只有排序未设置的情况下生效
            request.AddDefaultSortCondition(new SortCondition("CreatedTime", ListSortDirection.Descending));
            //查询用户所管理的组织机构下的主机信息
            var queryable = MyHostqueryable;

            //如果超级管理员查询全部的主机信息
            if (cacheUser.IsAdministrator)
            {
                queryable = m.HostQueryable;
            }
            Expression <Func <Host, bool> > predicate = FilterHelper.GetExpression <Host>(request.FilterGroup);

            var data = queryable.ToPageCache <Host, HostPageOutDto>(predicate, request.PageCondition);

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

            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));
Beispiel #4
0
        public IHttpActionResult GetHostParameter([FromBody] GridRequestsModel grid) => Json(HostService.TryCatchAction(
                                                                                                 action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;    //获取缓存判断

            //查询条件
            GridRequests request = new GridRequests(grid);
            //添加默认排序,只有排序未设置的情况下生效
            request.AddDefaultSortCondition(new SortCondition("UpdateTime", ListSortDirection.Descending));
            //查询用户所管理的组织机构下的主机信息
            var queryable1 = MyHostqueryable;
            //如果超级管理员查询全部的主机信息
            if (cacheUser.IsAdministrator)
            {
                queryable1 = m.HostQueryable;
            }

            //查询管理主机关联的主机登陆参数
            var queryable2 = from c in m.HostParameterQueryable
                             join d in queryable1
                             on c.Host_Id equals d.Id
                             select c;

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

            var data = queryable2.ToPage <HostParameter, HostParameterPageOutDto>(predicate, request.PageCondition);
            return(new OperationResult(OperationResultType.Success, "操作成功", data));
        }));
Beispiel #5
0
        public IHttpActionResult GridData([FromBody] GridRequestsModel grid) => Json(UserLoginService.TryCatchAction(
                                                                                         action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;
            if (!cacheUser.Level.IsBetween(1, 2))
            {
                throw new Exception($"id:你的操作权限等级过低");
            }

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

            //获取查询集合
            IQueryable <UserPageView> queryable = (from n in m.IQUserLogins
                                                   join b in m.IQUsers
                                                   on n.Id equals b.UserLogin_Id
                                                   where n.IsAdministrator == false
                                                   select(new UserPageView
            {
                Id = n.Id,
                UserName = n.UserName,
                IsLocked = n.IsLocked,
                LockoutEnabled = n.LockoutEnabled,
                OrganizeName = n.OrganizeOne.FullName,
                NickName = b.NickName,
                RealName = b.RealName,
                Email = b.Email,
                PhoneNumber = b.PhoneNumber,
                CreatedTime = b.CreatedTime,
                Organize_Id = n.Organize_Id,
                LoginCount = n.LoginCount,
                IsAdministrator = n.IsAdministrator,
                Level = n.Level,
                PermissionList = n.PermissionList,
            })).AsQueryable();
            Expression <Func <UserPageView, bool> > predicate = FilterHelper.GetExpression <UserPageView>(request.FilterGroup);
            if (!cacheUser.IsAdministrator)
            {
                predicate = predicate.And(b => ListOrganizeId.Contains(b.Organize_Id));
            }

            var data = queryable.ToPageCache <UserPageView, UserPageOutDto>(predicate, request.PageCondition);

            //把用户获取的用户信息主键缓存起来,留待修改时校正
            var cacheUserId = data.ListData.Select(b => b.Id);
            ICache iCache   = CacheManager.GetCacher("CacheUserPageId");
            iCache.Set(cacheUser.UserName.AESEncrypt128(), cacheUserId, TimeSpan.FromMinutes(30));

            return(new OperationResult(OperationResultType.Success, "获取数据成功", data));
        }));
Beispiel #6
0
 public IHttpActionResult GetUpgradeTaskList([FromBody] GridRequestsModel grid) => Json(UpgradeService.TryCatchAction(
                                                                                            action: m =>
 {
     grid.CheckNotNull("grid");
     var cacheUser = GetCacheUser;
     //查询条件
     GridRequests request = new GridRequests(grid);
     //添加默认排序,只有排序未设置的情况下生效
     request.AddDefaultSortCondition(new SortCondition("CreatedTime", ListSortDirection.Descending));
     //获取查询集合
     Expression <Func <UpgradeLog, bool> > predicate = FilterHelper.GetExpression <UpgradeLog>(request.FilterGroup);
     var data = m.UpgradeLogQueryable.ToPage <UpgradeLog, UpgradeLogOutDto>(predicate, request.PageCondition);
     return(new OperationResult(OperationResultType.Success, "获取数据成功", data));
 }));
Beispiel #7
0
        public IHttpActionResult GetHostpolicyLogs([FromBody] GridRequestsModel grid) => Json(HostPolicyService.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.HostPolicyLogQueryable
                             join b in ListOrganizeId
                             on a.Organzie_Id equals b
                             select(new HostPolicyLogView
            {
                CreatedTime         = a.CreatedTime,
                DataItemDetailIndex = a.DataItemDetailOne.Index,
                DataItemDetailName  = a.DataItemDetailOne.FullName,
                HostName            = a.HostOne.FullName,
                HostRegPacket       = a.HostOne.RegPackage,
                HostPolicyName      = a.HostPolicyOne.FullName,
                HostPolicyNum       = a.HostPolicyOne.Number,
                Id           = a.Id,
                OrganizeName = a.OrganizeOne.FullName,
                UserName     = a.UserLoginOne.UserName
            });
            //如果超级管理员查询全部信息
            if (cacheUser.IsAdministrator)
            {
                queryable1 = m.HostPolicyLogQueryable.Select(a => new HostPolicyLogView
                {
                    CreatedTime         = a.CreatedTime,
                    DataItemDetailIndex = a.DataItemDetailOne.Index,
                    DataItemDetailName  = a.DataItemDetailOne.FullName,
                    HostName            = a.HostOne.FullName,
                    HostRegPacket       = a.HostOne.RegPackage,
                    HostPolicyName      = a.HostPolicyOne.FullName,
                    HostPolicyNum       = a.HostPolicyOne.Number,
                    Id           = a.Id,
                    OrganizeName = a.OrganizeOne.FullName,
                    UserName     = a.UserLoginOne.UserName
                });
            }

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

            var data = queryable1.ToPage <HostPolicyLogView, HostPolicyLogOutDto>(predicate, request.PageCondition);
            return(new OperationResult(OperationResultType.Success, "操作成功", data));
        }));
Beispiel #8
0
        public IHttpActionResult GetUserBlackLists([FromBody] GridRequestsModel grid) => Json(UserBlacklistService.TryCatchAction(
                                                                                                  action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;

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

            var queryable1 = m.UBLQueryable.Where(a => a.UserLogin_Id == cacheUser.Id)
                             .Select(b => new BlackListView
            {
                Id                  = b.Id,
                UserName            = b.UserLoginOne.UserName,
                DataItemDetailName  = b.DataItemDetailOne.FullName,
                DataItemDetailIndex = b.DataItemDetailOne.Index,
                BlackList           = b.BlackList,
                CreatedTime         = b.CreatedTime,
                FullName            = b.FullName
            });
            if (cacheUser.IsAdministrator)
            {
                queryable1 = m.UBLQueryable.Select(b => new BlackListView
                {
                    Id                  = b.Id,
                    UserName            = b.UserLoginOne.UserName,
                    DataItemDetailName  = b.DataItemDetailOne.FullName,
                    DataItemDetailIndex = b.DataItemDetailOne.Index,
                    BlackList           = b.BlackList,
                    CreatedTime         = b.CreatedTime,
                    FullName            = b.FullName
                });
            }

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

            var data = queryable1.ToPageCache <BlackListView, BlackListPageOutDto>(predicate, request.PageCondition);

            //把用户获取的信息主键缓存起来,留待修改时校正
            var cacheUserId = data.ListData.Select(b => b.Id);
            ICache iCache   = CacheManager.GetCacher("CacheUserBlackListPageId");
            iCache.Set(cacheUser.UserName.AESEncrypt128(), cacheUserId, TimeSpan.FromMinutes(30));

            return(new OperationResult(OperationResultType.Success, "获取数据成功", data));
        }));
Beispiel #9
0
        /// <summary>
        /// 初始化一个<see cref="GridRequests"/>类型的新实例
        /// </summary>
        public GridRequests(GridRequestsModel request)
        {
            string jsonWhere = request.FilterGroup;

            FilterGroup = !jsonWhere.IsNullOrEmpty() ? JsonHelper.FromJson <FilterGroup>(jsonWhere) : new FilterGroup();

            int pageIndex = request.PageIndex.CastTo(1);
            int pageSize  = request.PageSize.CastTo(25);

            PageCondition = new PageCondition(pageIndex, pageSize);
            string sortField = request.SortField;
            string sortOrder = request.SortOrder;

            if (!sortField.IsNullOrEmpty() && !sortOrder.IsNullOrEmpty())
            {
                string[] fields = sortField.Split(",", true);
                string[] orders = sortOrder.Split(",", true);
                if (fields.Length != orders.Length)
                {
                    throw new ArgumentException("查询列表的排序参数个数不一致。");
                }
                List <SortCondition> sortConditions = new List <SortCondition>();
                for (int i = 0; i < fields.Length; i++)
                {
                    ListSortDirection direction = orders[i].ToLower() == "desc"
                        ? ListSortDirection.Descending
                        : ListSortDirection.Ascending;
                    sortConditions.Add(new SortCondition(fields[i], direction));
                }
                PageCondition.SortConditions = sortConditions.ToArray();
            }
            else
            {
                PageCondition.SortConditions = new SortCondition[] { };
            }
        }
Beispiel #10
0
        public IHttpActionResult GetHostPolicys([FromBody] GridRequestsModel grid) => Json(HostPolicyService.TryCatchAction(
                                                                                               action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;     //获取缓存判断

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

            //查询用户所管理的组织机构下的主机信息
            var queryable1 = MyHostqueryable;
            //如果超级管理员查询全部信息
            if (cacheUser.IsAdministrator)
            {
                queryable1 = HostService.HostQueryable;
            }

            //查询管理主机关联的主机登陆参数
            var queryable2 = from c in m.HostPolicyQueryable
                             join d in queryable1
                             on c.Host_Id equals d.Id
                             select c;

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

            var data = queryable2.ToPageCache <HostPolicy, HostPolicyPageOutDto>(predicate, request.PageCondition);

            //缓存用户获取的主机列表主机,用于操作验证
            var cacheUserId = data.ListData.Select(b => b.Id);
            ICache iCache   = CacheManager.GetCacher("CacheHostPolicyId");
            iCache.Set(cacheUser.UserName.AESEncrypt128(), cacheUserId, TimeSpan.FromMinutes(30));
            //-------------------------------------------------------------------------------------
            return(new OperationResult(OperationResultType.Success, "操作成功", data));
        }));
Beispiel #11
0
        public IHttpActionResult GetSubReadTimeDatas([FromBody] GridRequestsModel grid) => Json(SubControlService.TryCatchAction(
                                                                                                    action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;

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

            var queryable1 = from a in m.SubAggregationQueryable
                             join b in ListOrganizeId
                             on a.Organzie_Id equals b
                             join c in m.SubControlQueryable
                             on a.SubControl_Id equals c.Id
                             join d in m.SubRealTimeDataQueryable
                             on c.Id equals d.SubControl_Id
                             select new SubReadTimeDataView
            {
                Brightness         = d.Brightness,
                SubControl_Id      = d.SubControl_Id,
                Id                 = d.Id,
                CreatedTime        = d.CreatedTime,
                Current            = d.Current,
                DataItemDetailName = d.DataItemDetailOne.FullName,
                FullName           = d.FullName,
                DataItemDetail_Id  = d.DataItemDetail_Id,
                DimmingPort        = d.DimmingPort,
                Frequency          = d.Frequency,
                Power              = d.Power,
                SubControlName     = d.SubControlOne.SubName,
                Temperature        = d.Temperature,
                UpdateTime         = d.UpdateTime,
                Voltage            = d.Voltage,
                RegPacket          = d.SubControlOne.LigthPoleOne.HostOne.RegPackage
            };


            if (cacheUser.IsAdministrator)
            {
                queryable1 = from d in m.SubRealTimeDataQueryable
                             select new SubReadTimeDataView
                {
                    Brightness         = d.Brightness,
                    SubControl_Id      = d.SubControl_Id,
                    Id                 = d.Id,
                    CreatedTime        = d.CreatedTime,
                    Current            = d.Current,
                    DataItemDetailName = d.DataItemDetailOne.FullName,
                    FullName           = d.FullName,
                    DataItemDetail_Id  = d.DataItemDetail_Id,
                    DimmingPort        = d.DimmingPort,
                    Frequency          = d.Frequency,
                    Power              = d.Power,
                    SubControlName     = d.SubControlOne.SubName,
                    Temperature        = d.Temperature,
                    UpdateTime         = d.UpdateTime,
                    Voltage            = d.Voltage,
                    RegPacket          = d.SubControlOne.LigthPoleOne.HostOne.RegPackage
                };
            }

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

            var data = queryable1.ToPageCache <SubReadTimeDataView, SRTDPageOutDto>(predicate, request.PageCondition);

            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));
Beispiel #12
0
        public IHttpActionResult GetSubControls([FromBody] GridRequestsModel grid) => Json(SubControlService.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 LightPoleService.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          = a.HostOne.RegPackage
            };

            var queryable2 = from s in m.SubControlQueryable
                             join l in queryable1
                             on s.LigthPoleOne_Id equals l.Id
                             select new SubControlView
            {
                Id = s.Id,
                DataItemDetail_Id  = s.DataItemDetail_Id,
                LigthPoleOne_Id    = s.LigthPoleOne_Id,
                CreatedTime        = s.CreatedTime,
                DataItemDetailName = s.DataItemDetailOne.FullName,
                LigthPoleOneName   = s.LigthPoleOne.PoleName,
                OrganizeName       = l.OrganizeName,
                Organize_Id        = l.Organize_Id,
                Remark             = s.Remark,
                SubName            = s.SubName,
                SubNum             = s.SubNum,
                UID       = s.UID,
                RegPacket = l.RegPacket,
                Latitude  = s.Latitude,
                Longitude = s.Longitude
            };
            if (cacheUser.IsAdministrator)
            {
                queryable2 = from a in m.SubControlQueryable
                             join b in LightPoleService.LightPoleQueryable
                             on a.LigthPoleOne_Id equals b.Id
                             select new SubControlView
                {
                    Id = a.Id,
                    DataItemDetail_Id  = a.DataItemDetail_Id,
                    LigthPoleOne_Id    = a.LigthPoleOne_Id,
                    CreatedTime        = a.CreatedTime,
                    DataItemDetailName = a.DataItemDetailOne.FullName,
                    LigthPoleOneName   = a.LigthPoleOne.PoleName,
                    OrganizeName       = b.HostOne.OrganizeOne.FullName,
                    Organize_Id        = b.HostOne.Organize_Id,
                    Remark             = a.Remark,
                    SubName            = a.SubName,
                    SubNum             = a.SubNum,
                    UID       = a.UID,
                    RegPacket = b.HostOne.RegPackage,
                    Latitude  = a.Latitude,
                    Longitude = a.Longitude
                };
            }

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

            var data = queryable2.ToPageCache <SubControlView, SubControlPageOutDto>(predicate, request.PageCondition);

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

            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));
Beispiel #13
0
        public IHttpActionResult GetLightPlans([FromBody] GridRequestsModel grid) => Json(LightPlanService.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.LightPlanQueryable
                             join b in MyHostqueryable
                             on a.Host_Id equals b.Id
                             select new LightPlanView
            {
                Id                 = a.Id,
                Host_Id            = a.Host_Id,
                CreatedTime        = a.CreatedTime,
                DataItemDetailName = a.DataItemDetailOne.FullName,
                DataItemDetail_Id  = a.DataItemDetail_Id,
                HostName           = a.HostOne.FullName,
                OrganizeName       = a.HostOne.OrganizeOne.FullName,
                Organize_Id        = a.HostOne.Organize_Id,
                AutoSwitch         = a.AutoSwitch,
                Brightness         = a.Brightness,
                CurrentBrightness  = a.CurrentBrightness,
                Enable             = a.Enable,
                GroupTexs          = a.GroupTexs,
                GroupSwitch        = a.GroupSwitch,
                IlluminationCurve  = a.IlluminationCurve,
                LoopState          = a.LoopState,
                MaxBrightness      = a.MaxBrightness,
                MaxLimit           = a.MaxLimit,
                MinBrightness      = a.MinBrightness,
                MinLimit           = a.MinLimit,
                ScaleFactor        = a.ScaleFactor,
                PlanID             = a.PlanID,
                TriggerTime        = a.TriggerTime,
                UpdatedTime        = a.UpdatedTime
            };
            if (cacheUser.IsAdministrator)
            {
                queryable1 = from a in m.LightPlanQueryable
                             join b in HostService.HostQueryable
                             on a.Host_Id equals b.Id
                             select new LightPlanView
                {
                    Id                 = a.Id,
                    Host_Id            = a.Host_Id,
                    CreatedTime        = a.CreatedTime,
                    DataItemDetailName = a.DataItemDetailOne.FullName,
                    DataItemDetail_Id  = a.DataItemDetail_Id,
                    HostName           = a.HostOne.FullName,
                    OrganizeName       = a.HostOne.OrganizeOne.FullName,
                    Organize_Id        = a.HostOne.Organize_Id,
                    AutoSwitch         = a.AutoSwitch,
                    Brightness         = a.Brightness,
                    CurrentBrightness  = a.CurrentBrightness,
                    Enable             = a.Enable,
                    GroupTexs          = a.GroupTexs,
                    GroupSwitch        = a.GroupSwitch,
                    IlluminationCurve  = a.IlluminationCurve,
                    LoopState          = a.LoopState,
                    MaxBrightness      = a.MaxBrightness,
                    MaxLimit           = a.MaxLimit,
                    MinBrightness      = a.MinBrightness,
                    MinLimit           = a.MinLimit,
                    ScaleFactor        = a.ScaleFactor,
                    PlanID             = a.PlanID,
                    TriggerTime        = a.TriggerTime,
                    UpdatedTime        = a.UpdatedTime
                };
            }

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

            var data = queryable1.ToPageCache <LightPlanView, LightPlanPageOutDto>(predicate, request.PageCondition);

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

            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));
Beispiel #14
0
        public IHttpActionResult GetRealTimeDataHosts([FromBody] GridRequestsModel grid) => Json(HostService.TryCatchAction(
                                                                                                     action: m =>
        {
            grid.CheckNotNull("grid");
            var cacheUser = GetCacheUser;
            if (!cacheUser.Level.IsBetween(1, 2))
            {
                throw new Exception($"id:你的操作权限等级过低");
            }

            //查询条件
            GridRequests request = new GridRequests(grid);
            //添加默认排序,只有排序未设置的情况下生效
            request.AddDefaultSortCondition(new SortCondition("UpdateTime", ListSortDirection.Descending));
            //查询用户所管理的组织机构下的主机信息
            var queryable = from a in m.HostRealTimeDataHostQueryable
                            join b in MyHostqueryable
                            on a.Host_Id equals b.Id
                            select new HostReadTimeDataView
            {
                Id          = a.Id,
                Host_Id     = a.Host_Id,
                Current     = a.Current,
                HostName    = a.HostOne.FullName,
                IsOnline    = a.IsOnline,
                Latitude    = a.Latitude,
                Longitude   = a.Longitude,
                LoopState   = a.LoopState,
                OranizeName = a.HostOne.OrganizeOne.FullName,
                Organize_Id = a.HostOne.Organize_Id,
                Power       = a.Power,
                Temperature = a.Temperature,
                UpdateTime  = a.UpdateTime,
                Voltage     = a.Voltage,
                TimeZone    = a.TimeZone,
            };

            //如果超级管理员查询全部的主机信息
            if (cacheUser.IsAdministrator)
            {
                queryable = from a in m.HostRealTimeDataHostQueryable
                            select new HostReadTimeDataView
                {
                    Id          = a.Id,
                    Host_Id     = a.Host_Id,
                    Current     = a.Current,
                    HostName    = a.HostOne.FullName,
                    IsOnline    = a.IsOnline,
                    Latitude    = a.Latitude,
                    Longitude   = a.Longitude,
                    LoopState   = a.LoopState,
                    OranizeName = a.HostOne.OrganizeOne.FullName,
                    Organize_Id = a.HostOne.Organize_Id,
                    Power       = a.Power,
                    Temperature = a.Temperature,
                    UpdateTime  = a.UpdateTime,
                    Voltage     = a.Voltage,
                    TimeZone    = a.TimeZone,
                };
            }

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

            var data = queryable.ToPage <HostReadTimeDataView, HTDPageOutDto>(predicate, request.PageCondition);
            return(new OperationResult(OperationResultType.Success, "获取数据成功!", data));
        }));
Beispiel #15
0
        public IHttpActionResult GetGroups([FromBody] GridRequestsModel grid) => Json(GroupControlService.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.GroupControlQueryable
                             join b in ListOrganizeId
                             on a.Organzie_Id equals b
                             select new GroupView
            {
                Id                 = a.Id,
                CreatedTime        = a.CreatedTime,
                DataItemDetailName = a.DataItemDetailOne.FullName,
                DataItemDetail_Id  = a.DataItemDetail_Id,
                OrganizeName       = a.OrganizeOne.FullName,
                Organize_Id        = a.Organzie_Id,
                GrounpName         = a.GrounpName,
                GrounpNum          = a.GrounpNum,
                GroupContent       = a.GroupContent,
                Remark             = a.Remark,
                UpdateTime         = a.UpdateTime,
                ObjectId           = a.ObjectId
            };
            if (cacheUser.IsAdministrator)
            {
                queryable1 = from a in m.GroupControlQueryable
                             select new GroupView
                {
                    Id                 = a.Id,
                    CreatedTime        = a.CreatedTime,
                    DataItemDetailName = a.DataItemDetailOne.FullName,
                    DataItemDetail_Id  = a.DataItemDetail_Id,
                    OrganizeName       = a.OrganizeOne.FullName,
                    Organize_Id        = a.Organzie_Id,
                    GrounpName         = a.GrounpName,
                    GrounpNum          = a.GrounpNum,
                    GroupContent       = a.GroupContent,
                    Remark             = a.Remark,
                    UpdateTime         = a.UpdateTime,
                    ObjectId           = a.ObjectId
                };
            }

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

            var data = queryable1.ToPageCache <GroupView, GroupPageOutDto>(predicate, request.PageCondition);

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

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