public List <int> GetTurbinesPerAggregation(List <Turbine> turbines, TurbineAggregation turbineAggregation)
        {
            var turbinesPerAggregation = new List <int>();

            switch (turbineAggregation)
            {
            case TurbineAggregation.All:
            {
                turbinesPerAggregation = turbines.Select(t => t.Id).Take(5).ToList();         // Taking first five for simulation purpose
                break;
            }

            case TurbineAggregation.Any:
            {
                turbinesPerAggregation = turbines.Skip(5).Take(3).Select(t => t.Id).ToList();         // Taking between the sixth and eighth for simulation purpose
                break;
            }

            case TurbineAggregation.Single:
            {
                turbinesPerAggregation = turbines.Skip(8).Select(t => t.Id).ToList();         // Taking last two for simulation purpose
                break;
            }
            }

            return(turbinesPerAggregation);
        }
 public void AddRule(TurbineAggregation turbineAggregation)
 {
     rules.Add(new Rule()
     {
         TurbineIds         = _turbineAggregationService.GetTurbinesPerAggregation(turbines, turbineAggregation),
         TurbineAggregation = turbineAggregation,
         ForbiddenEvents    = events.Take(2).Select(e => e.Id).ToList(), // Taking first two for simulation purpose
         RequiredEvents     = events.Take(5).Select(e => e.Id).ToList(), // Taking first five for simulation purpose
         Diagnosis          = "Diagnosis for " + turbineAggregation.ToString() + " rule"
     });
 }