public AddNewTaskPage(AddNewTaskPageViewModel vm) { InitializeComponent(); viewModel = vm; BindingContext = viewModel; viewModel.Task = viewModel.Task; FrameClass1.BorderColor = Color.FromRgba(0, 0, 0, 0.1); FrameClass2.BorderColor = Color.FromRgba(0, 0, 0, 0.1); MessagingCenter.Subscribe <AddNewTaskPageViewModel, Boolean>(this, "TaskSubmitStatus", (s, result) => { //Device.BeginInvokeOnMainThread(async () => await Navigation.PushAsync(new LoginPage())); Device.BeginInvokeOnMainThread(async() => await DisplayAlert("Submitted", "New Task Has Been Saved", "OK")); } ); MessagingCenter.Subscribe <ContractorListPage, String>(this, "Contractor", (sender, arg) => { String chosenCompany = arg; viewModel.SetANewContractor(chosenCompany); }); MessagingCenter.Subscribe <EquipmentListPage, String>(this, "Equipment", (sender, arg) => { String chosenEquiupment = arg; viewModel.SetANewEquipment(chosenEquiupment); }); }
public void Handle_OnScanResult(Result result) { //Device.BeginInvokeOnMainThread(async() => //{ //await DisplayAlert("Scanned result", result.Text, "OK"); //MessagingCenter.Subscribe<BarcodeScanPageViewModel, string>(this, "NewTask", async (sender, barcode) => //await DisplayAlert("Scanned result", barcode, "OK") //await Navigation.PushAsync(new LoginPage()); //); //}); MessagingCenter.Unsubscribe <BarcodeInputManuallyViewModel, string>(this, "NewTask"); Console.WriteLine("Before Subscribe"); if (currentThread != Environment.CurrentManagedThreadId) { currentThread = Environment.CurrentManagedThreadId; MessagingCenter.Subscribe <BarcodeScanPageViewModel, string>(this, "NewTask", async(sender, barcode) => { MessagingCenter.Unsubscribe <BarcodeScanPageViewModel, string>(this, "NewTask"); //Device.BeginInvokeOnMainThread(async() => await Navigation.PushAsync(new LoginPage()) ); Device.BeginInvokeOnMainThread(async() => //await DisplayAlert("It's a new task, should jump to a new task page", barcode, "OK")); { bool answer = await DisplayAlert("This is new barcode", "Would you like to create a new task?", "Yes", "No"); MessagingCenter.Unsubscribe <BarcodeInputManuallyViewModel, string>(this, "NewTask"); if (answer) { AddNewTaskPageViewModel addTaskViewModel = new AddNewTaskPageViewModel(barcode, taskListViewModel); await Navigation.PushAsync(new AddNewTaskPage(addTaskViewModel)); currentThread = 0; } } ); } ); } MessagingCenter.Subscribe <BarcodeScanPageViewModel, string>(this, "ExistedTask", async(sender, barcode) => { MessagingCenter.Unsubscribe <BarcodeScanPageViewModel, string>(this, "ExistedTask"); //Device.BeginInvokeOnMainThread(async () => await Navigation.PushAsync(new LoginPage())); Device.BeginInvokeOnMainThread(async() => //await DisplayAlert("It's an existed task, should jump to existed task page", barcode, "OK") await Navigation.PushAsync(new TaskPage(viewModel.ExistedTask)) ); } ); }
public BarcodeInputManuallyPage(BarcodeInputManuallyViewModel viewModel) { InitializeComponent(); viewmodel = viewModel; this.BindingContext = viewmodel; taskListViewModel = viewmodel.TaskListViewModel; //MessagingCenter.Unsubscribe<BarcodeInputManuallyViewModel, string>(this, "NewTask"); Console.WriteLine("Before Subscribe"); MessagingCenter.Subscribe <BarcodeInputManuallyViewModel, string>(this, "NewTask", async(sender, barcode) => { //Device.BeginInvokeOnMainThread(async() => await Navigation.PushAsync(new LoginPage()) ); Console.WriteLine("After Subscribe"); Device.BeginInvokeOnMainThread(async() => //await DisplayAlert("It's a new task, should jump to a new task page", barcode, "OK")); { bool answer = await DisplayAlert("This is new barcode", "Would you like to create a new task?", "Yes", "No"); if (answer) { AddNewTaskPageViewModel addTaskViewModel = new AddNewTaskPageViewModel(barcode, taskListViewModel); await Navigation.PushAsync(new AddNewTaskPage(addTaskViewModel)); } } ); } ); //MessagingCenter.Unsubscribe<BarcodeInputManuallyViewModel, string>(this, "NewTask"); MessagingCenter.Subscribe <BarcodeInputManuallyViewModel, string>(this, "ExistedTask", async(sender, barcode) => { //Device.BeginInvokeOnMainThread(async () => await Navigation.PushAsync(new LoginPage())); Device.BeginInvokeOnMainThread(async() => //await DisplayAlert("It's an existed task, should jump to existed task page", barcode, "OK") await Navigation.PushAsync(new TaskPage(viewModel.ExistedTask)) ); } ); }
public async void AddNewTaskClicked(Object sender, System.EventArgs e) { var AddNewTaskPageViewModel = new AddNewTaskPageViewModel(ViewModel); await Navigation.PushAsync(new AddNewTaskPage(AddNewTaskPageViewModel)); }
public AddNewExcercisePage() { InitializeComponent(); DataContext = new AddNewTaskPageViewModel(); }