Exemplo n.º 1
0
 public void AddLine(AverageLine line)
 {
     if (line != null && !Lines.Any(l => l.ID.Equals(line.ID)))
     {
         Lines.Add(line);
     }
 }
Exemplo n.º 2
0
        private void MatchLines(decimal value)
        {
            Lines.Clear();
            var lines = new List <AverageLine>();

            TimeLines.Values.ToList().ForEach(timeline => timeline.Lines.ForEach(line =>
            {
                line.Switch(LINETYPE.None);
                lines.Add(line);
            }));
            lines.Sort((x, y) =>
            {
                var xv = x.Value;
                var yv = y.Value;
                return(xv == yv ? 0 : xv > yv ? -1 : 1);
            });
            lines = AverageLine.Merge(lines);
            if (lines.Any(line => line.Value == value))
            {
                Lines.Add(lines.Find(line => line.Value == value));
            }
            else
            {
                var reslines = GetResistanceLines(value, lines);
                var suslines = GetSustentationLines(value, lines);

                if (reslines != null && reslines.Count > 0)
                {
                    Lines.Add(reslines[0]);
                }
                if (suslines != null && suslines.Count > 0)
                {
                    Lines.Add(suslines[0]);
                }
            }

            Initialized = true;
        }