public async void OnLoginCommandExecute(object obj) { await Task.Run(async() => { Regex regex = new Regex(@"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$"); if (regex.IsMatch(PhoneNumber)) { IsLoggEnabled = false; TeleStatus = "Загрузка..."; TelegramContext = new TelegramLogic(PhoneNumber); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Sessions"); var tmpfiles = Directory.GetFiles(path, "*", SearchOption.AllDirectories).ToList(); foreach (var item in tmpfiles) { FileSessionStore.Add(Path.GetFileName(item)); } foreach (var item in FileSessionStore) { if (item.Equals(PhoneNumber + ".dat")) { await TelegramContext.LogInAsync(); TLChannelFulls = await TelegramContext.GetFullInfoCannelsAsync(); foreach (var channel in TLChannelFulls) { ChannelsNames.Add(channel.About); } MySelectedItem = ChannelsNames?[0]; IsProgramStarted = true; IsStartEnabled = true; IsCanChangeNumber = false; TeleStatus = "Вы вошли успешно!!! "; TelegramContext.LogOut(); return; } } try { await TelegramContext.GetCodeAuthenticateAsync(); TeleStatus = "Ждите код для подтверждения"; IsSetCode = true; } catch (Exception ex) { TeleStatus = ex.Message; File.Delete(PhoneNumber + ".dat"); IsLoggEnabled = true; } } else { TeleStatus = "Некорректный номер!\nПопробуйте: +1234..."; } }); }
/// <summary> /// On update, update items. /// </summary> protected override void OnUpdate() { try { if (_feed == null) { _feed = RssFeed.Read(base.Address); if (_feed.Channels.Count == 1) { // Some feeds have those symbols in their names. _name = _feed.Channels[0].Title.Replace("\r", "").Replace("\n", "").Trim(); } else { _name = _feed.Url.ToString(); } List <string> names = new List <string>(); foreach (RssChannel channel in _feed.Channels) { names.Add(channel.Title); } foreach (string name in names) { if (ChannelsNames.Contains(name) == false) { EventSourceChannel channel = new EventSourceChannel(name, true); channel.Initialize(this); base.AddChannel(channel); } } } else { _feed = RssFeed.Read(_feed); } //OperationalStateEnum newState = OperationalStateEnum.Operational; } catch (WebException we) {// Feed not found or some other problem. SystemMonitor.OperationWarning("Failed to initialize feed [" + Address + ", " + we.Message + "]"); ChangeOperationalState(OperationalStateEnum.NotOperational); } catch (Exception ex) {// RssFeed class launches IOExceptions too, so get safe here. SystemMonitor.OperationWarning("Failed to initialize feed [" + Address + ", " + ex.Message + "]"); ChangeOperationalState(OperationalStateEnum.NotOperational); } DoUpdateItems(); //RaisePersistenceDataUpdatedEvent(); }
public async void OnSendCodeCommandExecute(object obj) { await Task.Run(async() => { TeleStatus = "Ожидание подтверждения"; IsSetCode = false; TelegramContext.Code = AuthCode; try { await TelegramContext.AuthUserAsync(); TeleStatus = "Вы вошли успешно!!!"; IsProgramStarted = true; IsStartEnabled = true; IsCanChangeNumber = false; TLChannelFulls = await TelegramContext.GetFullInfoCannelsAsync(); foreach (var channel in TLChannelFulls) { ChannelsNames.Add(channel.About); } TelegramContext.LogOut(); MySelectedItem = ChannelsNames?[0]; } catch (Exception ex) { TeleStatus = ex.Message; if (File.Exists(PhotoPath + "dat")) { File.Delete(PhotoPath + "dat"); } } }); }
public override void OnUpdate() { OperationalStateEnum newState; try { if (_feed == null) { _feed = RssFeed.Read(base.Address); if (_feed.Channels.Count == 1) { // Some feeds have those symbols in their names. _name = _feed.Channels[0].Title.Replace("\r", "").Replace("\n", "").Trim(); } else { _name = _feed.Url.ToString(); } List <string> names = new List <string>(); foreach (RssChannel channel in _feed.Channels) { names.Add(channel.Title); } foreach (string name in names) { if (ChannelsNames.Contains(name) == false) { base.AddChannel(name, true); } } // Retrieve web site shortcut icon. //if (_icon == null) //{ // _icon = GeneralHelper.GetWebSiteShortcutIcon(new Uri(Address)); //} } else { _feed = RssFeed.Read(_feed); } newState = OperationalStateEnum.Operational; } catch (WebException we) {// Feed not found or some other problem. SystemMonitor.OperationWarning("Failed to initialize feed [" + Address + ", " + we.Message + "]"); newState = OperationalStateEnum.NotOperational; } catch (Exception ex) {// RssFeed class launches IOExceptions too, so get safe here. SystemMonitor.OperationWarning("Failed to initialize feed [" + Address + ", " + ex.Message + "]"); newState = OperationalStateEnum.NotOperational; } OperationalStateEnum oldState = _operationalState; _operationalState = newState; if (newState != _operationalState) { RaiseOperationalStatusChangedEvent(oldState); } UpdateItems(); RaisePersistenceDataUpdatedEvent(); }