public IEnumerable <LabourAvailabilityItem> GetAvailabilityItems(LabourAvailabilityList list) { List <LabourAvailabilityItem> items = new List <LabourAvailabilityItem>(); for (int i = 2; i < Supply.Elements().Count(); i++) { XElement group = Supply.Elements().ElementAt(i); // Skip this item if it has zero-value string value = group.Elements().First().Value; if (value == "0") { continue; } string name = group.Name.LocalName; LabourAvailabilityItem item = new LabourAvailabilityItem(list) { Name = name, Value = Convert.ToDouble(value) }; item.Add(new LabourFilter(item) { Value = name }); items.Add(item); } return(items.AsEnumerable()); }
/// <summary> /// Models the availability of each Labour Type /// </summary> public IEnumerable <LabourAvailabilityItem> GetAvailabilityItems(LabourAvailabilityList parent) { List <LabourAvailabilityItem> items = new List <LabourAvailabilityItem>(); int count = -1; foreach (var row in LabourSupply.RowNames) { count++; if (LabourSupply.GetData <string>(count, 0) != "0") { string age = LabourSupply.ExtraNames[count]; string gender = LabourSupply.RowNames[count]; double value = Math.Round(LabourSupply.GetData <double>(count, 2)); LabourAvailabilityItem item = new LabourAvailabilityItem(parent) { Name = age + " " + gender, Value = value }; LabourFilter GenderFilter = new LabourFilter(item) { Name = "GenderFilter", Parameter = 1, Value = gender }; LabourAges.TryGetValue(item.Name, out int years); LabourFilter AgeFilter = new LabourFilter(item) { Name = "AgeFilter", Parameter = 2, Operator = 5, Value = years.ToString() }; item.Children.Add(GenderFilter); item.Children.Add(AgeFilter); items.Add(item); } } return(items.AsEnumerable()); }
public LabourAvailabilityItem(LabourAvailabilityList parent) : base(parent) { }