private void StateDataSetsShouldBeUnique() { if (StateDataSets.Distinct().Count() != StateDataSets.Count) { throw new ConfigurationException("Configuration contains duplicate state datasets.\n"); } }
private void StateDataSetsShouldBeReferenced() { var unreferencedStateDataSets = StateDataSets .Where(stateDataSetName => !ConnectedSystems.Any(cs => cs.EnabledDatasets.Any(ds => ds.StateDataSetName == stateDataSetName))) .ToList(); if (unreferencedStateDataSets.Count > 0) { throw new ConfigurationException($"There are unreferenced State DataSets: {string.Join(", ", unreferencedStateDataSets)}.\n"); } }
private void AllConnectedSystemsShouldReferenceAnExistingStateDataSet() { foreach (var connectedSystem in ConnectedSystems) { foreach (var connectedSystemDataSet in connectedSystem.Datasets) { if (!StateDataSets.Contains(connectedSystemDataSet.StateDataSetName)) { throw new ConfigurationException($"ConnectedSystem {connectedSystem.Name}' DataSet '{connectedSystemDataSet.Name}' references non-existent StateDataSet {connectedSystemDataSet.StateDataSetName}."); } } } }