コード例 #1
0
 public static void DeleteGroupItem(GroupItem GroupItem)
 {
     BackOffice.Models.ODataClient.Default.Container container = new BackOffice.Models.ODataClient.Default.Container(new Uri(Serviceurl));
       container.AttachTo("GroupItems", GroupItem);
       container.DeleteObject(GroupItem);
       var serviceResponse = container.SaveChanges();
 }
コード例 #2
0
 private TreeNode CreateNode(GroupItem item)
 {
   TreeNode node = new TreeNode(item.DisplayName);
   node.Name = item.DisplayName;
   node.Checked = Mode == ShowModeEnum.Preview ? item.DefaulChecked : item.Checked;
   node.Tag = item;
   return node;
 }
コード例 #3
0
ファイル: GroupList.cs プロジェクト: Ktullhu/DataAdmin
 public void AddItem(string text, int depth, GroupState state, DateTime datetime, string count, List<string> symbols, List<SessionModel> sessions, bool isAutoCollect)
 {
     var ind = panelEx_container.Controls.Count;
     var cntrl = new GroupItem(text, ind, depth, state, datetime, count, isAutoCollect);
     cntrl.ItemSelectedChanged += cntrl_ItemSelectedChanged;
     cntrl.ItemEditGroupClick += cntrl_ItemEditGroupClick;
     panelEx_container.Controls.Add(cntrl);
     //if(SelectedItem==-1) SelectFirstItem();
     cntrl.Symbols = symbols;
     cntrl.Sessions = sessions;
 }
コード例 #4
0
 public ActionResult Delete(int id, GroupItem GroupItem)
 {
     try
     {
         // TODO: Add delete logic here
         GroupItemRepository.DeleteGroupItem(GroupItem);
         return RedirectToAction("Index");
     }
     catch
     {
         return View();
     }
 }
