/// <summary> Добавить сигнал </summary> /// <param name="newSignal"></param> public void AddSignal(SignalMarket newSignal) { if (newSignal.IsNull()) { return; } var oldEl = this.Signals.FirstOrDefault(s => s.Comment == newSignal.Comment && s.Condition == newSignal.Condition && s.DateTime == newSignal.DateTime && s.Infinity == newSignal.Infinity && s.Price == newSignal.Price && s.SecClass == newSignal.SecClass && s.TimeFrame == newSignal.TimeFrame && s.Type == newSignal.Type && s.Volume == newSignal.Volume ); lock (syncObj) { if (oldEl.NotIsNull()) { this.Signals.Remove(oldEl); } this.Signals.Add(newSignal); } if (this.OnAdd.NotIsNull()) { this.OnAdd(newSignal); } this.SaveSignals(); }
/// <summary> Удалить сигнал </summary> /// <param name="newSignal"></param> public bool RemoveSignal(SignalMarket remSignal) { if (remSignal.IsNull()) { return(false); } bool res = false; lock (syncObj) { res = Signals.Remove(remSignal); } if (this.OnRemove.NotIsNull() && res) { this.OnRemove(remSignal); } this.SaveSignals(); return(res); }
public bool MoveDown(SignalMarket signal) { if (signal.IsNull()) { return(false); } var index = this.Signals.IndexOf(signal); if (index >= 0 && index < this.Signals.Count - 1) { lock (syncObj) { this.Signals.Remove(signal); this.Signals.Insert(index + 1, signal); this.SaveSignals(); } return(true); } return(false); }