private void ExecuteCommand(DeviceCommandEnum dc) { try { switch (dc) { case DeviceCommandEnum.Refresh: _segmentList.ForEach((s) => (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Info(s.Name)); break; case DeviceCommandEnum.Reset: _segmentList.ForEach((s) => (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Reset(s.Name)); break; case DeviceCommandEnum.AutoOn: _segmentList.ForEach((s) => (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOn(s.Name)); break; case DeviceCommandEnum.AutoOff: _segmentList.ForEach((s) => (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOff(s.Name)); break; default: break; } } catch (Exception e) { _warehouse.AddEvent(Event.EnumSeverity.Error, Event.EnumType.Exception, string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }
private void ExecuteCommand(DeviceCommandEnum dc) { PlaceID pid; try { switch (dc) { case DeviceCommandEnum.Refresh: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Info(_segment.Name); break; case DeviceCommandEnum.Reset: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Reset(_segment.Name); break; case DeviceCommandEnum.AutoOn: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOn(_segment.Name); break; case DeviceCommandEnum.AutoOff: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOff(_segment.Name); break; case DeviceCommandEnum.Home: _warehouse.DBService.AddCommand(new CommandSegment { Task = Database.Command.EnumCommandTask.SegmentHome, Segment = ((Crane)Deck.Model).Segment, Status = Database.Command.EnumCommandStatus.NotActive, Time = DateTime.Now }); break; case DeviceCommandEnum.SetTime: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.SetClock(_segment.Name); break; case DeviceCommandEnum.LongTermBlockOn: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.LongTermBlockOn(_segment.Name); pid = _warehouse.DBService.FindPlaceID(((Crane)Deck.Model).Name); pid.Blocked = true; _warehouse.DBService.UpdateLocation(pid); break; case DeviceCommandEnum.LongTermBlockOff: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.LongTermBlockOff(_segment.Name); pid = _warehouse.DBService.FindPlaceID(((Crane)Deck.Model).Name); pid.Blocked = false; _warehouse.DBService.UpdateLocation(pid); break; default: break; } } catch (Exception e) { _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message); throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }
private void ExecuteCommand(DeviceCommandEnum dc, Segment s) { try { switch (dc) { case DeviceCommandEnum.Refresh: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Info(s.Name); break; case DeviceCommandEnum.Reset: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.Reset(s.Name); break; case DeviceCommandEnum.AutoOn: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOn(s.Name); break; case DeviceCommandEnum.AutoOff: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.AutoOff(s.Name); break; case DeviceCommandEnum.SetTime: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.SetClock(s.Name); break; case DeviceCommandEnum.LongTermBlockOn: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.LongTermBlockOn(s.Name); var cl1 = _warehouse.ConveyorList.FindAll(p => p.Segment == (Model as Segment).Name); foreach (var c in cl1) { PlaceID p = _warehouse.DBService.FindPlaceID(c.Name); if (p != null) { p.Blocked = true; _warehouse.DBService.UpdateLocation(p); } } break; case DeviceCommandEnum.LongTermBlockOff: (_warehouse.WCFClient as WCFUIClient).NotifyUIClient.LongTermBlockOff(s.Name); var cl2 = _warehouse.ConveyorList.FindAll(p => p.Segment == (Model as Segment).Name); foreach (var c in cl2) { PlaceID p = _warehouse.DBService.FindPlaceID(c.Name); if (p != null) { p.Blocked = false; _warehouse.DBService.UpdateLocation(p); } } break; default: break; } } catch (Exception e) { _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message); throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }