private void PlaceToGroup(ChronologicalData data, IChronologicalParameter parameter) { ChronologicalParameterGroupType groupType = parameterToGroupMapping[parameter.Type]; if (!data.Groups.Any(g => g.Type == groupType)) { ChronoParamGroupFactory groupFactory = new ChronoParamGroupFactory(); IChronologicalParametersGroup group = groupFactory.Create(groupType); data.Groups.Add(group); } data.Groups.FirstOrDefault(g => g.Type == groupType).Parameters.Add(parameter); }
public ChronologicalData Create() { ChronologicalData result = new PsaChronologicalData(); foreach (IChronologicalParameterFactory factory in factories) { foreach (PsaDataset dataset in datasets) { if (factory.CanGenerateFrom(dataset)) { factory.PickUpFrom(dataset); } } IChronologicalParameter resultParameter = factory.GetResult(); if (resultParameter != null) { PlaceToGroup(result, resultParameter); } } return(result); }