public void LoadFromFile(string Stationid) { if (!int.TryParse(Stationid, out int stationid)) { MessageBox.Show("Station id must be integer"); return; } OpenFileDialog dlgDialog = new OpenFileDialog(); dlgDialog.Filter = "All files(*.*)|*.*|csv files(*.*)|*.csv"; if (dlgDialog.ShowDialog() == true) { RunstatusService.Monitor.Enter(); RunstatusService.ReadAlarmFromFile(stationid, dlgDialog.FileName); RunstatusService.Monitor.Leave(); } using (var db = new OeedbContext()) { Items.Clear(); foreach (var d in db.AlarmInfos) { Items.Add(d); } } }
public StatusViewModel(DataStorage storage, int stationId, IEventAggregator Event) { StationId = stationId; Service1 = new RunstatusService(stationId); _storage = storage; @event = Event; DisplayName = $"N{StationId}"; //Task.Run(() => //{ // while (true) // { // if (_storage[$"W_N{StationId}_STATUS"] is short v1) // { // Service1.SetStatus((ushort)v1); // if (Service1.Status.StatusInfo != null) // { // StatusInfo = Service1.Status.StatusInfo.AlarmContent; // } // } // System.Threading.Thread.Sleep(500); // } //}); //timer.Start(); //timer.Elapsed += (s, e) => //{ // if (StatusInfo != null) // { // if (StatusInfo == "运行中") // { // RunSpan += TimeSpan.FromSeconds(1); // } // else if (StatusInfo.Contains("准备中")) // { // PreSpan += (TimeSpan.FromSeconds(1)); // } // else // { // StopSpan += (TimeSpan.FromSeconds(1)); // } // } // if (updatecircle++ > 10) // { // Runtime[0] = new ObservableValue(RunSpan.TotalSeconds); // Stoptime[0] = new ObservableValue(StopSpan.TotalSeconds); // Pretime[0] = new ObservableValue(PreSpan.TotalSeconds); // updatecircle = 0; // Refresh(); // } //}; }