private void InitSettings() { var s = Recorder.Settings; if (ps.UpgradeRequired) { ps.Upgrade(); ps.UpgradeRequired = false; ps.Save(); } s.Clip_Future = ps.Clip_Future; s.Clip_Past = ps.Clip_Past; s.SavePath = ps.SavePath; s.Feature = (EnabledFeature)ps.Feature; s.PropertyChanged += (sender, e) => { switch (e.PropertyName) { case nameof(s.Clip_Future): ps.Clip_Future = s.Clip_Future; break; case nameof(s.Clip_Past): ps.Clip_Past = s.Clip_Past; break; case nameof(s.SavePath): ps.SavePath = s.SavePath; break; case nameof(s.Feature): ps.Feature = (int)s.Feature; break; default: break; } }; ps.RoomIDs.Split(';').ToList().ForEach(rs => { var r = rs.Split(','); if (int.TryParse(r[0], out int roomid) && bool.TryParse(r[1], out bool enabled)) { if (roomid > 0) { Recorder.AddRoom(roomid, enabled); } } }); }
private void AddRoom() { var match = UrlToRoomidRegex.Match(AddRoomidTextBox.Text); if (match.Success) { if (int.TryParse(match.Groups["roomid"].Value, out int roomid)) { Add(roomid); } else { logger.Warn("添加房间时发生了不应该出现的错误"); } } else if (int.TryParse(AddRoomidTextBox.Text, out int roomid)) { Add(roomid); } else { logger.Info("房间号是数字!"); } AddRoomidTextBox.Text = string.Empty; void Add(int roomid) { if (roomid > 0) { if (Recorder.Any(x => x.RoomId == roomid || x.ShortRoomId == roomid)) { logger.Info("该直播间已经添加过了"); } else { Recorder.AddRoom(roomid); Recorder.SaveConfigToFile(); } } else { logger.Info("房间号是大于0的数字!"); } } }
/// <summary> /// 添加直播间 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddRoomidButton_Click(object sender, RoutedEventArgs e) { if (int.TryParse(AddRoomidTextBox.Text, out int roomid)) { if (roomid > 0) { Recorder.AddRoom(roomid); } else { logger.Info("房间号是大于0的数字!"); } } else { logger.Info("房间号是数字!"); } AddRoomidTextBox.Text = string.Empty; }