Exemplo n.º 1
0
        public void Bind(IOpeningCondition oc, IClosingCondition cc, ISubject window)
        {
            Bind(oc, cc);
            var key = Tuple.Create(oc, cc);

            if (OCToSs.ContainsKey(key) == false)
            {
                OCToSs.Add(key, new List <ISubject>());
            }
            if (!OCToSs[key].Contains(window))
            {
                OCToSs[key].Add(window);
            }
        }
Exemplo n.º 2
0
 private void TestSubjects()
 {
     OCSResults = OCToSs.GroupBy(kvp => kvp.Key.Item1)
                  .Select(gO => Tuple.Create(
                              gO.Key,                                       // open cond
                              gO.Select(kvp => Tuple.Create(
                                            kvp.Key.Item2,                  // close cond
                                            kvp.Value.Select(subject => Tuple.Create(
                                                                 subject,   // subject
                                                                 OCResults[gO.Key][kvp.Key.Item2].Select(subject.GetResult)
                                                                 .ToArray() // calc window's subject
                                                                 )).ToDictionary(t => t.Item1, t => t.Item2)
                                            )).ToDictionary(t => t.Item1, t => t.Item2)
                              )).ToDictionary(t => t.Item1, t => t.Item2);
 }