Exemple #1
0
        /// <summary>
        /// 更新首页的电脑区域
        /// </summary>
        /// <param name="areaId"></param>
        /// <param name="setting"></param>
        public void UpateHomePageComputerArea(int areaId, AREA_SETTING setting)
        {
            if (setting == AREA_SETTING.ADD)
            {
                HomePageMessageManage.UpdateHomePageComputerArea(null, setting);
                return;
            }
            var returnChanges = this.allComputers.Where(com => com.Area.Equals(areaId.ToString())).ToList <StructRealTime>();

            if (setting == AREA_SETTING.DELETE)
            {
                //修改所有数组和改变过的字典
                foreach (StructRealTime changeCom in returnChanges)
                {
                    int index = this.allComputers.FindIndex(com => com.Computerid == changeCom.Computerid);
                    StructRealTime.Builder newCom = new StructRealTime.Builder(this.allComputers[index]);
                    newCom.Area = "0";
                    this.allComputers[index] = newCom.Build();
                }

                var changeds = this.changeComDict.Values.Where(com => com.Area.Equals(areaId.ToString())).ToList <StructRealTime>();
                foreach (StructRealTime changed in changeds)
                {
                    StructRealTime.Builder newChanged = new StructRealTime.Builder(changed);
                    newChanged.Area = "0";
                    this.changeComDict[newChanged.Computerid] = newChanged.Build();
                }
            }
            HomePageMessageManage.UpdateHomePageComputerArea(returnChanges, setting);
        }
Exemple #2
0
        /// <summary>
        /// 更新电脑区域信息
        /// </summary>
        /// <param name="changes">需要改变的电脑</param>
        /// <param name="setting">设置的类型</param>
        public static void UpdateHomePageComputerArea(List <StructRealTime> changes, AREA_SETTING setting)
        {
            if (Manage().RefreshAreaComBox != null)
            {
                Manage().RefreshAreaComBox();
            }
            if (setting == AREA_SETTING.ADD)
            {
                return;
            }

            //先不判断是否有过滤
            foreach (StructRealTime change in changes)
            {
                StructRealTime ori   = Manage().computers.Where(com => com.Computerid == change.Computerid).First();
                int            index = Manage().computers.IndexOf(ori);
                switch (setting)
                {
                //删除;将Area 设为-1,防止之后添加的code与其相同。将自动归入其下
                case AREA_SETTING.DELETE:
                {
                    StructRealTime.Builder newCom = new StructRealTime.Builder(ori);
                    newCom.Area = "0";
                    Manage().computers[index] = newCom.Build();
                    if (Manage().UpdateComputerAreaEvent != null && Manage().s_areaId < 0)
                    {
                        Manage().UpdateComputerAreaEvent(newCom.Build());
                    }
                }

                break;

                //更改名字。不变原数据只做刷新界面
                case AREA_SETTING.UPDATE:
                {
                    if (Manage().UpdateComputerAreaEvent != null)
                    {
                        Manage().UpdateComputerAreaEvent(ori);
                    }
                }
                break;

                //点击完保存
                case AREA_SETTING.NONE:
                {
                    StructRealTime.Builder newCom = new StructRealTime.Builder(ori);
                    newCom.Area = change.Area;
                    Manage().computers[index] = newCom.Build();
                    if (Manage().UpdateComputerAreaEvent != null && Manage().s_areaId < 0)
                    {
                        Manage().UpdateComputerAreaEvent(newCom.Build());
                    }
                }
                break;

                default:
                    break;
                }
            }


            //电脑视图
            if (Manage().UpdateAreaEvent != null)
            {
                Manage().UpdateAreaEvent();
                if (Manage().s_areaId >= 0)
                {
                    //需要更新一下
                    GetFilterComputers(Manage().s_status, Manage().s_areaId, Manage().s_key);
                }
            }
            //列表视图(直接过滤一遍)
            else if (Manage().s_areaId >= 0 && setting != AREA_SETTING.UPDATE)
            {
                GetFilterComputers(Manage().s_status, Manage().s_areaId, Manage().s_key);
            }
        }