public void Bind(IOpeningCondition oc, IClosingCondition cc, ISubject window, ISummary summary) { Bind(oc, cc, window); var key = Tuple.Create(oc, cc, window); if (OCSToSs.ContainsKey(key) == false) { OCSToSs.Add(key, new List <ISummary>()); } if (!OCSToSs[key].Contains(summary)) { OCSToSs[key].Add(summary); } }
private void TestSummary() { OCSSResults = OCSToSs.GroupBy(kvp => kvp.Key.Item1).Select(gO => Tuple.Create( gO.Key, // open cond gO.GroupBy(kvp => kvp.Key.Item2).Select(gC => Tuple.Create( gC.Key, // close cond gC.Select(kvp => Tuple.Create( kvp.Key.Item3, // subject kvp.Value.Select(summary => Tuple.Create( summary, // summary summary.GetResult(OCSResults[gO.Key][gC.Key][kvp.Key.Item3]) )).ToDictionary(t => t.Item1, t => t.Item2) )).ToDictionary(t => t.Item1, t => t.Item2) )).ToDictionary(t => t.Item1, t => t.Item2) )).ToDictionary(t => t.Item1, t => t.Item2); }