protected void GetSignalObjects() { try { if (Signals == null) { Signals = new List <Models.Signal>(); } if (Signals.Count == 0) { var signalRepository = SignalsRepositoryFactory.Create(); foreach (var filterSignal in FilterSignals) { if (!filterSignal.Exclude) { var signals = signalRepository.GetSignalsBetweenDates(filterSignal.SignalId, StartDate, EndDate); foreach (var signal in signals) { RemoveApproachesByFilter(filterSignal, signal); signal.Approaches = signal.Approaches.OrderBy(a => a.ProtectedPhaseNumber).ToList(); } Signals.AddRange(signals); } } } } catch (Exception e) { var errorLog = ApplicationEventRepositoryFactory.Create(); errorLog.QuickAdd(Assembly.GetExecutingAssembly().GetName().ToString(), GetType().DisplayName(), e.TargetSite.ToString(), ApplicationEvent.SeverityLevels.High, e.Message); throw new Exception("Unable to apply signal filter"); } }
public void LoadSignals(string filePath) { if (!File.Exists(filePath)) { throw new FileNotFoundException(string.Format("The signals file doesn't exist at: {0}", filePath)); } using (var fileStream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var serializer = new XmlSerializer(this.GetType()); var signals = (serializer.Deserialize(fileStream) as SignalContainer).Signals; Signals.AddRange(signals); } }