示例#1
0
 public void AddTimeArea(int startTime, int endTime, int planNumber)
 {
     // 標記已使用的區域
     for (int i = startTime; i < endTime; i++)
     {
         TimeIsUsed[i] = true;
     }
     if (startTime < 12 && 12 < endTime)
     {
         // 畫兩塊
         // 第一塊  ex:10~12
         TimeAreaVM timeArea1 = new TimeAreaVM();
         timeArea1.Top  = 0;
         timeArea1.Left = startTime * 50;
         int size = 12 - startTime;
         timeArea1.Width           = size * 50;
         timeArea1.BackgroundColor = colors[planNumber];
         timeArea1.PlanNumber      = planNumber;
         TimeAreas.Add(timeArea1);
         // 第二塊
         TimeAreaVM timeArea2 = new TimeAreaVM();
         timeArea2.Top             = 80;
         timeArea2.Left            = 0;
         size                      = endTime - 12;
         timeArea2.Width           = size * 50;
         timeArea2.BackgroundColor = colors[planNumber];
         timeArea2.PlanNumber      = planNumber;
         TimeAreas.Add(timeArea2);
     }
     else
     {
         // 畫一塊
         if (startTime <= 12)
         {
             TimeAreaVM timeArea = new TimeAreaVM();
             timeArea.Top  = 0;
             timeArea.Left = startTime * 50;
             int size = endTime - startTime;
             timeArea.Width           = size * 50;
             timeArea.BackgroundColor = colors[planNumber];
             timeArea.PlanNumber      = planNumber;
             TimeAreas.Add(timeArea);
         }
         else
         {
             TimeAreaVM timeArea = new TimeAreaVM();
             timeArea.Top  = 80;
             timeArea.Left = (startTime - 12) * 50;
             int size = endTime - startTime;
             timeArea.Width           = size * 50;
             timeArea.BackgroundColor = colors[planNumber];
             timeArea.PlanNumber      = planNumber;
             TimeAreas.Add(timeArea);
         }
     }
 }
示例#2
0
        private void DeleteCurrentPlan()
        {
            // delete timeArea
            var res = (from t in TimeAreas
                       where t.PlanNumber == CurrentPlan.planNumber
                       select t).ToList();

            foreach (var item in res)
            {
                TimeAreas.Remove(item);
            }
            // set isUsed
            for (int i = CurrentPlan.StartTime; i < CurrentPlan.EndTime; i++)
            {
                TimeIsUsed[i] = false;
            }
            // delete plan
            Plans.Remove(CurrentPlan);
            CurrentPlan           = null;
            CurrentPlanVisibility = Visibility.Hidden;
        }