Example #1
0
 public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
     if (newStatus is NoPressure)
     {
         // 9、有人到无人,无人弹窗
         ((DisplayTest)context.DisplayStatus).PropupStatus = new PropupNoPeople();
     }
 }
Example #2
0
 public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
     if (newStatus is NoPressure)
     {
         // 1、从有人到无人,切换到广告状态
         context.DisplayStatus = new DisplayAdvertisement();
     }
 }
Example #3
0
 public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
     if (newStatus is UnderPressure)
     {
         // 2、无人到有人,切换到扫码状态
         context.DisplayStatus = new DisplayQRCode();
     }
 }
Example #4
0
 public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
     if (newStatus is UnderPressure)
     {
         // 5、无人到有人,关闭弹窗
         ((DisplayTest)context.DisplayStatus).PropupStatus = null;
     }
 }
Example #5
0
 public override void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
     if (PropupStatus == null && newStatus is NoPressure)
     {
         // 4、有人到无人,进入无人弹窗状态
         PropupStatus = new PropupNoPeople();
     }
     PropupStatus?.OnPressureStatusChanging(context, oldStatus, newStatus);
 }
Example #6
0
        public FitnessApparatus()
        {
            var context = new ApparatusStatusContext();

            context.PressureStatus     = new NoPressure();
            context.DisplayStatus      = new DisplayAdvertisement();
            context.PropupNoPeopleTime = TimeSpan.FromSeconds(5);
            this.StatusContext         = context;
        }
Example #7
0
 public bool EndTest(ApparatusStatusContext context)
 {
     if (PropupStatus != null)
     {
         return(false);
     }
     // 6、测试结束
     context.DisplayStatus = new DisplayQRCode();
     return(true);
 }
Example #8
0
        public override void UpdateStatus(ApparatusStatusContext context)
        {
            TimeSpan time = (context.PropupNoPeopleTime - (DateTime.Now - BeginTime));

            if (time.Ticks < 0)
            {
                // 10、时间到
                context.DisplayStatus = new DisplayAdvertisement();
            }
            else
            {
                this.Text = $"无人弹窗将在{time}后关闭";
            }
        }
Example #9
0
 public bool Scavenging(ApparatusStatusContext context)
 {
     ///3、扫码成功,进入测试状态
     context.DisplayStatus = new DisplayTest();
     return(true);
 }
Example #10
0
 public virtual void OnPressureStatusChanging(ApparatusStatusContext context, PressureStatusBase oldStatus, PressureStatusBase newStatus)
 {
 }
Example #11
0
 public virtual void UpdateStatus(ApparatusStatusContext context)
 {
 }
Example #12
0
 public override void UpdateStatus(ApparatusStatusContext context)
 {
     PropupStatus?.UpdateStatus(context);
 }
Example #13
0
 public bool Exit(ApparatusStatusContext context)
 {
     // 12、选择退出
     context.DisplayStatus = new DisplayQRCode();
     return(true);
 }