示例#1
0
        void Load()
        {
            if (AppContext.ControlSpace != null)
            {
                _dataService.GetLE_TypeList(AppContext.ControlSpace, (data, error) =>
                {
                    if (error != null)
                    {
                        return;
                    }                              // Report error here
                    MasterSelectorList = data;
                });

                _dataService.GetPartitions((data, error) =>
                {
                    if (error != null)
                    {
                        return;
                    }                              // Report error here
                    Partitions = new List <Partition>(data);
                });

                _dataService.GetLightElements(AppContext.ControlSpace, AppContext.Partition, (data, error) =>
                {
                    if (error != null)
                    {
                        return;
                    }                              // Report error here
                    foreach (LightElement le in data)
                    {
                        LightElementVM leVM  = new LightElementVM(le);
                        leVM.IsLinked        = le.ControlChannel != null;
                        leVM.IsLinkedChanged = LinkingLogic;
                        MasterList.Add(leVM);
                    }
                });

                _dataService.GetControlChannelList(AppContext.ControlSpace, AppContext.Partition, (data, error) =>
                {
                    if (error != null)
                    {
                        return;
                    }                              // Report error here
                    DetailList = data;
                });
                MasterObjectPanelVisibility = Visibility.Collapsed;
            }
        }
示例#2
0
        void UpdateChangeLinkEnable()
        {
            LightElementVM master = MasterSelectedItem;
            ControlChannel detail = DetailSelectedItem;

            if (master != null && DetailSelectedItem != null)
            {
                if (master.DirectChild)
                {
                    master.ChangeLinkEnable = true;
                    return;
                }

                if (!master.IsLinked && detail.LE_Count == 0)
                {
                    master.ChangeLinkEnable = true;
                    return;
                }

                if (!master.IsLinked &&
                    detail.LE_Count > 0 &&
                    detail.Multilink &&
                    master.Model.PointType == detail.PointType)
                {
                    master.ChangeLinkEnable = true;
                    return;
                }

                if (master.IsLinked && !detail.DirectParent)
                {
                    master.ChangeLinkEnable = false;
                    return;
                }
            }
            else
            {
                if (master != null)
                {
                    master.ChangeLinkEnable = false;
                }
            }
        }
示例#3
0
        LightElementVM CreateLightElementVM(PointTypeEnum pointType)
        {
            LightElementVM leVM = null;
            LightElement   le   = new LightElement(pointType, AppContext.ControlSpace);

            le.Partition = AppContext.Partition;

            leVM = new LightElementVM(le);

            if (leVM.Model.ControlSpace.Prefix == "AN" || leVM.Model.ControlSpace.Prefix == "DX")
            {
                if (leVM.Model.PointType == PointTypeEnum.RGB)
                {
                    leVM.ColorSequenceList = LightElement.ColorSequenseRGB;
                }
                if (leVM.Model.PointType == PointTypeEnum.RGBW)
                {
                    leVM.ColorSequenceList = LightElement.ColorSequenseRGBW;
                }
            }

            return(leVM);
        }