示例#1
0
        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());
        }
示例#2
0
        /// <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());
        }
示例#3
0
 public LabourAvailabilityItem(LabourAvailabilityList parent) : base(parent)
 {
 }