Пример #1
0
        public void Lock_GivenUnlockedState_ExpectFalse()
        {
            //Arrange
            var device = new MachineDevice(Guid.NewGuid());

            //Act && Assert
            Assert.IsTrue(device.Lock(DateTime.Now));
        }
Пример #2
0
        public void Unlock_GivenLockedState_ExpectIsLockedBeFalse()
        {
            //Arrange
            var device = new MachineDevice(Guid.NewGuid());

            //Act
            device.Unlock();

            //Assert
            Assert.IsFalse(device.IsLocked);
        }
Пример #3
0
 public MachineDeviceEditDialog(MachineDevice device)
 {
     InitializeComponent();
     //复制数据
     this.Device = new MachineDevice()
     {
         Id          = device.Id,
         Name        = device.Name,
         CommModules = new List <CommModule>(),
     };
     InitUI();
     BindEvents();
 }
Пример #4
0
 public CommDeviceEditDialog(MachineDevice device, CommModule module)
 {
     InitializeComponent();
     this.Module = new CommModule()
     {
         Id          = module.Id,
         Name        = module.Name,
         Interval    = module.Interval,
         IoTCommands = new List <IoTCommand>(),
         IPAddress   = module.IPAddress,
         Port        = module.Port,
     };
     InitUI();
     BindEvents();
 }
Пример #5
0
        private void InitMachineDevice()
        {
            string          strPath    = AppDomain.CurrentDomain.BaseDirectory + "Data\\Machine.txt";
            List <string[]> lstMachine = GetCSVData(strPath);

            if (lstMachine.Count == 0)
            {
                return;
            }
            foreach (var m in lstMachine)
            {
                MachineDevice machineDevice = new MachineDevice(Convert.ToInt32(m[0]), m[1], m[2], m[3], m[4], m[5], Convert.ToInt32(m[6]));
                MachineDevices.Add(machineDevice);
            }
        }
Пример #6
0
        public void UnlockDevice_GivenLockedState_ExpectDeciveUnlocked()
        {
            //Arrange
            var guid     = Guid.NewGuid();
            var device   = new MachineDevice(guid);
            var database = Substitute.For <IDatabase>();

            database.GetMachineDevice(guid).Returns(device);
            database.GetAllMachineDeviceIds().Returns(new List <Guid> {
                guid
            });
            var scheduler = new Scheduler(database);
            var api       = new MachineApi(database, scheduler);

            //Act
            api.UnlockMachine(guid);

            //Act && Assert
            Assert.IsFalse(device.IsLocked);
        }
Пример #7
0
        private void MiReSendMsg_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    mi       = sender as MenuItem;
            ContextMenu ctxMenu  = mi.Parent as ContextMenu;
            DataGrid    dataGrid = ctxMenu.PlacementTarget as DataGrid;

            if (dataGrid.SelectedItems != null && dataGrid.SelectedItems.Count > 0)
            {
                foreach (var item in dataGrid.SelectedItems)
                {
                    DeviceBase device = item as DeviceBase;
                    if (device is StopDevice)
                    {
                        try
                        {
                            StopDevice stop = device as StopDevice;
                            PLCMsg     msg  = new PLCMsg()
                            {
                                NO           = stop.NO,
                                DEVICE_TYPE  = stop.DEVICE_TYPE,
                                PALLET_COUNT = stop.PALLET_COUNT,
                                STATUS       = stop.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("发送挡停信息完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送挡停信息失败!", ex);
                            MessageBox.Show("发送挡停信息失败!");
                        }
                    }
                    else if (device is MachineDevice)
                    {
                        try
                        {
                            MachineDevice machine = device as MachineDevice;
                            PLCMsg        msg     = new PLCMsg()
                            {
                                NO           = machine.NO,
                                DEVICE_TYPE  = machine.DEVICE_TYPE,
                                PALLET_COUNT = machine.PALLET_COUNT,
                                STATUS       = machine.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("发送挡停信息完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送专机信息失败!", ex);
                            MessageBox.Show("发送专机信息失败!");
                        }
                    }
                    else if (device is ScanDevice)
                    {
                        try
                        {
                            StopDevice stop = (device as ScanDevice).Stop;
                            if (stop == null)
                            {
                                return;
                            }
                            PLCMsg msg = new PLCMsg()
                            {
                                NO           = stop.NO,
                                DEVICE_TYPE  = stop.DEVICE_TYPE,
                                PALLET_COUNT = stop.PALLET_COUNT,
                                STATUS       = stop.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("上传档停状态完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送挡停信息失败!", ex);
                            MessageBox.Show("发送挡停信息失败!");
                        }
                    }
                }
            }
        }