예제 #1
0
        public async Task SetMetadata(ItemMetadata m)
        {
            _metadata = m;

            entry = _metadata.EqpEntry;

            RawGrid.Children.Clear();
            PresetCollection.Clear();
            if (entry == null)
            {
                return;
            }

            if (entry.Slot == SlotCopiedFrom && CopiedBytes != null)
            {
                PasteButton.IsEnabled = true;
            }
            else
            {
                PasteButton.IsEnabled = false;
            }

            var flags = entry.GetFlags();

            // Advanced Flag Setup.
            var idx = 0;

            foreach (var flag in flags)
            {
                var cb = new CheckBox();
                cb.Content     = flag.Key.ToString();
                cb.DataContext = flag.Key;
                cb.IsChecked   = flag.Value;

                cb.SetValue(Grid.RowProperty, idx / 4);
                cb.SetValue(Grid.ColumnProperty, idx % 4);

                cb.Checked   += Cb_Checked;
                cb.Unchecked += Cb_Checked;

                RawGrid.Children.Add(cb);
                idx++;
            }

            // Simple setup.
            PresetCollection.Add(new KeyValuePair <string, byte[]>("Custom", null));

            if (Presets.ContainsKey(m.Root.Info.Slot))
            {
                var presets = Presets[m.Root.Info.Slot];

                foreach (var preset in presets)
                {
                    PresetCollection.Add(new KeyValuePair <string, byte[]>(preset.Key, preset.Value));
                }
            }

            UpdateSimpleTab();
        }
예제 #2
0
        /// <summary>
        /// Deserializes the binary EQP data into a EQP entry.
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private static EquipmentParameter DeserializeEqpData(byte[] data, XivDependencyRoot root, uint dataVersion)
        {
            // This one's relatively simple for the moment.
            // Though managing this data may grow more complex if SE decides to add more
            // bytes into the EQP entries at some point in the future.
            var ret = new EquipmentParameter(root.Info.Slot, data);

            return(ret);
        }
예제 #3
0
 public Wj9001Leak(EquipmentParameter basepara, List <LeakParameter> leakLines)
     : base(basepara)
 {
     WjLeakLines = new Dictionary <int, LeakParameter>();
     foreach (var f in leakLines)
     {
         if (!WjLeakLines.ContainsKey(f.LeakLineId))
         {
             WjLeakLines.Add(f.LeakLineId, f);
         }
     }
 }
예제 #4
0
 public Wj1090Ldu(EquipmentParameter basepara, List <LduLineParameter> ctrls)
     : base(basepara)
 {
     WjLduLines = new Dictionary <int, LduLineParameter>();
     foreach (var f in ctrls)
     {
         if (!WjLduLines.ContainsKey(f.LduLineId))
         {
             WjLduLines.Add(f.LduLineId, f);
         }
     }
 }
예제 #5
0
        public Wj3005Rtu(EquipmentParameter basepara, RtuVoltageParameter voltage, RtuGprsParameter gprs,
                         List <RtuAnalogParameter> loops,
                         List <RtuSwitchOutputParameter> switchout)
            : base(basepara)
        {
            WjVoltage = voltage;
            WjLoops   = new Dictionary <int, RtuAnalogParameter>();
            //WjSwitchIns = new Dictionary<int, RtuSwitchInputParameter>();
            WjSwitchOuts = new Dictionary <int, RtuSwitchOutputParameter>();
            WjGprs       = gprs;

            foreach (var f in loops)
            {
                if (WjLoops.ContainsKey(f.LoopId) == false)
                {
                    WjLoops.Add(f.LoopId, f);
                }
            }

            //foreach (var f in switchin)
            //    if (WjSwitchIns.ContainsKey(f.SwitchId) == false)
            //        WjSwitchIns.Add(f.SwitchId, f);
            foreach (var f in switchout)
            {
                //if (WjSwitchOuts.ContainsKey(f.SwitchId) == false)                //青岛开发区需求 可以重复switchID
                WjSwitchOuts.Add(f.SwitchId, f);
            }

            if (this.RtuModel == EnumRtuModel.Wj3005)
            {
                SwitchOutCount = 6;
            }
            else if (this.RtuModel == EnumRtuModel.Wj3090)
            {
                SwitchOutCount = 4;
            }
            else if (this.RtuModel == EnumRtuModel.Wj3006)
            {
                SwitchOutCount = 8;
            }
            else
            {
                SwitchOutCount = 6;
            }
        }
