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); }
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; } } } } }
//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(); }