Esempio n. 1
0
        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));
            }
        }
Esempio n. 3
0
        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));
            }
        }