Пример #1
0
        static void Main(string[] args)
        {
            //初始化房源信息
            List <StatePattern> statePatterns = new List <StatePattern>();

            statePatterns.Add(new StatePattern {
                Id = 1, Name = "房屋一", State = HouseState.Lease
            });

            Environmental environmental = new Environmental();

            //房屋一出租
            environmental.GetStatePattern(statePatterns.Where(x => x.Id == 1).FirstOrDefault());
            environmental.Show();

            //时间大于半年可退押金
            statePatterns[0].Time = 7;
            environmental.Show();
        }
Пример #2
0
 public void Handle(Environmental environmental)
 {
     //房屋出租
     if (environmental._statePattern.State == HouseState.Lease)
     {
         Console.WriteLine($"{environmental._statePattern.Name}房屋正在出租!");
         Console.WriteLine("如果觉得可以的话就签订租房合同!");
         environmental.SetState(new LeaseedState());
         environmental.Show();
     }
 }
Пример #3
0
 public void Handle(Environmental environmental)
 {
     //后期办理退房手续
     if (environmental._statePattern.State == HouseState.Lease)
     {
         Console.WriteLine($"{environmental._statePattern.Name}签订租房合同!");
         environmental._statePattern.State = HouseState.Leaseed;
         environmental._statePattern.Time  = 1;
         environmental.SetState(new DepositState());
         environmental.Show();
     }
 }