private async void FeedbackDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { try { var log = await FileIOHelper.CreateCacheFileAsync(Guid.NewGuid().ToString() + "_Feedback"); if (!ReportBox.Text.IsNullorEmpty()) { await FileIO.AppendTextAsync(log, "User Voice = " + ReportBox.Text + Environment.NewLine); if (!EmailBox.Text.IsNullorEmpty()) { if (new EmailAddressAttribute().IsValid(EmailBox.Text)) { await FileIO.AppendTextAsync(log, "Email = " + EmailBox.Text + Environment.NewLine); var fileBytes = await FileIOHelper.GetBytesAsync(log); WebHelper.UploadFilesToServer(new Uri(Utils.UPLOAD_CRASH), null, log.Name, "application/octet-stream", fileBytes); } else { EmailBox.PlaceholderText = "Invalid Email address!"; await FeedbackDialog.ShowAsync(); } } else { EmailBox.PlaceholderText = "Invalid Email address!"; await FeedbackDialog.ShowAsync(); } } else { ReportBox.PlaceholderText = "Input some opinion"; await FeedbackDialog.ShowAsync(); } } catch (Exception) { FeedbackDialog.PrimaryButtonText = "Failed"; await FeedbackDialog.ShowAsync(); } }
private async void CrashDialog_Loaded(object sender, RoutedEventArgs e) { CrashInfo.Text = crash.Message + '\n' + "Error Code:" + crash.HResult.ToHexString(); CrashDialog.PrimaryButtonClick += async(m, v) => { try { var crashLOG = await FileIOHelper.AppendLogtoCacheAsync(crash, Guid.NewGuid().ToString()); if (!ReportBox.Text.IsNullorEmpty()) { await FileIO.AppendTextAsync(crashLOG, "User Voice = " + ReportBox.Text + Environment.NewLine); } if (!EmailBox.Text.IsNullorEmpty()) { if (new EmailAddressAttribute().IsValid(EmailBox.Text)) { await FileIO.AppendTextAsync(crashLOG, "Email = " + EmailBox.Text + Environment.NewLine); } } var fileBytes = await FileIOHelper.GetBytesAsync(crashLOG); WebHelper.UploadFilesToServer(new Uri(Utils.UPLOAD_CRASH), null, crashLOG.Name, "application/octet-stream", fileBytes); } catch (Exception) { CrashDialog.PrimaryButtonText = "Failed"; await CrashDialog.ShowAsync(); } }; CrashDialog.SecondaryButtonClick += (a, q) => { Application.Current.Exit(); }; await CrashDialog.ShowAsync(); }