예제 #6
0
 public Wj2090Slu(EquipmentParameter basepara, SluParameter slu, List <SluRegulatorParameter> ctrls,
                  List <SluRegulatorGroupParameter> ctrlGrps)
     : base(basepara)
 {
     WjSlu      = slu;
     WjSluCtrls = new Dictionary <int, SluRegulatorParameter>();
     foreach (var f in ctrls)
     {
         if (!WjSluCtrls.ContainsKey(f.CtrlId))
         {
             WjSluCtrls.Add(f.CtrlId, f);
         }
     }
     WjSluCtrlGrps = new Dictionary <int, SluRegulatorGroupParameter>();
     foreach (var f in ctrlGrps)
     {
         if (!WjSluCtrlGrps.ContainsKey(f.GrpId))
         {
             WjSluCtrlGrps.Add(f.GrpId, f);
         }
     }
 }
        /// <summary>
        /// 将回路信息、输入信、输出信息还原为 终端信息
        /// </summary>
        /// <returns></returns>
        private Wlst.Sr.EquipmentInfoHolding.Model.Wj1050Mru  BackViewModelToTerminalInformation()
        {
            var mtp = new EquipmentParameter()
            {
                //  AreaId = _wj1050TerminalInformation.AreaId,
                DateCreate     = _wj1050TerminalInformation.DateCreate,
                DateUpdate     = _wj1050TerminalInformation.DateUpdate,
                RtuArgu        = _wj1050TerminalInformation.RtuArgu,
                RtuInstallAddr = _wj1050TerminalInformation.RtuInstallAddr,
                RtuId          = _wj1050TerminalInformation.RtuId,
                RtuName        = RtuName,
                RtuPhyId       = _wj1050TerminalInformation.RtuPhyId,
                RtuFid         = _wj1050TerminalInformation.RtuFid,
                RtuGisX        = _wj1050TerminalInformation.RtuGisX,
                RtuGisY        = _wj1050TerminalInformation.RtuGisY,
                RtuMapX        = _wj1050TerminalInformation.RtuMapX,
                RtuMapY        = _wj1050TerminalInformation.RtuMapY,
                RtuModel       = _wj1050TerminalInformation.RtuModel,
                RtuRemark      = MruRemark,
                RtuStateCode   = _wj1050TerminalInformation.RtuStateCode,
            };

            return(new Wj1050Mru(mtp, BackToTerminal()));
        }
        public void OnlyJoinOperationTest()
        {
            using (var session = Domain.OpenSession())
                using (var tx = session.OpenTransaction())
                {
                    var equipment1 = new Equipment();
                    var equipment2 = new Equipment();
                    var equipment3 = new Equipment();

                    var parameter1Hi = new EquipmentParameter {
                        Url = "1Hi"
                    };
                    var parameter1Low = new EquipmentParameter {
                        Url = "1Low"
                    };
                    var parameter1Status = new EquipmentParameter {
                        Url = "1Status"
                    };
                    var parameter2Hi = new EquipmentParameter {
                        Url = "2Hi"
                    };
                    var parameter2Low = new EquipmentParameter {
                        Url = "2Low"
                    };
                    var parameter2Status = new EquipmentParameter {
                        Url = "2Status"
                    };
                    var parameter3Hi = new EquipmentParameter {
                        Url = "3Hi"
                    };
                    var parameter3Low = new EquipmentParameter {
                        Url = "3Low"
                    };
                    var parameter3Status = new EquipmentParameter {
                        Url = "3Status"
                    };

                    var technicalProcess1 = new TechnicalProcess
                    {
                        Equipment         = equipment1,
                        RunIdHiParameter  = parameter1Hi,
                        RunIdLowParameter = parameter1Low,
                        StatusParameter   = parameter1Status,
                    };
                    var technicalProcess2 = new TechnicalProcess
                    {
                        Equipment         = equipment2,
                        RunIdHiParameter  = parameter2Hi,
                        RunIdLowParameter = parameter2Low,
                        StatusParameter   = parameter2Status,
                    };
                    var technicalProcess3 = new TechnicalProcess
                    {
                        Equipment         = equipment3,
                        RunIdHiParameter  = parameter3Hi,
                        RunIdLowParameter = parameter3Low,
                        StatusParameter   = parameter3Status,
                    };

                    var urls = session.Query.All <TechnicalProcess>()
                               .Select(p => p.RunIdHiParameter.Url)
                               .Concat(session.Query.All <TechnicalProcess>().Select(p => p.RunIdLowParameter.Url))
                               .Concat(session.Query.All <TechnicalProcess>().Select(p => p.StatusParameter.Url))
                               .ToArray();

                    Assert.AreEqual(9, urls.Length);
                }
        }
        public void OnlyInOperationTest()
        {
            using (var session = Domain.OpenSession())
                using (var tx = session.OpenTransaction())
                {
                    var equipment1 = new Equipment();
                    var equipment2 = new Equipment();
                    var equipment3 = new Equipment();

                    var parameter1Hi = new EquipmentParameter {
                        Url = "1Hi"
                    };
                    var parameter1Low = new EquipmentParameter {
                        Url = "1Low"
                    };
                    var parameter1Status = new EquipmentParameter {
                        Url = "1Status"
                    };
                    var parameter2Hi = new EquipmentParameter {
                        Url = "2Hi"
                    };
                    var parameter2Low = new EquipmentParameter {
                        Url = "2Low"
                    };
                    var parameter2Status = new EquipmentParameter {
                        Url = "2Status"
                    };
                    var parameter3Hi = new EquipmentParameter {
                        Url = "3Hi"
                    };
                    var parameter3Low = new EquipmentParameter {
                        Url = "3Low"
                    };
                    var parameter3Status = new EquipmentParameter {
                        Url = "3Status"
                    };

                    var technicalProcess1 = new TechnicalProcess
                    {
                        Equipment         = equipment1,
                        RunIdHiParameter  = parameter1Hi,
                        RunIdLowParameter = parameter1Low,
                        StatusParameter   = parameter1Status,
                    };
                    var technicalProcess2 = new TechnicalProcess
                    {
                        Equipment         = equipment2,
                        RunIdHiParameter  = parameter2Hi,
                        RunIdLowParameter = parameter2Low,
                        StatusParameter   = parameter2Status,
                    };
                    var technicalProcess3 = new TechnicalProcess
                    {
                        Equipment         = equipment3,
                        RunIdHiParameter  = parameter3Hi,
                        RunIdLowParameter = parameter3Low,
                        StatusParameter   = parameter3Status,
                    };

                    var equipments = new[] { equipment1, equipment2 };

                    var technicalProcesses = Query.All <TechnicalProcess>()
                                             .Where(tp => tp.Equipment.In(equipments)).ToArray();

                    Assert.AreEqual(2, technicalProcesses.Length);
                }
        }
        public void MainTest()
        {
            using (var session = Domain.OpenSession())
                using (var tx = session.OpenTransaction()) {
                    var equipment1 = new Equipment();
                    var equipment2 = new Equipment();
                    var equipment3 = new Equipment();

                    var parameter1Hi = new EquipmentParameter {
                        Url = "1Hi"
                    };
                    var parameter1Low = new EquipmentParameter {
                        Url = "1Low"
                    };
                    var parameter1Status = new EquipmentParameter {
                        Url = "1Status"
                    };
                    var parameter2Hi = new EquipmentParameter {
                        Url = "2Hi"
                    };
                    var parameter2Low = new EquipmentParameter {
                        Url = "2Low"
                    };
                    var parameter2Status = new EquipmentParameter {
                        Url = "2Status"
                    };
                    var parameter3Hi = new EquipmentParameter {
                        Url = "3Hi"
                    };
                    var parameter3Low = new EquipmentParameter {
                        Url = "3Low"
                    };
                    var parameter3Status = new EquipmentParameter {
                        Url = "3Status"
                    };

                    var technicalProcess1 = new TechnicalProcess {
                        Equipment         = equipment1,
                        RunIdHiParameter  = parameter1Hi,
                        RunIdLowParameter = parameter1Low,
                        StatusParameter   = parameter1Status,
                    };
                    var technicalProcess2 = new TechnicalProcess {
                        Equipment         = equipment2,
                        RunIdHiParameter  = parameter2Hi,
                        RunIdLowParameter = parameter2Low,
                        StatusParameter   = parameter2Status,
                    };
                    var technicalProcess3 = new TechnicalProcess {
                        Equipment         = equipment3,
                        RunIdHiParameter  = parameter3Hi,
                        RunIdLowParameter = parameter3Low,
                        StatusParameter   = parameter3Status,
                    };

                    var equipments = new[] { equipment1, equipment2 };

                    var technicalProcesses = Query.All <TechnicalProcess>()
                                             .Where(tp => tp.Equipment.In(equipments));


                    var urls = technicalProcesses.Select(p => p.RunIdHiParameter.Url)
                               .Concat(technicalProcesses.Select(p => p.RunIdLowParameter.Url))
                               .Concat(technicalProcesses.Select(p => p.StatusParameter.Url))
                               .ToArray();

                    Assert.That(urls.Length, Is.EqualTo(6));
                    Assert.That(urls.Contains("1Hi"));
                    Assert.That(urls.Contains("1Low"));
                    Assert.That(urls.Contains("1Status"));
                    Assert.That(urls.Contains("2Hi"));
                    Assert.That(urls.Contains("2Low"));
                    Assert.That(urls.Contains("2Status"));
                }
        }
