Adding final project to dev branch
This commit is contained in:
120
WguApp/Views/TestPage.xaml.cs
Normal file
120
WguApp/Views/TestPage.xaml.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Plugin.LocalNotification;
|
||||
using WguApp.Services;
|
||||
|
||||
namespace WguApp.Views;
|
||||
|
||||
public partial class TestPage : ContentPage
|
||||
{
|
||||
public TestPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void TestBtn_OnClicked(object? sender, EventArgs e)
|
||||
{
|
||||
if (await LocalNotificationCenter.Current.AreNotificationsEnabled() == false)
|
||||
{
|
||||
await LocalNotificationCenter.Current.RequestNotificationPermission();
|
||||
}
|
||||
|
||||
var notification = new NotificationRequest
|
||||
{
|
||||
NotificationId = 1,
|
||||
Title = "Notification Test",
|
||||
Description = "Success!",
|
||||
Schedule =
|
||||
{
|
||||
NotifyTime = DateTime.Now.AddSeconds(30),
|
||||
RepeatType = NotificationRepeat.No
|
||||
}
|
||||
};
|
||||
await LocalNotificationCenter.Current.Show(notification);
|
||||
|
||||
await DisplayAlert("Info", "A test notification should appear in 30 seconds", "ok");
|
||||
}
|
||||
|
||||
private async void AddData_OnCLicked(object? sender, EventArgs e)
|
||||
{
|
||||
var result = await DisplayAlert("Load Sample Data", "Do you really want to load DB sample data? This will delete ALL data from the database. This action cannot be undone.", "Yes", "No");
|
||||
if (!result) return;
|
||||
|
||||
await DatabaseService.LoadSampleData();
|
||||
|
||||
var terms = await DatabaseService.GetAllTerms();
|
||||
var courses = await DatabaseService.GetAllCourses();
|
||||
var assessments = await DatabaseService.GetAllAssessments();
|
||||
|
||||
await DisplayAlert("Info", $"Tried to load sample db data, there are now {terms.Count} Terms, {courses.Count} Courses, and {assessments.Count} Assessments", "Ok");
|
||||
}
|
||||
|
||||
private async void Delete_OnClicked(object? sender, EventArgs e)
|
||||
{
|
||||
var terms = await DatabaseService.GetAllTerms();
|
||||
var courses = await DatabaseService.GetAllCourses();
|
||||
var assessments = await DatabaseService.GetAllAssessments();
|
||||
|
||||
var result = await DisplayAlert("Delete DB Data", $"Do you really want to delete the DB data? This will delete ALL data from the database. This action cannot be undone.\nThere are currently {terms.Count} Terms, {courses.Count} Courses, and {assessments.Count} Assessments", "Yes", "No");
|
||||
if (!result) return;
|
||||
|
||||
await DatabaseService.ClearDbData();
|
||||
|
||||
terms = await DatabaseService.GetAllTerms();
|
||||
courses = await DatabaseService.GetAllCourses();
|
||||
assessments = await DatabaseService.GetAllAssessments();
|
||||
|
||||
await DisplayAlert("Info", $"Tried to delete db data, there are now {terms.Count} Terms, {courses.Count} Courses, and {assessments.Count} Assessments", "Ok");
|
||||
}
|
||||
|
||||
private async void ShareButton_OnClick(object? sender, EventArgs e)
|
||||
{
|
||||
await Share.Default.RequestAsync(new ShareTextRequest
|
||||
{
|
||||
Text = "Test Share Text",
|
||||
Title = "Share Text"
|
||||
});
|
||||
}
|
||||
|
||||
private async void ListNotifs_Clicked(object? sender, EventArgs e)
|
||||
{
|
||||
var pendingNotifs = await LocalNotificationCenter.Current.GetPendingNotificationList();
|
||||
|
||||
var message = pendingNotifs.Aggregate($"-- Scheduled notifications ({pendingNotifs.Count}) --\n",
|
||||
(current, notif) => current + $"{notif.Title} : {notif.Schedule.NotifyTime}\n");
|
||||
|
||||
await DisplayAlert("Info", message, "Ok");
|
||||
}
|
||||
|
||||
private void TestLogger_Clicked(object? sender, EventArgs e)
|
||||
{
|
||||
LoggerService.LogToFile("Test");
|
||||
}
|
||||
|
||||
private async void ClearAllNotifs_Clicked(object? sender, EventArgs e)
|
||||
{
|
||||
var pendingNotifs = await LocalNotificationCenter.Current.GetPendingNotificationList();
|
||||
|
||||
foreach (var notificationRequest in pendingNotifs)
|
||||
{
|
||||
await LocalNotificationService.CancelNotification(notificationRequest.NotificationId);
|
||||
}
|
||||
}
|
||||
|
||||
private async void ShowLog_Clicked(object? sender, EventArgs e)
|
||||
{
|
||||
var logFilePath = Path.Combine(FileSystem.AppDataDirectory, "log.txt");
|
||||
|
||||
await DisplayAlert("Log", await File.ReadAllTextAsync(logFilePath), "Ok");
|
||||
}
|
||||
|
||||
private void ClearLog_Clicked(object? sender, EventArgs e)
|
||||
{
|
||||
var logFilePath = Path.Combine(FileSystem.AppDataDirectory, "log.txt");
|
||||
|
||||
File.WriteAllText(logFilePath, "");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user