public static LastUser GetLastRegistration() { using (var site = new SCBWIContext()) { var us = (from u in site.Users orderby u.Cleared descending select u).FirstOrDefault(); LastUser toReturn; if (us == null) { toReturn = new LastUser { Created = DateTime.UtcNow, Name = "No registrations yet :(" }; } else { toReturn = new LastUser { Created = us.Created, Name = us.FullName }; } return(toReturn); } }
public async Task <bool> Login(string username, string password) { LastResponse response = await Client.Auth.GetSessionTokenAsync(username, password); if (response.Success) { LastUserSession us = Client.Auth.UserSession; var userResponse = await Client.User.GetInfoAsync(us.Username); LastUser user = userResponse.Content; if (user != null) { //MessageDialog md = new MessageDialog($"Welcome, {user.FullName}"); //await md.ShowAsync(); ApplicationSettings.LastFmSessionToken = us.Token; ApplicationSettings.LastFmSessionUsername = us.Username; ApplicationSettings.LastFmSessionUserImageUri = user.Avatar.Large.AbsoluteUri; this.Connected?.Invoke(user); } } return(response.Success); }
public Login(bool autoLogin) { InitializeComponent(); MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight; MaxWidth = SystemParameters.MaximizedPrimaryScreenWidth; LastUser lastUser = Settings.LoadLastUser(); if (autoLogin && lastUser.Remember && !string.IsNullOrEmpty(lastUser.User) && !string.IsNullOrEmpty(lastUser.Server) && !string.IsNullOrEmpty(lastUser.Pass)) { AuthorizationAsync(lastUser.Server, lastUser.User, lastUser.Pass, lastUser.Remember); } if (lastUser.Remember) { //AuthorizationAsync(Settings.Server.AbsoluteUri, Settings.User, Settings.Pass); Server_TextBox.Text = lastUser.Server; Login_TextBox.Text = lastUser.User; Password_TextBox.Password = lastUser.Pass; Remember_CheckBox.IsChecked = lastUser.Remember; } }
private void SetPrevious() { if (LastUser.IsNotEmpty()) { lst_users.SelectedIndex = lst_users.FindStringExact(LastUser); } FormDirty = false; }
public bool IsLastKnownUser(string fromname) { if (LastUser != null && LastUser.IsNamed(fromname)) { return(false); } return(string.IsNullOrEmpty(fromname) || fromname.Trim() == "null"); }
/// <summary> /// Запись файла конфигурации /// </summary> public void SaveIniFile() { string[] s = { DBDataSource, DBDatabase, LastUser.ToString(), PathReport }; string path = String.Empty; path = Application.StartupPath; path += @"\taskmanager.ini"; System.IO.File.WriteAllLines(path, s); }
public static void SaveLastUser() { LastUser lastUser = new LastUser { User = User, Pass = Pass, Remember = true }; lastUser.SetServerFromUri(Server); XmlParser.SaveLastUser(lastUser); }
private void LoadUserInfo(LastUser user) { this.DataContext = user; progress.IsActive = true; if (LastFm.Current.IsAuthenticated) { this.IsAuthenticatedUserPage = user.Name.ToLower() == ApplicationSettings.LastFmSessionUsername.ToLower(); header.SetContext(user); LoadRecentScrobbles(); } }
public void UpdateLastUser(string email) { _con.DropTable <LastUser>(); _con.CreateTable <LastUser>(); List <Users> users = _con.Table <Users>().ToList(); for (int i = 0; i < users.Count; i++) { if (users[i].Email == email) { LastUser user = new LastUser(users[i].Id, users[i].Email); _con.Insert(user); } } }
public static LastUser LoadLastUser() { LastUser lastUser = new LastUser(); try { XmlDocument lastUseDoc = new XmlDocument { PreserveWhitespace = true }; string filePath = Settings.FilesSavePath + "LastUser.xml"; lastUseDoc.Load(filePath); XmlElement encryptedElement = lastUseDoc.GetElementsByTagName("EncryptedData")[0] as XmlElement; RijndaelManaged Key = new RijndaelManaged { Key = key, IV = iv }; Decrypt(Key, encryptedElement); XmlElement server = lastUseDoc.GetElementsByTagName("Сервер")[0] as XmlElement; lastUser.Server = server.FirstChild.Value; XmlElement user = lastUseDoc.GetElementsByTagName("Логин")[0] as XmlElement; lastUser.User = user.FirstChild.Value; XmlElement pass = lastUseDoc.GetElementsByTagName("Пароль")[0] as XmlElement; lastUser.Pass = pass.FirstChild.Value; lastUser.Remember = true; //lastUser.Server = lastUseDoc.Root.Element("Сервер").Value; //lastUser.User = lastUseDoc.Root.Element("Логин").Value; //lastUser.Pass = lastUseDoc.Root.Element("Пароль").Value; LogController.Info(logger, "Файл LastUser.xml успешно загружен"); } catch (Exception e) { LogController.Error(logger, e, "Не удалось загрузить данные последнего пользователя"); } return(lastUser); }
public async void SetContext(LastUser user) { this.DataContext = LastUser = user; buttonsArea.Visibility = Visibility.Collapsed; //MessageDialog md = new MessageDialog(user.Avatar.Medium.AbsoluteUri); //await md.ShowAsync(); //color = await ImageHelper.GetDominantColor(stream); BitmapImage b = new BitmapImage(); rootBrush.ImageSource = b; b.UriSource = LastUser.Avatar.Large; ellipse.SetSource(LastUser.Avatar.Large, CircleImage.ImageType.LastFmUser); title.Text = user.Name.ToLower(); subtitle1.Text = user.FullName; playCount.Text = Convert.ToString(user.Playcount) + " " + ApplicationInfo.Current.Resources.GetString("Scrobbles").ToUpper(); }
private async void lastFmUserButton_Click(object sender, RoutedEventArgs e) { LastUser user; //LastTrack track = new LastTrack(); //track.Images.Medium if (ApplicationInfo.Current.HasInternetConnection) { if (LastFm.Current.Client.Auth.Authenticated) { user = await LastFm.Current.GetUserInfo(ApplicationSettings.LastFmSessionUsername); } else { user = new LastUser(); } ((Button)sender).ShowLastFmPopupMenu(user); } else { } }
public static LastUser LoadLastUser() { LastUser lastUser = XmlParser.LoadLastUser(); return(lastUser); }
private void LoggedIn(LastUser loggedUser) { LoadUserInfo(); }
private void LastFm_Connected(LastUser loggedUser) { LoggedIn(loggedUser); }
private async void lastFmProfileButton_Click(object sender, RoutedEventArgs e) { LastUser user = await LastFm.Current.GetUserInfo(ApplicationSettings.LastFmSessionUsername); PageHelper.MainPage.Navigate(typeof(ProfilePage), user); }
public static void SaveLastUser(LastUser lastUser) { if (!lastUser.Remember) { return; } XmlDocument lastUserDoc = new XmlDocument { PreserveWhitespace = true }; XmlNode xmlDeclaration = lastUserDoc.CreateXmlDeclaration("1.0", "UTF-8", null); XmlElement root = lastUserDoc.DocumentElement; lastUserDoc.InsertBefore(xmlDeclaration, root); XmlElement xRoot = lastUserDoc.CreateElement("Последний_пользователь"); XmlElement server = lastUserDoc.CreateElement("Сервер"); XmlElement login = lastUserDoc.CreateElement("Логин"); XmlElement password = lastUserDoc.CreateElement("Пароль"); xRoot.AppendChild(server); xRoot.AppendChild(login); xRoot.AppendChild(password); server.AppendChild(lastUserDoc.CreateTextNode(lastUser.Server)); login.AppendChild(lastUserDoc.CreateTextNode(lastUser.User)); password.AppendChild(lastUserDoc.CreateTextNode(lastUser.Pass)); lastUserDoc.AppendChild(xRoot); try { RijndaelManaged Key = new RijndaelManaged { Key = key, IV = iv }; Encrypt(Key, password); } catch (Exception e) { LogController.Error(logger, e, "Не удалось cоздать симметричный ключ"); } //XDocument lastUserDoc1 = new XDocument( // new XElement("Последний_пользователь", // new XElement("Сервер", lastUser.Server), // new XElement("Логин", lastUser.User), // new XElement("Пароль", lastUser.Pass) // )); try { string path = Settings.FilesSavePath + "LastUser.xml"; if (!Directory.Exists(Settings.FilesSavePath)) { Directory.CreateDirectory(Settings.FilesSavePath); } using (Stream file = new FileStream(path, FileMode.Truncate, FileAccess.ReadWrite)) using (XmlTextWriter writer = new XmlTextWriter(file, null)) { writer.Formatting = Formatting.Indented; lastUserDoc.Save(writer); LogController.Info(logger, "Файл LastUser.xml успешно сохранен"); } } catch (Exception e) { LogController.Error(logger, e, $"Не удалось сохранить файл LastUser.xml"); } }
private async void LoadRecentScrobbles() { LastUser user = this.DataContext as LastUser; if (!ApplicationInfo.Current.HasInternetConnection) { return; } DateTimeOffset dateTime = DateTimeOffset.Now.ToUniversalTime(); dateTime = dateTime.AddDays(-7); List <LastTrack> list; List <LastArtist> artList; var result = await LastFm.Current.Client.User.GetRecentScrobbles(user.Name, dateTime, 1, 200); if (result.Success) { list = result.Content.ToList(); if (list.Count > 0) { //if (content[0].IsNowPlaying == true) // content.RemoveAt(0); if (this.IsAuthenticatedUserPage) { recentScroblles.ItemsSource = list.Take(20); } else { recentScroblles.ItemsSource = list.Take(10); } recentScroblles.Visibility = Visibility.Visible; LoadTopTracks(list); } } var artResult = await LastFm.Current.Client.User.GetTopArtists(user.Name, IF.Lastfm.Core.Api.Enums.LastStatsTimeSpan.Overall, 1, 10); if (artResult.Success) { artList = artResult.Content.ToList(); LoadTopArtists(artList); } var resultALB = await LastFm.Current.Client.User.GetTopAlbums(user.Name, IF.Lastfm.Core.Api.Enums.LastStatsTimeSpan.Overall, 1, 10); if (resultALB.Success) { var listALB = resultALB.Content.ToList(); if (listALB.Count > 0) { LoadTopAlbums(listALB); } } progress.IsActive = false; }
public static void ShowLastFmPopupMenu(this FrameworkElement fwe, LastUser user) { MenuFlyout mf = new MenuFlyout(); if (LastFm.Current.IsAuthenticated == false) { MenuFlyoutItem mfi = new MenuFlyoutItem() { Text = ApplicationInfo.Current.Resources.GetString("SignInLastFm"), }; mfi.Click += (s, a) => { PageHelper.MainPage.CreateLastFmLogin(); }; mf.Items.Add(mfi); } else { if (user.Name.ToLower() == ApplicationSettings.LastFmSessionUsername.ToLower()) { MenuFlyoutItem mfi = new MenuFlyoutItem() { Text = user.Name, }; mfi.Click += (s, a) => { PageHelper.MainPage.Navigate(typeof(ProfilePage), user); }; mf.Items.Add(mfi); MenuFlyoutItem mfi2 = new MenuFlyoutItem() { Text = ApplicationInfo.Current.Resources.GetString("ScrobbleSettings"), }; mfi2.Click += (s, a) => { PageHelper.MainPage.Navigate(typeof(Settings), "path=playback"); }; mf.Items.Add(mfi2); MenuFlyoutItem mfi3 = new MenuFlyoutItem() { Text = ApplicationInfo.Current.Resources.GetString("SignOut"), }; mfi3.Click += (s, a) => { LastFm.Current.Logout(); }; mf.Items.Add(mfi3); } else { MenuFlyoutItem mfi = new MenuFlyoutItem() { Text = ApplicationInfo.Current.Resources.GetString("VisitProfile"), }; mfi.Click += (s, a) => { PageHelper.MainPage.Navigate(typeof(ProfilePage), user); }; mf.Items.Add(mfi); } } mf.ShowAt(fwe); }