示例#1
0
        // Returns true if the any of the flowering months contained in Wanted matches any of the flowering months in Test
        // e.g. if Wanted = "Jan or Feb" and Test = "Feb or Mar" then true
        //      if Wanted = "Jan or Feb" and Test = "Mar or Apr" then false
        //      if Wanted = "Jan or Feb" and Test = "AllMonths" then true
        private bool IncludesMonths(FloweringMonths wanted, FloweringMonths candidate)
        {
            FloweringMonths[] target = { FloweringMonths.Jan, FloweringMonths.Feb, FloweringMonths.Mar, FloweringMonths.Apr,
                                         FloweringMonths.May, FloweringMonths.Jun, FloweringMonths.Jul, FloweringMonths.Aug,
                                         FloweringMonths.Sep, FloweringMonths.Oct, FloweringMonths.Nov, FloweringMonths.Dec };
            bool result = false;

            foreach (FloweringMonths f in target)
            {
                result = result || (candidate.HasFlag(f) && wanted.HasFlag(f));
            }

            return(result || wanted.HasFlag(FloweringMonths.AllMonths));
        }
示例#2
0
        private async Task <ObservableCollection <Plant> > GetPlantsAsync(FloweringMonths month)
        {
            List <Plant> p;

            if (month == FloweringMonths.AllMonths)
            {
                p = await PlantData.GetAllPlantsAsync();
            }
            else if (FloweringMonths.AllMonths.HasFlag(month))
            {
                p = await PlantData.GetMonthPlantsAsync(floweringMonthDict[month]);
            }
            else
            {
                //error, bad month passed in
                p = null;
            }

            PlantCount = p.Count();
            return(new ObservableCollection <Plant>(p));
        }
示例#3
0
 public void ShowPlantsByMonth(FloweringMonths month)
 {
     PlantList = NotifyTask.Create(GetPlantsAsync(month));
 }