예제 #11
0
 public DrapTmlInformation(EquipmentParameter item)
 {
     this.RtuPhyId = item.RtuPhyId;
     this.RtuName  = item.RtuName;
 }
예제 #12
0
 public Task ChangeWeaponAsync(EquipmentParameter equipmentParameter)
 {
     Broadcast(room).ChangeWeapon(equipmentParameter);
     return(Task.CompletedTask);
 }
예제 #13
0
 void IPlayerBehaviourReceiver.ChangeWeapon(EquipmentParameter equipmentParam)
 {
     var     index            = equipmentParam.Index;
     var     currentEquipment = equipmentParam.MainEquipment;
     ref var cache            = ref Parameters[index];
예제 #14
0
 public Wj1080Lux(EquipmentParameter basepara, LuxParameter lux)
     : base(basepara)
 {
     WjLux = lux;
 }
예제 #15
0
        public WjParaBase(EquipmentParameter basepara)
        {
            //lvf 2019年4月17日11:18:27  一直为null 报错
            if (basepara == null)
            {
                return;
            }


            //this.AreaId = basepara.AreaId;
            this.DateCreate     = basepara.DateCreate;
            this.DateUpdate     = basepara.DateUpdate;
            this.RtuArgu        = basepara.RtuArgu;
            this.RtuFid         = basepara.RtuFid;
            this.RtuGisX        = basepara.RtuGisX;
            this.RtuGisY        = basepara.RtuGisY;
            this.RtuId          = basepara.RtuId;
            this.RtuInstallAddr = basepara.RtuInstallAddr;
            this.RtuMapX        = basepara.RtuMapX;
            this.RtuMapY        = basepara.RtuMapY;
            this.RtuModel       = basepara.RtuModel;
            this.RtuName        = basepara.RtuName;
            this.RtuStateCode   = basepara.RtuStateCode;
            this.RtuRemark      = basepara.RtuRemark;
            this.RtuPhyId       = basepara.RtuPhyId;
            this.Idf            = basepara.Idf;
            this.RtuRealState   = basepara.RtuRealState;
            //添加地区 lvf 2019年5月6日09:20:23
            this.RtuRegion = basepara.RtuRegion;


            EquipmentsThatAttachToThisRtu = new List <int>();

            if (this.RtuId < 1000000)
            {
                this.EquipmentType = EquType.UnKnown;
            }
            else if (this.RtuId < 1099999)
            {
                this.EquipmentType = EquType.Rtu;
            }
            else if (this.RtuId < 1199999)
            {
                this.EquipmentType = EquType.Ldu;
            }
            else if (this.RtuId < 1299999)
            {
                this.EquipmentType = EquType.Esu;
            }
            else if (this.RtuId < 1399999)
            {
                this.EquipmentType = EquType.Mru;
            }
            else if (this.RtuId < 1499999)
            {
                this.EquipmentType = EquType.Lux;
            }
            else if (this.RtuId < 1599999)
            {
                this.EquipmentType = EquType.Slu;
            }
            else if (this.RtuId < 1699999)
            {
                this.EquipmentType = EquType.Leak;
            }
            else
            {
                this.EquipmentType = EquType.UnKnown;
            }
        }
예제 #16
0
 public Wj601Esu(EquipmentParameter basepara, EsuParameter esu)
     : base(basepara)
 {
     WjEsu = esu;
 }
예제 #17
0
 public Wj1050Mru(EquipmentParameter basepara, MruParameter mru)
     : base(basepara)
 {
     WjMru = mru;
 }