public void submitButtonClick() { // handle ui AppManager.Prefabs[0].gameObject.SetActive(true); string time = (AMPM_dropdown.getValue() == 0) ? "上午 " : "下午 "; time += Hour_dropdown.getValue(); time += ":"; time += Minute_dropdown.getValue() < 10 ? "0" + Minute_dropdown.getValue() : Minute_dropdown.getValue().ToString(); time += " "; EditingAlarm.TimeString.text = time; EditingAlarm.hr_dp_val = Hour_dropdown.getValue(); EditingAlarm.min_dp_val = Minute_dropdown.getValue(); EditingAlarm.ampm_dp_val = AMPM_dropdown.getValue(); EditingAlarm.repeat_dp_val = Repeat_dropdown.value; EditingAlarm.ringer_dp_val = Ringer_dropdown.value; EditingAlarm.label_if_val = Label_input.text; EditingAlarm.Profile.sprite = EditingAlarm.profile_sprites[EditingAlarm.ringer_dp_val]; // handle notification // cancel the old one Notifications.RemoveAlarm(Id); // insert a new one Id = Notifications.AddAlarm(Hour_dropdown.getValue(), Minute_dropdown.getValue(), AMPM_dropdown.getValue(), Repeat_dropdown.value == 1, Label_input.text, Ringer_dropdown.value); EditingAlarm.Id = Id; AlarmList.SaveAlarmListToFile(); Swipable.allow_swipe = true; // Destroy(gameObject); OnExiting(); }
private void OnDataChange(ConveyorBasicInfo info, string name) { try { if (info != null) { if (info.ActiveAlarms != null) { var alarmToDel = from a in AlarmList where a.Unit == name && !info.ActiveAlarms.Contains(Convert.ToInt32(a.AlarmID)) select a; alarmToDel.ToList().ForEach(p => AlarmList.Remove(p)); var alarmToAdd = from a in info.ActiveAlarms where AlarmList.FirstOrDefault(p => p.Unit == name && p.AlarmID == a.ToString("000000")) == null select new AlarmViewModel { AlarmID = a.ToString("000000"), Unit = name, Severity = EnumAlarmSeverity.Error, Status = EnumAlarmStatus.Active, Text = ResourceReader.GetString(string.Format("ALARM_{0}", a.ToString("000000"))), ArrivedTime = DateTime.Now, AckTime = null }; alarmToAdd.ToList().ForEach(p => AlarmList.Add(p)); } } } catch (Exception e) { _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message); throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }
public WebhookManager(WhConfig config, string alarmsFilePath) { Filters = new Filters(); Geofences = new Dictionary <string, GeofenceItem>(); _logger.Trace($"WebhookManager::WebhookManager [Config={config}, Port={config.WebhookPort}, AlarmsFilePath={alarmsFilePath}]"); GeofenceService = new GeofenceService(); _gyms = new Dictionary <string, GymDetailsData>(); _alarmsFilePath = alarmsFilePath; _alarms = LoadAlarms(_alarmsFilePath); _config = config; _http = new HttpServer(_config.WebhookPort); _http.PokemonReceived += Http_PokemonReceived; _http.RaidReceived += Http_RaidReceived; _http.QuestReceived += Http_QuestReceived; _http.PokestopReceived += Http_PokestopReceived; _http.GymReceived += Http_GymReceived; _http.GymDetailsReceived += Http_GymDetailsReceived; _http.WeatherReceived += Http_WeatherReceived; _http.IsDebug = false; _http.Start(); new System.Threading.Thread(LoadAlarmsOnChange).Start(); }
//将报警信息存入数据库 public void SaveAlarmList(AlarmList alarmlist) { List <qw_alarmcarmemorylocationdatas> list = GetAllList().Where(a => a.carid == alarmlist.CARID && a.alarmstrattime == alarmlist.ALARMSTRATTIME && a.alarmtype == 3).ToList(); if (list.Count == 0) { qw_alarmcarmemorylocationdatas ta = new qw_alarmcarmemorylocationdatas(); //ta.id = AlarmListBLL.GetNewAlarmListID(); ta.longitude = alarmlist.LONGITUDE == null ? 0 : (double)alarmlist.LONGITUDE; ta.latitude = alarmlist.LATITUDE == null ? 0 : (double)alarmlist.LATITUDE; //ta.X = alarmlist.X2000 == null ? 0 : (decimal)alarmlist.X2000; //ta.Y = alarmlist.Y2000 == null ? 0 : (decimal)alarmlist.Y2000; ta.speed = alarmlist.SPEED == null ? 0 : (double)alarmlist.SPEED; ta.gpstime = alarmlist.GPSTIME; ta.createtime = DateTime.Now; ta.alarmendtime = alarmlist.ALARMENDTIME; ta.alarmstrattime = alarmlist.ALARMSTRATTIME; ta.alarmtype = alarmlist.ALARMTYPE; ta.carid = alarmlist.CARID; ta.state = 0; AddTeamMemoryLocationData(ta); } else { XGSaveAlarmList(alarmlist); } }
public List <AlarmList> GetAlarmList(int UserId) { tKovanContext ctx = new tKovanContext(); //List<DTOs.External.Environment> lstEnvironment = ctx.Environment.Where(x => x.UserId == UserId).ToList().Select(x => new DTOs.External.Environment { Id = x.Id, Name = x.Name }).ToList(); //return lstEnvironment; List <AlarmList> AlarmList = new List <AlarmList>(); List <DeviceList> device = ctx.Device.Where(x => x.UserId == UserId).ToList().Select(x => new DeviceList { CurrentToken = x.CurrentToken, DataSendInterval = x.DataSendInterval, EnvironmentName = x.Environment == null ? "" : x.Environment.Name, Id = x.Id, Name = x.Name, MacNo = x.MacNo, ProfileName = x.Profile == null ? "" : x.Profile.Name, UserName = x.User == null ? "" : x.User.UserName }).ToList(); foreach (DeviceList item in device) { List <TeknolojiKovaniWebApi.Models.EntityClass.Alarm> DeviceAlarm = ctx.Alarm.Include("Device").Include("Property").Where(x => x.DeviceId == item.Id).ToList(); foreach (TeknolojiKovaniWebApi.Models.EntityClass.Alarm it in DeviceAlarm) { AlarmList dAlarm = new AlarmList(); dAlarm = Utilities.Map <TeknolojiKovaniWebApi.Models.EntityClass.Alarm, AlarmList>(it, dAlarm); dAlarm.DeviceName = it.Device.Name; dAlarm.PropertyName = it.Property.DisplayName; AlarmList.Add(dAlarm); } } return(AlarmList); }
private void _monitoringDataService_AlarmDataUpdated(object sender, AlarmDataEventArgs e) { var alarmStr = e.Data as string; if (!string.IsNullOrEmpty(alarmStr)) { var alarmInfo = JsonConvert.DeserializeObject <AlarmInfo>(alarmStr); if (alarmInfo != null) { var action = new Action(() => { _soundPlayer = new System.Media.SoundPlayer(); _soundPlayer.SoundLocation = Alarm_Sound_FilePath; _soundPlayer.PlayLooping(); }); action.BeginInvoke(null, null); System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (AlarmList.Count > ALARM_LIST_MAX_COUNT) { AlarmList.RemoveAt(AlarmList.Count - 1); } AlarmList.Add(alarmInfo); CurrentAlarmInfo = alarmInfo; IsShow = true; NotifiyAlarm(); })); } } }
private void LoadAlarmsOnChange() { _logger.Trace($"WebhookManager::LoadAlarmsOnChange"); var fileWatcher = new FileWatcher(_alarmsFilePath); fileWatcher.FileChanged += (sender, e) => _alarms = LoadAlarms(_alarmsFilePath); fileWatcher.Start(); }
public AlarmList GetAlarmById(int Id) { tKovanContext ctx = new tKovanContext(); TeknolojiKovaniWebApi.Models.EntityClass.Alarm Alarm = ctx.Alarm.Single(x => x.Id == Id); AlarmList dAlarm = new AlarmList(); dAlarm = Utilities.Map <TeknolojiKovaniWebApi.Models.EntityClass.Alarm, AlarmList>(Alarm, dAlarm); return(dAlarm); }
public void X_button_click() { // remove the ui element Cover.SetActive(true); AlarmList.ui_alarmlist.Remove(gameObject); // remove the notification Notifications.RemoveAlarm(Id); AlarmList.SaveAlarmListToFile(); // Destroy(gameObject); isDead = true; }
/// <summary> /// 定时器刷新处理数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void timer1_Tick(object sender, EventArgs e)//03 { //你的定时处理 //建立与plc连接 int result = Sharp7AndPlcComm.ConnectToPlc(client); //判断通讯状态 Sharp7AndPlcComm.JudgeCommStu(result, ref labCommStu); //调用报警列表,刷新报警文本 AlarmList.AlarmListView(client, listView, dbNum, dbLength, dbStartElement, dbStartBit); }
//修改报警信息存入数据库 public void XGSaveAlarmList(AlarmList alarmlist) { List <qw_alarmcarmemorylocationdatas> list = GetAllList().Where(a => a.carid == alarmlist.CARID && a.alarmstrattime == alarmlist.ALARMSTRATTIME).ToList(); // QWGL_ALARMMEMORYLOCATIONDATA ta = new QWGL_ALARMMEMORYLOCATIONDATA(); foreach (var ta in list) { ta.createtime = DateTime.Now; ta.alarmendtime = alarmlist.ALARMENDTIME; ta.alarmtype = alarmlist.ALARMTYPE; EditTeamMemoryLocationData(ta); } }
//[SyncVar] //public bool isActive; void Awake() { if (Instance != null) { GameObject.Destroy(Instance); Debug.Log("Alarm-List-Objekt schon vorhanden!"); } else { Instance = this; DontDestroyOnLoad(this); this.gameObject.SetActive(true); } }
//--- 添加鬧鐘 public void AddAlarm() { if (count < alarmLists.Length) { alarmLists[count] = new AlarmList(); alarmListPanel.GetCarrier().Children.Add(alarmLists[count].GetCarrier()); Canvas.SetTop(alarmLists[count].GetCarrier(), 80 * count + 50); Canvas.SetLeft(alarmLists[count].GetCarrier(), -50); count++; } else { MessageBox.Show("已經達到鬧鐘上限了喲"); } }
public bool SaveAlarm(AlarmList AlarmList) { try { tKovanContext ctx = new tKovanContext(); TeknolojiKovaniWebApi.Models.EntityClass.Alarm Alarm = new Models.EntityClass.Alarm(); Alarm = Utilities.Map <AlarmList, TeknolojiKovaniWebApi.Models.EntityClass.Alarm>(AlarmList, Alarm); ctx.Alarm.Add(Alarm); ctx.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
private Configuration(string path = "") { mbase_path = (string.IsNullOrEmpty(path)) ? Mobile.GetPath() : path; device = "PC"; Config config = new Config(); mtuTypes = config.GetMtu(Path.Combine(mbase_path, XML_MTUS)); meterTypes = config.GetMeters(Path.Combine(mbase_path, XML_METERS)); global = config.GetGlobal(Path.Combine(mbase_path, XML_GLOBAL)); interfaces = config.GetInterfaces(Path.Combine(mbase_path, XML_INTERFACE)); alarms = config.GetAlarms(Path.Combine(mbase_path, XML_ALARMS)); demands = config.GetDemandConf(Path.Combine(mbase_path, XML_DEMANDS)); users = config.GetUsers(Path.Combine(mbase_path, XML_USERS)).List; errors = config.GetErrors(Path.Combine(mbase_path, XML_ERRORS)).List; }
public AlarmManagerViewModel() { DeleteCommand = new RelayCommand( x => AlarmList.Remove(SelectedAlarmDetail), x => AlarmList.Any() && SelectedAlarmDetail != null ); AddCommand = new RelayCommand( x => AlarmList.Add(new AlarmItemViewModel { AlarmName = $"{DefaultAlarmName} {AlarmList.Count + 1}", Type = AlarmType.Min } ), x => AlarmList.Count < 10 ); }
public void Handle(AlarmItem message) { if (!message.Value) { if (AlarmList.Any(x => x.Address == message.Address)) { var a = AlarmList.Where(x => x.Address == message.Address); foreach (var v in a) { AlarmList.Remove(v); } } } else { AlarmList.Add(message); } }
public override async Task GetAlarmList(AlarmListRequest e, IServerStreamWriter <AlarmList> s, ServerCallContext context) { AlarmList alarmListR = new AlarmList(); List <AlarmProto> alarms = new List <AlarmProto>(); for (int i = 0; i < 6; i++) { AlarmProto a = new AlarmProto(); a.Ack = false; a.AckDate = new Timestamp(); a.AckUser = "******"; a.Active = true; a.Count = 49; a.Description = "Centrale / Area 01 / Status"; a.EndDate = new Timestamp(); a.Flag = ""; a.Gravity = 50; a.GroupDescription = "CIABI_ELMO"; a.GroupId = 2; a.Id = 16; a.Info = ""; a.PreAck = false; a.PreAckDate = new Timestamp(); a.PreAckUser = ""; a.ReportId = 1; a.StartDate = new Timestamp(); a.Type = 1; a.VariableId = 65; a.VariableStatusDescription = "Disinserimento " + i; alarms.Add(a); alarmListR.Alarms.Add(alarms); await Task.Delay(3000); await s.WriteAsync(alarmListR); //AlarmList alarmListR = new AlarmList(); //alarmListR.Alarms.Add(alarms); //return alarmListR; } }
public static bool CheckLoadXML() { string configPath = Mobile.ConfigPath; try { // Load configuration files ( xml's ) MtuTypes auxMtus = Utils.DeserializeXml <MtuTypes>(Path.Combine(configPath, XML_MTUS)); MeterTypes auxMeters = Utils.DeserializeXml <MeterTypes>(Path.Combine(configPath, XML_METERS)); Global auxGlobal = Utils.DeserializeXml <Global>(Path.Combine(configPath, XML_GLOBAL)); AlarmList auxAlarm = Utils.DeserializeXml <AlarmList>(Path.Combine(configPath, XML_ALARMS)); DemandConf auxDemand = Utils.DeserializeXml <DemandConf>(Path.Combine(configPath, XML_DEMANDS)); User[] auxUsers = Utils.DeserializeXml <UserList>(Path.Combine(configPath, XML_USERS)).List; return(true); } catch (Exception) { //throw new ConfigurationFilesCorruptedException(); return(false); } }
public RestorationAlarmList GetRestorationAlarmPoint(AlarmList al, IEnumerable <DigitalPointInfo> groupByStations) { var RestorationAlarm = new RestorationAlarmList(); var pointInfo = groupByStations.Where(c => c.PointName.Trim() == al.PointName.Trim()).FirstOrDefault(); if (pointInfo == null) { return(null); } try { RestorationAlarm.DateTime = al.Time; RestorationAlarm.PointType = (Byte)al.pointType; RestorationAlarm.FkIndexID = (int)al.FkIndex; RestorationAlarm.StationName = al.StationName; RestorationAlarm.PointName = al.PointName; RestorationAlarm.ShortName = pointInfo.ShortName; RestorationAlarm.AlarmType = (int)al.AlarmType; RestorationAlarm.Flashing = al.Flashing; RestorationAlarm.ActualValue = al.ActualValue; RestorationAlarm.Message = al.Message; RestorationAlarm.SourceName = al.SourceName; RestorationAlarm.SourceID = al.SourceID; RestorationAlarm.SourceType = (Byte)al.SourceType; RestorationAlarm.AlarmFlag = (Byte)al.AlarmFlag; RestorationAlarm.DeviceID = pointInfo.DeviceID; RestorationAlarm.DeviceType = pointInfo.DeviceType; RestorationAlarm.MACName = pointInfo.MACName; RestorationAlarm.Priority = pointInfo.Priority; return(RestorationAlarm); } catch { Console.WriteLine($"Convertion Error"); return(null); } }
public bool UpdateAlarm(AlarmList AlarmList) { try { tKovanContext ctx = new tKovanContext(); TeknolojiKovaniWebApi.Models.EntityClass.Alarm Alarm = ctx.Alarm.Single(x => x.Id == AlarmList.Id); Alarm.AlarmParameter = AlarmList.AlarmParameter; Alarm.AlarmType = AlarmList.AlarmType; Alarm.DeviceId = AlarmList.DeviceId; Alarm.Level = AlarmList.Level; Alarm.Max = AlarmList.Max; Alarm.Min = AlarmList.Min; Alarm.PinNo = AlarmList.PinNo; Alarm.PropertyId = AlarmList.PropertyId; ctx.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//修改报警信息存入数据库 public void XGSaveAlarmList(AlarmList alarmlist) { List <qw_alarmmemorylocationdatas> list = GetAllLiat().Where(a => a.userid == alarmlist.USERID && a.alarmstrattime == alarmlist.ALARMSTRATTIME).ToList(); // QWGL_ALARMMEMORYLOCATIONDATA ta = new QWGL_ALARMMEMORYLOCATIONDATA(); foreach (var ta in list) { //ta.ID = AlarmListBLL.GetNewAlarmListID(); // ta.LONGITUDE = alarmlist.X84 == null ? 0 : (decimal)alarmlist.X84; // ta.LATITUDE = alarmlist.Y84 == null ? 0 : (decimal)alarmlist.Y84; // ta.X = alarmlist.X2000 == null ? 0 : (decimal)alarmlist.X2000; // ta.Y = alarmlist.Y2000 == null ? 0 : (decimal)alarmlist.Y2000; // ta.SPEED = alarmlist.SPEED == null ? 0 : (decimal)alarmlist.SPEED; // ta.GPSTIME = alarmlist.GPSTIME; ta.createtime = DateTime.Now; ta.alarmendtime = alarmlist.ALARMENDTIME; // ta.ALARMSTRATTIME = alarmlist.ALARMSTRATTIME; ta.alarmtype = alarmlist.ALARMTYPE; // ta.USERID = alarmlist.USERID; // ta.STATE = 0; EditTeamMemoryLocationData(ta); } }
public void submitButtonClick() { // AlarmList界面设为可见 AppManager.Prefabs[0].SetActive(true); var newAlarm = Instantiate(AlarmElementPrefab, AppManager.Prefabs[2].transform); string time = (AMPM_dropdown.getValue() == 0) ? "上午 " : "下午 "; time += Hour_dropdown.getValue().ToString(); time += ":"; time += Minute_dropdown.getValue() < 10 ? "0" + Minute_dropdown.getValue() : Minute_dropdown.getValue().ToString(); var ae = newAlarm.GetComponent <AlarmElement>(); ae.TimeString.text = time; ae.profile_idx = CharacterSetting._ins.curCharacter; ae.ringer_dp_val = Ringer_drowndown.value; ae.Profile.sprite = ae.profile_sprites[ae.ringer_dp_val]; ae.hr_dp_val = Hour_dropdown.getValue(); ae.min_dp_val = Minute_dropdown.getValue(); ae.ampm_dp_val = AMPM_dropdown.getValue(); ae.repeat_dp_val = Repeat_dropdown.value; ae.label_if_val = Label_input.text; ae.Id = Notifications.AddAlarm(ae.hr_dp_val, ae.min_dp_val, ae.ampm_dp_val, ae.repeat_dp_val == 1, ae.label_if_val, ae.ringer_dp_val); // add the alarm to list AlarmList.ui_alarmlist.Add(newAlarm); // reorder the list AppManager.Prefabs[0].GetComponent <AlarmList>().Reorder(); // save AlarmList.SaveAlarmListToFile(); // 此界面任务完成,把自身设为不可见 Swipable.allow_swipe = true; // gameObject.SetActive(false); OnExiting(); }
public async Task ExecuteRefresh() { try { var si = SelectedItem; var al = AlarmList; var als = await _warehouse.DBService.GetAlarms(DateFrom.TimeStamp, DateTo.TimeStamp, Unit, ID, Status); al.Clear(); foreach (var a in als) { al.Add(new AlarmViewModel { Alarm = a, Text = ResourceReader.GetString(string.Format("ALARM_{0}", a.AlarmID.PadLeft(6, '0'))) }); } AlarmList = al; if (si != null) { SelectedItem = AlarmList.FirstOrDefault(p => p.ArrivedTime == si.ArrivedTime && p.AlarmID == si.AlarmID && p.Unit == si.Unit && p.Status == si.Status); } Records = AlarmList.Count; } catch (Exception e) { _warehouse.AddEvent(Event.EnumSeverity.Error, Event.EnumType.Exception, string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message)); } }
private void DeleteAlarm(object obj) { var info = obj as AlarmInfo; AlarmList.Remove(info); }
//============================================================================= //Timed events //============================================================================= #region Timed Events private async void _dispatchTimer_TickAsync(object sender, object e) { try { // Get room data await HomeHub.GetData(); await zwaveHomeHub.GetAsync(); ; //============================================================= // Alarms //============================================================= #region Alarms HomeHub.TempAlarmVal = MinimumTemperature; HomeHub.HumidityAlarmVal = MaximumHumidity; AlarmHandler(HomeHub.RoomData.Livingroom, "Livingroom"); AlarmHandler(HomeHub.RoomData.MasterBedroom, "Master Bedroom"); //AlarmHandler(HomeHub.RoomData.Bedroom, "Bedroom"); void AlarmHandler(EnvironmentSensor.Room room, string roomName) { //Humidity Alarm if (HomeHub.HumidityAlarm(room.Humidity)) { if (!AlarmList.Contains(roomName + " humidity alarm")) { AlarmList.Add(roomName + " humidity alarm"); } } else { AlarmList.Remove(roomName + " humidity alarm"); } //Temperature alarm if (HomeHub.TempAlarm(room.Temp)) { if (!AlarmList.Contains(roomName + " temperature alarm")) { AlarmList.Add(roomName + " temperature alarm"); } } else { AlarmList.Remove(roomName + " temperature alarm"); } if (AlarmList != null && AlarmList.Count != 0) { AlarmIndicatorShow = Visibility.Visible; } else { AlarmIndicatorShow = Visibility.Collapsed; } } #endregion //============================================================= // Living Room Environment //============================================================= #region Livingroom Environment //Update Display LivingRoomTemperature = Math.Round(HomeHub.RoomData.Livingroom.Temp) + "°C"; LivingRoomTemperatureScaled = HomeHub.LivingRoomScaledTemp; LivingRoomHumidityScaled = HomeHub.RoomData.Livingroom.Humidity; LivingRoomHumidity = Math.Round(HomeHub.RoomData.Livingroom.Humidity) + "%"; #endregion //============================================================= // Master Bedroom Environment //============================================================= #region Master Bedroom Environment //Update Display MasterBedroomTemperature = Math.Round(HomeHub.RoomData.MasterBedroom.Temp) + "°C"; MasterBedroomTemperatureScaled = HomeHub.MasterBedroomScaledTemp; MasterBedroomHumidityScaled = HomeHub.RoomData.MasterBedroom.Humidity; MasterBedroomHumidity = Math.Round(HomeHub.RoomData.MasterBedroom.Humidity) + "%"; #endregion } // log any exception that occurs catch (Exception ex) { Debug.WriteLine(ex.Message); } }
private void MenuLookAlarms_Click(object sender, RoutedEventArgs e) { var win = new AlarmList(); win.Show(); }
public List <AlarmList> exeGetListCSV() { RestEventArgs args = new RestEventArgs(); args.UpdatePost = (int)EventLogPosition.CSV_STATUS; this._listAlarm.Clear(); try { //_CSVFile = @"\\10.20.86.210\ExportDB\AlarmList.csv"; // string csvFile = @"c:\ExportDB\AlarmList.csv"; #if true FileInfo file = new FileInfo(this._connCfg.CsvFile); var DateModification = file.LastWriteTime; if (_CSVLastModify == DateModification) { Console.WriteLine("CSV not Update"); return(null); } _CSVLastModify = DateModification; Console.WriteLine("CSV Last Modification : " + DateModification); int nRetry_read = 0; do //Retry tor Read CSV File { Thread.Sleep(TimeSpan.FromSeconds(1)); if (nRetry_read++ >= 10) { args.message = "Read CSV Fail"; args.TimeStamp = DateTime.Now; //args.UpdatePost = (int)EventLogPosition.CSV_STATUS; //this.m_dLastReadCSV = args.TimeStamp; onRestAlarmCSVChanged(args); //Raise the Event return(null); } } while (IsFileLocked(this._connCfg.CsvFile)); this._listAlarm = File.ReadLines(this._connCfg.CsvFile) .Skip(1) .Select(line => AlarmList.GetLineAlarmListCsv(line)) .ToList(); dLastReadCSV = DateTime.Now; args.message = "Read CSV Success"; args.TimeStamp = this.dLastReadCSV; onRestAlarmCSVChanged(args); //Raise the Event return(this._listAlarm); #else //Oldcode DataTable dt = new DataTable("AlarmList"); using (TextFieldParser parser = new TextFieldParser(csvFile)) { parser.Delimiters = new string[] { "," }; int iLine = 0; while (true) { string[] parts = parser.ReadFields(); if (parts == null) { break; } if (iLine++ == 0) { for (int iCol = 0; iCol < parts.Length; iCol++) { dt.Columns.Add(parts[iCol]); } continue; } dt.Rows.Add(parts); } //dt.DefaultView.Sort = "DATETIME"; dt = dt.DefaultView.ToTable(); for (int iRow = 0; iRow < dt.Rows.Count; iRow++) { DataRow row = dt.Rows[iRow]; DigitalAlarm al = new DigitalAlarm(row); this.m_listAlarm.Add(al); } this.m_dLastReadCSV = DateTime.Now; return(true); } #endif } catch (Exception e) { Console.WriteLine(e.ToString()); args.message = "Read CSV Fail"; args.TimeStamp = DateTime.Now; //this.m_dLastReadCSV = args.TimeStamp; onRestAlarmCSVChanged(args); //Raise the Event return(null); } }
private Configuration(string path = "", bool avoidXmlError = false) { string configPath = Mobile.ConfigPath; device = "PC"; try { // Load configuration files ( xml's ) mtuTypes = Utils.DeserializeXml <MtuTypes> (Path.Combine(configPath, XML_MTUS)); meterTypes = Utils.DeserializeXml <MeterTypes> (Path.Combine(configPath, XML_METERS)); Global = Utils.DeserializeXml <Global> (Path.Combine(configPath, XML_GLOBAL)); alarms = Utils.DeserializeXml <AlarmList> (Path.Combine(configPath, XML_ALARMS)); demands = Utils.DeserializeXml <DemandConf> (Path.Combine(configPath, XML_DEMANDS)); users = Utils.DeserializeXml <UserList> (Path.Combine(configPath, XML_USERS)).List; interfaces = Utils.DeserializeXml <InterfaceConfig> (XML_INTERFACE, true); // From resources // Preload port types, because some ports use a letter but other a list of Meter IDs // Done here because Xml project has no reference to MTUComm ( cross references ) List <string> portTypes; foreach (Mtu mtu in mtuTypes.Mtus) { foreach (Port port in mtu.Ports) { bool isNumeric = MeterAux.GetPortTypes(port.Type, out portTypes); if (!isNumeric) { port.TypeString = portTypes[0]; } else { port.TypeString = meterTypes.FindByMterId(int.Parse(portTypes[0])).Type; } Utils.Print("MTU " + mtu.Id + ": Type " + port.TypeString); } } // Regenerate certificate from base64 string Mobile.configData.GenerateCert(); //Mobile.configData.LoadCertFromKeychain (); // Check global min date allowed if (!string.IsNullOrEmpty(Global.MinDate) && DateTime.Compare(DateTime.ParseExact(Global.MinDate, "MM/dd/yyyy", null), DateTime.Today) < 0) { throw new DeviceMinDateAllowedException(); } } catch (Exception e) { if (!avoidXmlError) { if (Errors.IsOwnException(e)) { throw e; } else if (e is FileNotFoundException) { throw new ConfigurationFilesNotFoundException(); } else { throw new ConfigurationFilesCorruptedException(); } } } }
private List <Alarm> GetIntervalAlarms(int id) { //Returns a list of all alarms that are created as interval alarms SortAlarms(); return(AlarmList.Where(alarm => alarm.PartOfIntervalSet && alarm.IntervalSetId == id).ToList()); }