Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
        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();
        }