private async void Do_Login(object sender, RoutedEventArgs e) { string text = await APIHandle.CheckCredential(); if (text != "") { string token = await APIHandle.GetToken(); if (token != "") { ContentDialog noWifiDialog = new ContentDialog() { Title = "Thông Báo", Content = "Bạn đã đăng nhập. \nVui lòng đăng xuất để đăng nhập tài khoản khác!", CloseButtonText = "Ok" }; await noWifiDialog.ShowAsync(); } } else { LogInDialog login = new LogInDialog(); await login.ShowAsync(); } }
private async void Do_Register(object sender, RoutedEventArgs e) { string text = await APIHandle.CheckCredential(); if (text != "") { string token = await APIHandle.GetToken(); if (token != "") { ContentDialog noWifiDialog = new ContentDialog() { Title = "Thông Báo", Content = "Bạn đã có tài khoản!", CloseButtonText = "Ok" }; await noWifiDialog.ShowAsync(); } } else { Debug.WriteLine("name: " + this.Name); RegisterDialog register = new RegisterDialog(); await register.ShowAsync(); } }
private async void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { args.Cancel = true; try { var song = new Song() { name = song_name.Text, thumbnail = song_thumbnail.Text, description = song_description.Text, link = song_link.Text, author = song_author.Text, singer = song_singer.Text }; string token = await APIHandle.GetToken(); var httpResponseMessage = APIHandle.Create_Song(song, "Basic", token); if (httpResponseMessage.Result.StatusCode == HttpStatusCode.Created) { this.Hide(); ContentDialog noWifiDialog = new ContentDialog() { Title = "Message", Content = "Upload Success.", CloseButtonText = "Ok", }; await noWifiDialog.ShowAsync(); Frame rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(Views.ListViewDemo)); } else { name.Text = author.Text = singer.Text = thumbnail.Text = link.Text = description.Text = ""; var errorJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); ErrorResponse errResponse = JsonConvert.DeserializeObject <ErrorResponse>(errorJson); foreach (var errorField in errResponse.error.Keys) { TextBlock textBlock = this.FindName(errorField) as TextBlock; if (textBlock != null) { textBlock.Text = "*" + errResponse.error[errorField]; Debug.WriteLine("'" + errorField + "' : '" + errResponse.error[errorField] + "'"); textBlock.Visibility = Visibility.Visible; textBlock.Foreground = new SolidColorBrush(Colors.Red); textBlock.FontSize = 10; //textBlock.FontStyle = FontStyle.Static; } } Debug.WriteLine("Upload Fail"); Debug.WriteLine(args.Cancel); } } catch { Debug.WriteLine("Error"); } }
public async void Check_Member_Info() { var file = await ApplicationData.Current.LocalFolder.TryGetItemAsync("token.txt"); if (file != null) { var response = await APIHandle.Get_Member_Infor(); var responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.Created) { await Task.Delay(5000); this.Frame.Navigate(typeof(Views.NavigationView)); } else { Load_Page(); } } else { Load_Page(); } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { this.currentMember.email = this.box_email.Text; this.currentMember.password = this.pwd_password.Password; this.currentMember.firstName = this.box_firstname.Text; this.currentMember.lastName = this.box_lastname.Text; this.currentMember.phone = this.box_email.Text; this.currentMember.address = this.box_address.Text; this.currentMember.introduction = this.box_introduction.Text; this.currentMember.avatar = this.txb_UrlImage.Text; var httpResponseMessage = APIHandle.Sign_Up(this.currentMember); if (httpResponseMessage.Result.StatusCode == HttpStatusCode.Created) { Debug.WriteLine("Success"); await Handle.Login(currentMember.email, currentMember.password); Frame rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(Views.ListViewDemo)); } else { progress1.IsActive = true; progress1.Visibility = Visibility.Visible; args.Cancel = true; email.Text = password.Text = phone.Text = lastName.Text = firstName.Text = avatar.Text = ""; var errorJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); ErrorResponse errResponse = JsonConvert.DeserializeObject <ErrorResponse>(errorJson); foreach (var errorField in errResponse.error.Keys) { if (this.FindName(errorField) is TextBlock textBlock) { textBlock.Text = "*" + errResponse.error[errorField]; Debug.WriteLine("'" + errorField + "' : '" + errResponse.error[errorField] + "'"); textBlock.Visibility = Visibility.Visible; textBlock.Foreground = new SolidColorBrush(Colors.Red); textBlock.FontSize = 10; textBlock.FontStyle = FontStyle.Italic; } } progress1.IsActive = false; progress1.Visibility = Visibility.Collapsed; } }
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { var tbemail = tb_email.Text; var pbpassword = pb_pass.Password; email.Text = password.Text = errorMessage.Text = ""; var httpResponseMessage = APIHandle.Sign_In(tbemail, pbpassword); if (httpResponseMessage.Result.StatusCode == HttpStatusCode.Created) { await Handle.Login(tbemail, pbpassword); Frame rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(Views.ListViewDemo)); } else { var errorJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); ErrorResponse errResponse = JsonConvert.DeserializeObject <ErrorResponse>(errorJson); foreach (var errorField in errResponse.error.Keys) { if (this.FindName(errorField) is TextBlock textBlock) { textBlock.Text = "*" + errResponse.error[errorField]; Debug.WriteLine("'" + errorField + "' : '" + errResponse.error[errorField] + "'"); textBlock.Visibility = Visibility.Visible; textBlock.Foreground = new SolidColorBrush(Colors.Red); textBlock.FontSize = 10; textBlock.FontStyle = FontStyle.Italic; } } args.Cancel = true; } if (rememberCheck.IsChecked == true) { await Handle.WriteFile("remember.txt", "true"); } else { await Handle.WriteFile("remember.txt", ""); } //await Task.Delay(1000); }
//public async Task<string> GetToken() //{ // Windows.Storage.StorageFolder storageFolder = // Windows.Storage.ApplicationData.Current.LocalFolder; // Windows.Storage.StorageFile sampleFile = // await storageFolder.GetFileAsync("credential.txt"); // string text = await Windows.Storage.FileIO.ReadTextAsync(sampleFile); // Credential credential = JsonConvert.DeserializeObject<Credential>(text); // string token = credential.token; // return token; //} //public async void Test() //{ // var key = "Basic"; // var token = "elyXZcmdLKvJXiSXBN5n9xHG1HowA2gZtpEbae1YgFaRS7lovY3IvVCBWEyB6E2X"; // HttpClient httpClient = new HttpClient(); // httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(key, token); // var response = httpClient.GetAsync(APIUrl.API_INFORMATION); // Debug.WriteLine(response.Result.Content.ReadAsStringAsync()); // information = JsonConvert.DeserializeObject<Information>(await response.Result.Content.ReadAsStringAsync()); // Debug.WriteLine(information.lastName); //} public async void GetInfo() { string text = await APIHandle.CheckCredential(); if (text != "") { string token = await APIHandle.GetToken(); Debug.WriteLine(token); if (token != "") { this.login.Visibility = Visibility.Collapsed; this.account.Visibility = Visibility.Visible; var httpResponseMessage = APIHandle.GetData(APIUrl.API_INFORMATION, "Basic", token); var informationJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); Debug.WriteLine(informationJson); information = JsonConvert.DeserializeObject <Information>(informationJson); Debug.WriteLine(information.lastName); string[] date = information.birthday.Split('T'); this.txt_fullname.Text = (information.firstName + " " + information.lastName).ToUpper(); this.txt_birthday.Text = date[0]; this.txt_email.Text = information.email; //this.txt_address.Text = information.address; //this.txt_intro.Text = information.introduction; this.img_avatar.ImageSource = new BitmapImage(new Uri(information.avatar, UriKind.Absolute)); } Debug.WriteLine(text); } else { this.account.Visibility = Visibility.Collapsed; this.login.Visibility = Visibility.Visible; this.txt_fullname.Text = "..."; this.txt_birthday.Text = "..."; this.txt_email.Text = "..."; //this.txt_address.Text = "..."; //this.txt_intro.Text = "..."; //this.txt_gender.Text = "..."; Debug.WriteLine("Token not exits"); Debug.WriteLine(text); } }
private async void Handle_Signup(object sender, RoutedEventArgs e) { if (Validate_Register()) { this.currentMember.firstName = this.FirstName.Text; this.currentMember.lastName = this.LastName.Text; this.currentMember.email = this.Email.Text; this.currentMember.password = this.Password.Password.ToString(); this.currentMember.avatar = this.ImageUrl.Text; this.currentMember.phone = this.Phone.Text; this.currentMember.address = this.Address.Text; this.currentMember.introduction = this.Introduction.Text; var response = await APIHandle.Sign_Up(this.currentMember); var responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.Created) { var rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(MainPage), null, new EntranceNavigationTransitionInfo()); } else { ErrorResponse errorObject = JsonConvert.DeserializeObject <ErrorResponse>(responseContent); if (errorObject != null && errorObject.error.Count > 0) { foreach (var key in errorObject.error.Keys) { var textMessage = this.FindName(key); if (textMessage == null) { continue; } TextBlock textBlock = textMessage as TextBlock; textBlock.Text = errorObject.error[key]; Debug.WriteLine(errorObject.error[key]); textBlock.Visibility = Visibility.Visible; } } } } }
public async void Get_Infor() { var file = await ApplicationData.Current.LocalFolder.TryGetItemAsync("token.txt"); if (file != null) { var response = await APIHandle.Get_Member_Infor(); var responseContent = await response.Content.ReadAsStringAsync(); Member member = JsonConvert.DeserializeObject <Member>(responseContent); this.Email.Text = member.email; this.FirstName.Text = member.firstName; this.LastName.Text = member.lastName; this.Phone.Text = member.phone; this.Address.Text = member.address; this.Gender.SelectedValue = member.gender.ToString(); Debug.WriteLine(member.gender); } }
private async void BtnLogin_Click(object sender, RoutedEventArgs e) { if (Validate_Login() == true) { var response = await APIHandle.Sign_In(this.Email.Text, this.Password.Password); var responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.Created) { TokenResponse token = JsonConvert.DeserializeObject <TokenResponse>(responseContent); StorageFolder folder = ApplicationData.Current.LocalFolder; StorageFile file = await folder.CreateFileAsync("token.txt", CreationCollisionOption.ReplaceExisting); await FileIO.WriteTextAsync(file, responseContent); this.Hide(); var rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(NavigationView), null, new EntranceNavigationTransitionInfo()); } else { ErrorResponse errorObject = JsonConvert.DeserializeObject <ErrorResponse>(responseContent); if (errorObject != null && errorObject.error.Count > 0) { foreach (var key in errorObject.error.Keys) { var textMessage = this.FindName(key); if (textMessage == null) { continue; } TextBlock textBlock = textMessage as TextBlock; textBlock.Text = errorObject.error[key]; textBlock.Visibility = Visibility.Visible; } } } } }
private async void Handle_Signup(object sender, TappedRoutedEventArgs e) { this.currentMember.email = Email.Text; this.currentMember.password = Password.Password; this.currentMember.introduction = Introduction.Text; this.currentMember.firstName = FirstName.Text; this.currentMember.lastName = LastName.Text; this.currentMember.avatar = ImageUrl.Text; this.currentMember.phone = Phone.Text; this.currentMember.address = Address.Text; var httpResponseMessage = APIHandle.Sign_Up(this.currentMember); if (httpResponseMessage.Result.StatusCode == HttpStatusCode.Created) { Debug.WriteLine("Success"); } else { var errorJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); ErrorResponse errResponse = JsonConvert.DeserializeObject <ErrorResponse>(errorJson); foreach (var errorField in errResponse.error.Keys) { TextBlock textBlock = this.FindName(errorField) as TextBlock; textBlock.Text = errResponse.error[errorField]; } } //Debug.WriteLine(jsonResult); //var rs = JObject.Parse(jsonResult); //if ((int)rs["status"] != 201) //{ // ErrorResponse errResponse = JsonConvert.DeserializeObject<ErrorResponse>(jsonResult); // Debug.WriteLine(errResponse); //} }
private async void GetInfo() { string text = await APIHandle.CheckCredential(); if (text != "") { string token = await APIHandle.GetToken(); Debug.WriteLine(token); if (token != "") { var httpResponseMessage = APIHandle.GetData(APIUrl.API_INFORMATION, "Basic", token); Debug.WriteLine(httpResponseMessage.Result.StatusCode); //Debug.WriteLine(httpResponseMessage); if (httpResponseMessage.Result.StatusCode == HttpStatusCode.Created) { var informationJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); Debug.WriteLine(HttpStatusCode.Created); information = JsonConvert.DeserializeObject <Information>(informationJson); string[] date = information.birthday.Split('T'); this.txt_fullname.Text = (information.firstName + " " + information.lastName).ToUpper(); this.txt_birthday.Text = "Birthday: " + date[0]; this.txt_email.Text = "Email: " + information.email; this.txt_phone.Text = "Phone: " + information.phone; try { this.img_avatar.ProfilePicture = new BitmapImage(new Uri(information.avatar, UriKind.Absolute)); } catch { } } } Debug.WriteLine(text); } }
private async void AddSong(object sender, RoutedEventArgs e) { StorageFolder folder = ApplicationData.Current.LocalFolder; StorageFile file = await folder.GetFileAsync("token.txt"); var tokenContent = await FileIO.ReadTextAsync(file); TokenResponse token = JsonConvert.DeserializeObject <TokenResponse>(tokenContent); // Lay thong tin ca nhan bang token. HttpClient client2 = new HttpClient(); client2.DefaultRequestHeaders.Add("Authorization", "Basic " + token.token); var resp = client2.GetAsync("http://2-dot-backup-server-002.appspot.com/_api/v2/members/information").Result; Debug.WriteLine(await resp.Content.ReadAsStringAsync()); var userInfoContent = await resp.Content.ReadAsStringAsync(); Member userInfoJson = JsonConvert.DeserializeObject <Member>(userInfoContent); currentSong.name = this.Name.Text; currentSong.description = Description.Text; currentSong.singer = Singer.Text; currentSong.author = Author.Text; currentSong.thumbnail = Thumbnail.Text; currentSong.link = Link.Text; currentSong.memberId = userInfoJson.id; string content = await APIHandle.Create_Song(this.currentSong); Debug.WriteLine(content); // đến đây là đã có mp3 đã lên rồi. //if (content.Result.StatusCode == System.Net.HttpStatusCode.Created) //{ // Debug.WriteLine("Success"); //} //else //{ // var errorJson = await httpResponseMessage.Result.Content.ReadAsStringAsync(); // ErrorResponse errResponse = JsonConvert.DeserializeObject<ErrorResponse>(errorJson); // foreach (var errorField in errResponse.error.Keys) // { // if (emailValid.Name == errorField) // { // emailValid.Text = errResponse.error[errorField]; // emailValid.Visibility = Visibility.Visible; // } // else if (passValid.Name == errorField) // { // passValid.Text = errResponse.error[errorField]; // passValid.Visibility = Visibility.Visible; // } // else if (firstnameValid.Name == errorField) // { // firstnameValid.Text = errResponse.error[errorField]; // firstnameValid.Visibility = Visibility.Visible; // } // else if (lastName.Name == errorField) // { // lastName.Text = errResponse.error[errorField]; // lastName.Visibility = Visibility.Visible; // } // else if (addressValid.Name == errorField) // { // addressValid.Text = errResponse.error[errorField]; // addressValid.Visibility = Visibility.Visible; // } // else if (phoneValid.Name == errorField) // { // phoneValid.Text = errResponse.error[errorField]; // phoneValid.Visibility = Visibility.Visible; // } // } //} Song songContent = JsonConvert.DeserializeObject <Song>(content); mySong.Add(new Song { name = songContent.name, description = songContent.description, author = songContent.author, singer = songContent.singer, thumbnail = songContent.thumbnail, link = songContent.link }); ListSong.Add(new Song { name = songContent.name, description = songContent.description, author = songContent.author, singer = songContent.singer, thumbnail = songContent.thumbnail, link = songContent.link }); ProgressRing.Visibility = Visibility.Visible; ProgressRing.IsActive = true; SongLoading.Visibility = Visibility.Visible; await Task.Delay(3000); ProgressRing.IsActive = false; ProgressRing.Visibility = Visibility.Collapsed; SongLoading.Visibility = Visibility.Collapsed; var dialog = new Windows.UI.Popups.MessageDialog("Upload thành công"); dialog.Commands.Add(new Windows.UI.Popups.UICommand("OK") { Id = 1 }); dialog.CancelCommandIndex = 1; await dialog.ShowAsync(); //reset Form Create Song Name.Text = ""; Description.Text = ""; Singer.Text = ""; Author.Text = ""; Thumbnail.Text = ""; Link.Text = ""; }
//Dialog login private async void PageLogin(object sender, RoutedEventArgs e) { var stackPanel = new StackPanel(); // Tạo input tài khoản var textBoxName = new TextBox { Header = "Email", Name = "Email", Margin = new Thickness(0, 5, 0, 10), }; // Tạo input pass var textBoxPass = new PasswordBox { Header = "Mật khẩu", Name = "Password", }; // tạo mới link sang page đăng ký var linkSignUp = new HyperlinkButton { Content = "Đăng ký", FontSize = 13, HorizontalAlignment = HorizontalAlignment.Left, }; // add sự kiện Click vào hyperlink linkSignUp.Click += LinkSignUp_Click; stackPanel.Children.Add(textBoxName); stackPanel.Children.Add(textBoxPass); stackPanel.Children.Add(linkSignUp); Style btnPrimaryStyle = (Style)App.Current.Resources["myButtonPrimary"]; Style btnCloseStyle = (Style)App.Current.Resources["myButtonClose"]; dialogLogin.Title = "Đăng nhập"; dialogLogin.Content = stackPanel; dialogLogin.PrimaryButtonText = "Đăng nhập"; dialogLogin.CloseButtonText = "Đóng"; dialogLogin.PrimaryButtonStyle = btnPrimaryStyle; dialogLogin.CloseButtonStyle = btnCloseStyle; dialogLogin.PrimaryButtonClick += async(s, args) => { currentLogin = new Member(); ContentDialogButtonClickDeferral deferral = args.GetDeferral(); var httpResponseMessage = APIHandle.Sign_In(textBoxName.Text, textBoxPass.Password).Result; var responseContent = await httpResponseMessage.Content.ReadAsStringAsync(); if (httpResponseMessage.StatusCode == System.Net.HttpStatusCode.Created) { // save file... Debug.WriteLine(responseContent); // Doc token TokenResponse token = JsonConvert.DeserializeObject <TokenResponse>(responseContent); // Luu token StorageFolder folder = ApplicationData.Current.LocalFolder; StorageFile file = await folder.CreateFileAsync("token.txt", CreationCollisionOption.ReplaceExisting); await FileIO.WriteTextAsync(file, responseContent); await DoLogin(); //Đi thẳng vào MainPage và thích móc gì thì móc var frame = Window.Current.Content as Frame; var currentPage = frame.Content as Page; var appbarlogin = currentPage.FindName("ShowLoginButton"); var appbarinfo = currentPage.FindName("ShowUserInfo"); AppBarButton app1 = appbarlogin as AppBarButton; AppBarButton app2 = appbarinfo as AppBarButton; app1.Visibility = Visibility.Collapsed; app2.Visibility = Visibility.Visible; GlobalFlySong._isLogin = true; } else { // Xu ly loi. ErrorResponse errorObject = JsonConvert.DeserializeObject <ErrorResponse>(responseContent); //if (errorObject != null && errorObject.error.Count > 0) //{ // foreach (var key in errorObject.error.Keys) // { // var textMessage = FindName(key); // if (textMessage == null) // { // continue; // } // TextBlock textBlock = textMessage as TextBlock; // textBlock.Text = errorObject.error[key]; // textBlock.Visibility = Visibility.Visible; // } //} Debug.WriteLine(errorObject); } deferral.Complete(); }; await dialogLogin.ShowAsync(); }