public void AddLine(AverageLine line) { if (line != null && !Lines.Any(l => l.ID.Equals(line.ID))) { Lines.Add(line); } }
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; }