コード例 #5
0
ファイル: SearchForm.cs プロジェクト: JamesTryand/alchemi
 private void SetData(ConsoleNode console, SearchMode mode)
 {
     try
     {
         lvMembers.Items.Clear();
         if (mode == SearchMode.User)
         {
             lbMembers.Text = "&Users:";
             this.Text = "Users";
             UserStorageView[] users = console.Manager.Admon_GetUserList(console.Credentials);
             foreach (UserStorageView user in users)
             {
                 UserItem ui = new UserItem(user.Username);
                 ui.ImageIndex = 3;
                 ui.User = user;
                 lvMembers.Items.Add(ui);
             }
         }
         else if (mode == SearchMode.Group)
         {
             lbMembers.Text = "&Groups:";
             this.Text = "Groups";
             GroupStorageView[] groups = console.Manager.Admon_GetGroups(console.Credentials);
             foreach (GroupStorageView group in groups)
             {
                 GroupItem gi = new GroupItem(group.GroupName);
                 gi.ImageIndex = 2;
                 gi.GroupView = group;
                 lvMembers.Items.Add(gi);
             }
         }
         else if (mode == SearchMode.Permission)
         {
             lbMembers.Text = "&Permissions:";
             this.Text = "Permissions";
             PermissionStorageView[] permissions = console.Manager.Admon_GetPermissions(console.Credentials);
             foreach (PermissionStorageView permission in permissions)
             {
                 PermissionItem prm = new PermissionItem(permission.PermissionName);
                 prm.ImageIndex = 12;
                 prm.Permission = new PermissionStorageView(permission.PermissionId, permission.PermissionName);
                 lvMembers.Items.Add(prm);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error filling search list:" + ex.Message, "Search Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #6
0
        public static void EditGroupItem(GroupItem GroupItem)
        {
            DataServiceResponse serviceResponse = null;
              try
              {
              BackOffice.Models.ODataClient.Default.Container container = new BackOffice.Models.ODataClient.Default.Container(new Uri(Serviceurl));

              container.AttachTo("GroupItems", GroupItem);
              container.UpdateObject(GroupItem);
                serviceResponse = container.SaveChanges();
              }
              catch (DataServiceRequestException exp)
              {

              }
        }
コード例 #7
0
        public static void AddGroupItem(GroupItem GroupItem)
        {
            DataServiceResponse serviceResponse = null;
              try
              {

            BackOffice.Models.ODataClient.Default.Container container = new BackOffice.Models.ODataClient.Default.Container(new Uri(Serviceurl));

              container.AddToGroupItems(GroupItem);
              serviceResponse = container.SaveChanges();
              }
              catch (DataServiceRequestException exp)
              {

              }
        }
コード例 #8
0
        public ActionResult Create(GroupItem GroupItem)
        {
            try
            {
                // TODO: Add insert logic here

                GroupItemRepository.AddGroupItem(GroupItem);
                return RedirectToAction("Index");
            }
            catch
            {
                ViewBag.ActiveEntities = CreateAllActiveEntities(GroupItem.OptionSetEntityId.Value);
                ViewBag.AllGroups = CreateActiveGroups(GroupItem.GroupId.Value);
                ViewBag.AllTypes = CreateActiveGroupItemTypes(GroupItem.GroupItemTypeId);
                return View();
            }
        }
コード例 #9
0
ファイル: MongodbServer_Group.cs プロジェクト: yhhno/Adhesive
        public List<Group> GetGroupData(string databasePrefix, List<string> tableNames, DateTime beginTime, DateTime endTime, Dictionary<string, object> filters)
        {
            try
            {
                var data = new ConcurrentBag<Group>();
                var typeFullName = MongodbServerMaintainceCenter.GetTypeFullName(databasePrefix);
                var columnDescriptions = MongodbServerMaintainceCenter.GetMongodbColumnDescriptions(databasePrefix);
                var groupColumnDescriptions = columnDescriptions.Where(cd => cd.MongodbFilterOption == MongodbFilterOption.DropDownListFilter
                    || cd.MongodbFilterOption == MongodbFilterOption.CheckBoxListFilter || cd.MongodbCascadeFilterOption != MongodbCascadeFilterOption.None).ToList();

                var statTimeColumn = columnDescriptions.FirstOrDefault(c => c.IsTimeColumn);
                if (statTimeColumn == null) return data.ToList();
                var query = Query.LT(statTimeColumn.ColumnName, endTime).GTE(beginTime);


                Parallel.ForEach(tableNames, tableName =>
                {
                    var item = new Group();
                    item.GroupItems = new List<GroupItem>();
                    item.TableName = tableName;
                    groupColumnDescriptions.AsParallel().ForAll(groupColumnDescription =>
                    {
                        var groupItem = new GroupItem
                        {
                            Description = groupColumnDescription.Description,
                            DisplayName = groupColumnDescription.DisplayName,
                            Name = groupColumnDescription.ColumnName,
                            Values = new Dictionary<GroupItemValuePair, int>(),
                        };

                        groupItem.Values = InternalGetGroupData(typeFullName, databasePrefix, beginTime, endTime, tableName, query, groupColumnDescription.ColumnName, filters);
                        lock (item.GroupItems)
                            item.GroupItems.Add(groupItem);

                    });
                    data.Add(item);
                });
                return data.ToList();
            }
            catch (Exception ex)
            {
                LocalLoggingService.Error("{0} {1} {2} {3}", MongodbServerConfiguration.ModuleName, "MongodbServer_Group", "GetGroupData", ex.Message);
                throw;
            }
        }
コード例 #10
0
ファイル: ComDaClient.cs プロジェクト: yuriik83/UA-.NET
        /// <summary>
        /// Writes the item values to servers.
        /// </summary>
        /// <param name="requests">The requests.</param>
        private void WriteItemValues(List<WriteRequest> requests)
        {
            ComDaGroup group = new ComDaGroup(this, false);

            try
            {
                int count1 = 0;
                GroupItem[] items = new GroupItem[requests.Count];
                WriteRequest[] addItemRequests = new WriteRequest[requests.Count];

                // create the items in the temporary group.
                for (int ii = 0; ii < requests.Count; ii++)
                {
                    WriteRequest request = requests[ii];

                    if (request == null)
                    {
                        continue;
                    }

                    // status code writes not supported.
                    if (request.Value.StatusCode != StatusCodes.Good)
                    {
                        request.Error = ResultIds.E_NOTSUPPORTED;
                        continue;
                    }

                    // timestamp writes not supported.
                    if (request.Value.SourceTimestamp != DateTime.MinValue)
                    {
                        request.Error = ResultIds.E_NOTSUPPORTED;
                        continue;
                    }

                    // add the item.
                    items[count1] = group.CreateItem(request.ItemId, 0, 0, true);
                    addItemRequests[count1] = request;
                    count1++;
                }

                // create the items on the server.
                group.ApplyChanges();

                // build the list of values to write.
                int count2 = 0;
                int[] serverHandles = new int[count1];
                object[] values = new object[count1];
                WriteRequest[] writeRequests = new WriteRequest[count1];

                for (int ii = 0; ii < count1; ii++)
                {
                    // check for error on create.
                    GroupItem item = items[ii];
                    WriteRequest request = addItemRequests[ii];

                    if (item.ErrorId < 0)
                    {
                        request.Error = item.ErrorId;
                        continue;
                    }

                    serverHandles[count2] = item.ServerHandle;
                    values[count2] = ComUtils.GetVARIANT(request.Value.Value);
                    writeRequests[count2] = request;
                    count2++;
                }

                // write values to the server.
                int[] errors = group.SyncWrite(serverHandles, values, count2);

                // read the errors.
                for (int ii = 0; ii < count2; ii++)
                {
                    writeRequests[ii].Error = errors[ii];
                }
            }
            finally
            {
                // delete the group and items.
                group.Delete();
            }
        }
コード例 #11
0
ファイル: RoleSO.cs プロジェクト: dudelis/K2NEServiceBroker
        private void AddRoleItem()
        {
            ServiceObject serviceObject = this.ServiceBroker.Service.ServiceObjects[0];
            serviceObject.Properties.InitResultTable();

            UserRoleManager urmServer = new UserRoleManager();
            using (urmServer.CreateConnection())
            {
                urmServer.Connection.Open(base.BaseAPIConnectionString);
                Role role = urmServer.GetRole(base.GetStringProperty(Constants.SOProperties.Role.RoleName,true));
                if (role == null)
                {
                    throw new ApplicationException(Constants.ErrorMessages.RoleNotExists);
                }
                string roleItemName = base.GetStringProperty(Constants.SOProperties.Role.RoleItem, true);
                string roleItemType = base.GetStringProperty(Constants.SOProperties.Role.RoleItemType, true);
                bool exclude = base.GetBoolProperty(Constants.SOProperties.Role.RoleExclude);
                switch (roleItemType.ToUpper())
                {
                    case "GROUP":
                        GroupItem gi = new GroupItem(roleItemName);
                        if (exclude)
                            role.Exclude.Add(gi);
                        else
                            role.Include.Add(gi);
                        break;
                    case "USER":
                        UserItem ui = new UserItem(roleItemName);
                        if (exclude)
                            role.Exclude.Add(ui);
                        else
                            role.Include.Add(ui);
                        break;
                    default:
                        throw new ApplicationException(string.Format(Constants.ErrorMessages.RoleTypeNotSupported, roleItemType));
                    //break;
                }
                urmServer.UpdateRole(role);
            }
        }
コード例 #12
0
ファイル: RoleSO.cs プロジェクト: dudelis/K2NEServiceBroker
        private void AddRole()
        {
            base.ServiceBroker.Service.ServiceObjects[0].Properties.InitResultTable();
            DataTable results = base.ServiceBroker.ServicePackage.ResultTable;
            Role role = new Role();
            UserRoleManager urmServer = new UserRoleManager();
            using (urmServer.CreateConnection())
            {
                urmServer.Connection.Open(base.BaseAPIConnectionString);

                role.Name = base.GetStringProperty(Constants.SOProperties.Role.RoleName, true);
                role.Description = base.GetStringProperty(Constants.SOProperties.Role.RoleDescription);;
                role.IsDynamic = base.GetBoolProperty(Constants.SOProperties.Role.RoleDynamic);

                // At least one roleItem has to be created with the new group
                string roleItemName = base.GetStringProperty(Constants.SOProperties.Role.RoleItem, true);
                string roleItemType = base.GetStringProperty(Constants.SOProperties.Role.RoleItemType, true);
                switch (roleItemType.ToUpper())
                {
                    case "GROUP":
                        GroupItem gi = new GroupItem(roleItemName);
                        role.Include.Add(gi);
                        break;
                    case "USER":
                        UserItem ui = new UserItem(roleItemName);
                        role.Include.Add(ui);
                        break;
                    default:
                        throw new ApplicationException(string.Format(Constants.ErrorMessages.RoleTypeNotSupported, roleItemType));
                    //break;
                }
                urmServer.CreateRole(role);
                urmServer.Connection.Close();
            }
        }
コード例 #13
0
 public MoveGroupDirectoryAction(GroupItem group, string baseDirectory)
 {
     _group = group;
     _baseDirectory = baseDirectory;
 }
コード例 #14
0
        protected void btnCreateGroup_Click(object sender, EventArgs e)
        {
            //add to Group table
            GroupLINQ g = new GroupLINQ();
            g.Name = txtCreateGroupName.Text;
            g.ReservationId = Convert.ToInt32(ddlCreateReservation.SelectedValue);
            g.Status = "Joined";
            g.JoinedDate = DateTime.Now;
            g.HasBreakage = false;
            g.CreatedBy = Guid.Parse(Membership.GetUser().ProviderUserKey.ToString());
            g.IsReturned = false;

            db.GroupLINQs.InsertOnSubmit(g);
            db.SubmitChanges();

            int groupId = g.Id;
            int reservationId = Convert.ToInt32(g.ReservationId);

            foreach (GridViewRow row in gvCreateMembers.Rows)
            {
                if (row.RowType == DataControlRowType.DataRow)
                {
                    //chk if checked
                    if (((CheckBox)row.FindControl("chkRow")).Checked == true)
                    {
                        string rowId = ((Label)row.FindControl("lblUserId")).Text;
                        Guid userId = Guid.Parse(rowId);

                        var user = (from a in db.AccountLINQs
                                    where a.UserId == userId
                                    select a).FirstOrDefault();

                        //add to GroupMember
                        GroupMember gm = new GroupMember();
                        gm.GroupId = groupId;
                        gm.UserId = user.UserId;

                        db.GroupMembers.InsertOnSubmit(gm);
                        db.SubmitChanges();
                    }
                }
            }
           
            var reservationItems = (from ri in db.ReservationItems
                                    where ri.ReservationId == reservationId
                                    select ri).ToList();

            foreach(var resItem in reservationItems)
            {
                GroupItem gi = new GroupItem();
                gi.GroupId = groupId;
                gi.InventoryId = resItem.InventoryId;
                gi.BorrowedQuantity = resItem.QuantityByGroup;
                gi.Breakage = 0;
                gi.HasBreakage = false;
                gi.ReturnedQuantity = 0;
                
                db.GroupItems.InsertOnSubmit(gi);
                db.SubmitChanges();
            }

            this.gvTeam.DataBind();
            Javascript.HideModal(this, this, "createModal");
        }
コード例 #15
0
        /// <summary>
        /// 批量写变量
        /// </summary>
        /// <param name="aItem">变量表映射</param>
        /// <returns>是否写成功</returns>
        public bool WriteItems(ref GroupItem aItem)
        {
            //要写的变量名
            List<string> ListNames = new List<string>();

            //对应变量的值
            List<object> ListValues = new List<object>();

            //收集可写的值
            foreach (OPCItemClass item in aItem.Item)
            {
                ListNames.Add(item.ItemName);
                ListValues.Add(item.Value);
            }

            //变量名数
            if (ListNames.Count != 0)
            {
                //类型转换
                string[] strTargetNameTmp = ListNames.ToArray();
                object[] strTargetValueTmp = ListValues.ToArray();

                //写变量
                return OPCObject.WriteValues(ref strTargetNameTmp, ref strTargetValueTmp, aItem.GroupName);
            }

            //未写数据
            return false;
        }
コード例 #16
0
 public ModifyIsFavoriteAction(GroupItem group)
 {
     _groupItem = group;
 }
コード例 #17
0
 public ModifyIsCompleteAction(GroupItem group)
 {
     _group = group;
 }
コード例 #18
0
ファイル: UserProperties.cs プロジェクト: JamesTryand/alchemi
        private void GetGroupMembershipData()
        {
            try
            {
                lvGrp.Items.Clear();
                //get the group this user belongs to.
                GroupStorageView groupStorageView = console.Manager.Admon_GetGroup(console.Credentials, _User.GroupId);

                if (groupStorageView != null)
                {
                    GroupItem grpItem = new GroupItem(groupStorageView.GroupName);
                    grpItem.GroupView = groupStorageView;
                    grpItem.ImageIndex = 2;
                    lvGrp.Items.Add(grpItem);
                }
            }
            catch (Exception ex)
            {
                if (ex is AuthorizationException)
                {
                    MessageBox.Show("Access denied. You do not have adequate permissions for this operation.", "Authorization Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show("Could not get user-group membership details. Error: " + ex.Message, "Console Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
コード例 #19
0
 /// <summary>
 /// 初始化
 /// </summary>
 /// <param name="aItem"></param>
 public void Init(ref GroupItem[] aGroupItem)
 {
     //变量组
     fGroupItem = aGroupItem;
 }
        private void AddRole()
        {
            ServiceObject serviceObject = this.Service.ServiceObjects[0];
            serviceObject.Properties.InitResultTable();

            Role role = new Role();
            UserRoleManager urmServer = new UserRoleManager();

            using (urmServer.CreateConnection())
            {
                urmServer.Connection.Open(WFMServerConnectionString);

                string roleName = serviceObject.Properties[Constants.Properties.RoleName].Value as string;
                string roleDescription = serviceObject.Properties[Constants.Properties.RoleDescription].Value as string;
                bool roleIsDynamic = Convert.ToBoolean(serviceObject.Properties[Constants.Properties.RoleDynamic].Value as string);

                role.Name = roleName;
                role.Description = roleDescription;
                role.IsDynamic = roleIsDynamic;

                // At least one roleItem has to be created with the new group
                string roleItemName = serviceObject.Properties[Constants.Properties.RoleItem].Value as string;
                string roleItemType = serviceObject.Properties[Constants.Properties.RoleItemType].Value as string;

                switch (roleItemType)
                {
                    case Constants.RoleItemType.Group:
                        GroupItem gi = new GroupItem(roleItemName);
                        role.Include.Add(gi);
                        break;
                    case Constants.RoleItemType.User:
                        UserItem ui = new UserItem(roleItemName);
                        role.Include.Add(ui);
                        break;
                    default:
                        throw new ApplicationException(string.Format(Constants.ErrorText.RoleTypeNotSupported, roleItemType));
                    //break;
                }

                urmServer.CreateRole(role);
                urmServer.Connection.Close();
            }
        }
        private void AddRoleItem()
        {
            ServiceObject serviceObject = this.Service.ServiceObjects[0];
            serviceObject.Properties.InitResultTable();

            UserRoleManager urmServer = new UserRoleManager();
            using (urmServer.CreateConnection())
            {
                urmServer.Connection.Open(WFMServerConnectionString);
                Role role = urmServer.GetRole(serviceObject.Properties[Constants.Properties.RoleName].Value as string);
                if (role == null)
                {
                    throw new ApplicationException(Constants.ErrorText.RoleNotExist);
                }
                string roleItemName = serviceObject.Properties[Constants.Properties.RoleItem].Value as string;
                string roleItemType = serviceObject.Properties[Constants.Properties.RoleItemType].Value as string;
                bool exclude = Convert.ToBoolean(serviceObject.Properties[Constants.Properties.RoleExclude].Value as string);

                switch (roleItemType)
                {
                    case Constants.RoleItemType.Group:
                        GroupItem gi = new GroupItem(roleItemName);
                        if (exclude)
                            role.Exclude.Add(gi);
                        else 
                            role.Include.Add(gi);
                        break;
                    case Constants.RoleItemType.User:
                        UserItem ui = new UserItem(roleItemName);
                        if (exclude)
                            role.Exclude.Add(ui);
                        else 
                            role.Include.Add(ui);
                        break;
 
                    default:
                        throw new ApplicationException(string.Format(Constants.ErrorText.RoleTypeNotSupported, roleItemType));
                        //break;
                }

                urmServer.UpdateRole(role);
            }
        }
コード例 #22
0
ファイル: ComDaClient.cs プロジェクト: yuriik83/UA-.NET
        /// <summary>
        /// Reads the item values and stores the results in the request object.
        /// </summary>
        /// <param name="requests">The requests.</param>
        public void ReadItemValues(List<ReadRequest> requests)
        {
            ComDaGroup group = new ComDaGroup(this, false);

            try
            {
                int count1 = 0;
                GroupItem[] items = new GroupItem[requests.Count];
                ReadRequest[] addItemRequests = new ReadRequest[requests.Count];

                // create the items in the temporary group.
                for (int ii = 0; ii < requests.Count; ii++)
                {
                    ReadRequest request = requests[ii];

                    if (request == null)
                    {
                        continue;
                    }

                    if (!request.ValueRequired)
                    {
                        continue;
                    }

                    // add the item.
                    items[count1] = group.CreateItem(request.ItemId, 0, 0, true);
                    addItemRequests[count1] = request;
                    count1++;
                }

                // create the items on the server.
                group.ApplyChanges();

                // build the list of values to write.
                int count2 = 0;
                int[] serverHandles = new int[count1];
                ReadRequest[] readRequests = new ReadRequest[count1];

                for (int ii = 0; ii < count1; ii++)
                {
                    // check for error on create.
                    GroupItem item = items[ii];
                    ReadRequest request = addItemRequests[ii];

                    if (item.ErrorId < 0)
                    {
                        request.Value.Error = item.ErrorId;
                        continue;
                    }

                    serverHandles[count2] = item.ServerHandle;
                    readRequests[count2] = request;
                    count2++;
                }

                // write values to the server.
                DaValue[] values = group.SyncRead(serverHandles, count2);

                // read the values.
                for (int ii = 0; ii < count2; ii++)
                {
                    readRequests[ii].Value = values[ii];
                }
            }
            finally
            {
                // delete the group and items.
                group.Delete();
            }
        }
コード例 #23
0
ファイル: OPCClass.cs プロジェクト: MrHKing/CLASS
        /// <summary>
        /// 批量读OPC变量
        /// </summary>
        /// <param name="aItems">变量表</param>
        /// <param name="aOPCGroup">变量组</param>
        /// <returns></returns>
        public bool ReadValues(ref GroupItem aItems)
        {
            //判断是否连接OPC服务
            if (!IsConnected()) return false;

            //变量值
            List<decimal> listValues = new List<decimal>();

            //获得新的要读的变量表
            string[] strItemTemp = aItems.StrItem.ToArray();

            //是否已经存在此组
            bool bolIsThere = false;

            //变量List
            OPCItemList opcItemListTemp = new OPCItemList();

            //判读是否已经存在此组
            foreach (OPCItemList itemList in fOPCItemList)
            {
                if (itemList.OPCGroupInfo.Name == aItems.GroupName)
                {
                    opcItemListTemp = itemList;
                    bolIsThere = true;
                }
            }

            //判断是否存在该组
            if (!bolIsThere) return false;

            //获得需要读的变量
            var varNeedReadItems = from varNeedItem in opcItemListTemp.ListOPCItemList
                                   where strItemTemp.Contains(varNeedItem.ItemID)
                                   select varNeedItem;
            OPCItem[] opcNeedReadIems = varNeedReadItems.ToArray();

            //读变量
            for (int i = 0; i < opcNeedReadIems.Length; i++)
            {
                if (opcNeedReadIems[i].ItemID == aItems.StrItem[i])
                {
                    //变量值
                    object objValue;

                    //变量状态
                    object objQuality;

                    //变量更新时间戳
                    object objTimeStamp;

                    //读取是否成功
                    bool IsReadSuccess = true;

                    //读变量
                    try
                    {
                        opcNeedReadIems[i].Read(Convert.ToInt16(OPCDataSource.OPCCache), out objValue, out objQuality, out objTimeStamp);
                    }
                    catch
                    {
                        IsReadSuccess = false;
                    }

                    //如果读失败或状态不是好的或值为空都读为最大值
                    if (!IsReadSuccess || opcNeedReadIems[i].Quality == Convert.ToInt32(OPCQuality.OPCQualityBad) || opcNeedReadIems[i].Value == null)/*|| oi.Value == DBNull.Value)*/
                    //if (!IsReadSuccess || item.Value == null)
                    {
                        //Log.WriteLog("IsReadSuccess : " + IsReadSuccess.ToString() + " item.Quality : " + item.Quality.ToString() + " item.Value : " + item.Value);
                        //listValues.Add(decimal.MaxValue);
                        //if (aItems.Item[i].ItemType == "BOOL")
                        //{
                        //    aItems.Item[i].Value = false;
                        //}

                        aItems.Item[i].Status = ValueState.STATUS_BAD;
                        aItems.Item[i].UpdateTime = DateTime.Now;

                    }
                    //正常读取
                    else
                    {

                        try
                        {
                            //更新变量值
                            aItems.Item[i].Value = Convert.ToDecimal(opcNeedReadIems[i].Value);

                            //更新变量状态
                            aItems.Item[i].Status = ValueState.STATUS_GOOG;
                            aItems.Item[i].UpdateTime = DateTime.Now;
                        }
                        catch
                        {
                            //objVal = decimal.MaxValue;

                            //if (aItems.Item[i].ItemType == "BOOL")
                            //{
                            //    aItems.Item[i].Value = false;
                            //}

                            //更新变量状态
                            aItems.Item[i].Status = ValueState.STATUS_BAD;
                            aItems.Item[i].UpdateTime = DateTime.Now;

                        }

                    }
                }
            }

            return true;
        }
コード例 #24
0
        /// <summary>
        /// 批量读变量
        /// </summary>
        /// <param name="aItem">变量表映射</param>
        /// <returns>返回变量表</returns>
        public bool ReadItems(ref GroupItem aItem)
        {
            //获得OPC服务数据
            return OPCObject.ReadValues(ref aItem);

            ////将获得的数据写入变量表中
            //if (deiValues != null && deiValues.Length > 0)
            //{
            //    for (int i = 0; i < deiValues.Length; i++)
            //    {
            //        if (deiValues[i] != decimal.MaxValue)
            //        {
            //            //正常
            //            aItem.Item[i].Value = deiValues[i];
            //            if (aItem.Item[i].Direction == RwDirection.Read
            //                || aItem.Item[i].Direction == RwDirection.ReadWrite)
            //            {
            //                aItem.Item[i].UpdateTime = DateTime.Now;
            //                aItem.Item[i].Status = STATUS_GOOG;
            //            }
            //        }
            //        else
            //        {
            //            //欠测
            //            if (aItem.Item[i].Direction == RwDirection.Read
            //                 || aItem.Item[i].Direction == RwDirection.ReadWrite)
            //            {
            //                //Log.WriteLog(aItem.Item[i].ItemName + " : "+ deiValues[i].ToString());
            //                aItem.Item[i].UpdateTime = DateTime.Now;
            //                aItem.Item[i].Status = STATUS_BAD;
            //            }
            //        }
            //    }
            //}
            //else
            //{
            //    //读失败
            //    return false;
            //}

            ////读成功
            //return true;
        }
コード例 #25
0
        /// <summary>
        /// Loads the groups.
        /// </summary>
        private void LoadDropDowns()
        {
            var groupEntityType = EntityTypeCache.Read( typeof( Group ) );
            var currentGroup = RockPage.GetCurrentContext( groupEntityType ) as Group;

            var groupIdString = Request.QueryString["groupId"];
            if ( groupIdString != null )
            {
                var groupId = groupIdString.AsInteger();

                if ( currentGroup == null || currentGroup.Id != groupId )
                {
                    currentGroup = SetGroupContext( groupId, false );
                }
            }

            var parts = ( GetAttributeValue( "GroupFilter" ) ?? string.Empty ).Split( '|' );
            Guid? groupTypeGuid = null;
            Guid? rootGroupGuid = null;

            if ( parts.Length >= 1 )
            {
                groupTypeGuid = parts[0].AsGuidOrNull();
                if ( parts.Length >= 2 )
                {
                    rootGroupGuid = parts[1].AsGuidOrNull();
                }
            }

            var rockContext = new RockContext();
            var groupService = new GroupService( rockContext );
            var groupTypeService = new GroupTypeService( rockContext );
            IQueryable<Group> qryGroups = null;

            // if rootGroup is set, use that as the filter.  Otherwise, use GroupType as the filter
            if ( rootGroupGuid.HasValue )
            {
                var rootGroup = groupService.Get( rootGroupGuid.Value );
                if ( rootGroup != null )
                {
                    qryGroups = groupService.GetAllDescendents( rootGroup.Id ).AsQueryable();
                }
            }
            else if ( groupTypeGuid.HasValue )
            {
                SetGroupTypeContext( groupTypeGuid );

                if ( GetAttributeValue( "IncludeGroupTypeChildren" ).AsBoolean() )
                {
                    var childGroupTypeGuids = groupTypeService.Queryable().Where( t => t.ParentGroupTypes.Select( p => p.Guid ).Contains( groupTypeGuid.Value ) )
                        .Select( t => t.Guid ).ToList();

                    qryGroups = groupService.Queryable().Where( a => childGroupTypeGuids.Contains( a.GroupType.Guid ) );
                }
                else
                {
                    qryGroups = groupService.Queryable().Where( a => a.GroupType.Guid == groupTypeGuid.Value );
                }
            }

            // no results
            if ( qryGroups == null )
            {
                nbSelectGroupTypeWarning.Visible = true;
                lCurrentSelection.Text = string.Empty;
                rptGroups.Visible = false;
            }
            else
            {
                nbSelectGroupTypeWarning.Visible = false;
                rptGroups.Visible = true;

                lCurrentSelection.Text = currentGroup != null ? currentGroup.ToString() : GetAttributeValue( "NoGroupText" );

                var groupList = qryGroups.OrderBy( a => a.Order )
                    .ThenBy( a => a.Name ).ToList()
                    .Select( a => new GroupItem() { Name = a.Name, Id = a.Id } )
                    .ToList();

                // check if the group can be unselected
                if ( !string.IsNullOrEmpty( GetAttributeValue( "ClearSelectionText" ) ) )
                {
                    var blankGroup = new GroupItem
                    {
                        Name = GetAttributeValue( "ClearSelectionText" ),
                        Id = Rock.Constants.All.Id
                    };

                    groupList.Insert( 0, blankGroup );
                }

                rptGroups.DataSource = groupList;
                rptGroups.DataBind();
            }
        }
コード例 #26
0
 public ModifyGroupAction(GroupItem group, string groupName, string keyword)
 {
     _group = group;
     _groupName = groupName;
     _keyword = keyword;
 }