예제 #1
0
            public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
            {
                if (!Enabled)
                {
                    return;
                }

                var history = historyViewModel.History [indexPath.Row];

                if (history.Type != AssignmentHistoryType.PhoneCall)
                {
                    historyViewModel.LoadAssignmentFromHistory(history)
                    .ContinueWith(_ => {
                        BeginInvokeOnMainThread(() => {
                            var parentController = controller.ParentViewController.ParentViewController;
                            assignmentViewModel.LastAssignment     = assignmentViewModel.SelectedAssignment;
                            assignmentViewModel.SelectedAssignment = historyViewModel.PastAssignment;
                            parentController.PerformSegue("AssignmentHistory", parentController);
                        });
                    });

                    //Deselect the cell, a bug in Apple's UITableView requires BeginInvoke
                    BeginInvokeOnMainThread(() => {
                        var cell = tableView.CellAt(indexPath);
                        cell.SetSelected(false, true);
                    });
                }
            }
        /// <summary>
        /// History list view item click
        /// </summary>
        private async void OnItemClick(object sender, ItemClickEventArgs e)
        {
            var history = e.ClickedItem as AssignmentHistory;

            if (history != null)
            {
                await historyViewModel.LoadAssignmentFromHistory(history);

                if (!assignmentViewModel.SelectedAssignment.IsHistory)
                {
                    assignmentViewModel.PreviousSelected = assignmentViewModel.SelectedAssignment;
                }
                assignmentViewModel.SelectedAssignment = historyViewModel.PastAssignment;
                Helpers.NavigateTo <AssignmentPage> ();
            }
        }
예제 #3
0
        protected override async void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            Window.RequestFeature(WindowFeatures.ActionBar);

            SetContentView(Resource.Layout.SummaryFragmentLayout);

            number     = FindViewById <TextView> (Resource.Id.selectedAssignmentNumber);
            name       = FindViewById <TextView> (Resource.Id.selectedAssignmentContactName);
            phone      = FindViewById <TextView> (Resource.Id.selectedAssignmentPhoneNumber);
            address    = FindViewById <TextView> (Resource.Id.selectedAssignmentAddress);
            items      = FindViewById <TextView> (Resource.Id.selectedAssignmentTotalItems);
            addItems   = FindViewById <Button> (Resource.Id.selectedAssignmentAddItem);
            addLabor   = FindViewById <Button> (Resource.Id.selectedAssignmentAddLabor);
            addExpense = FindViewById <Button> (Resource.Id.selectedAssignmentAddExpense);
            navigationFragmentContainer = FindViewById <FrameLayout> (Resource.Id.navigationFragmentContainer);
            mapButton   = FindViewById <LinearLayout> (Resource.Id.summaryMapIconLayout);
            phoneButton = FindViewById <LinearLayout> (Resource.Id.summaryPhoneIconLayout);
            selectedAssignmentLayout = FindViewById <LinearLayout> (Resource.Id.selectedAssignment);

            phoneButton.Click += (sender, e) => {
                AndroidExtensions.MakePhoneCall(this, phone.Text);
            };
            mapButton.Click += (sender, e) => {
                var navFragment = FragmentManager.FindFragmentById <NavigationFragment> (Resource.Id.navigationFragmentContainer);
                var index       = Constants.HistoryNavigation.IndexOf("Map");
                navFragment.SetNavigation(index);
            };

            selectedAssignmentLayout.SetBackgroundColor(Resources.GetColor(Resource.Color.historycolor));

            await historyViewModel.LoadAssignmentFromHistory(assignmentHistory);

            RunOnUiThread(() => {
                //setting up default fragments
                var transaction               = FragmentManager.BeginTransaction();
                navigationFragment            = new NavigationFragment();
                navigationFragment.Assignment = historyViewModel.PastAssignment;
                transaction.SetTransition(FragmentTransit.FragmentOpen);
                transaction.Replace(Resource.Id.navigationFragmentContainer, navigationFragment);
                transaction.Commit();
                if (historyViewModel.PastAssignment != null)
                {
                    ActionBar.Title = string.Format("#{0} {1} {2}", assignmentHistory.JobNumber, "Summary", historyViewModel.PastAssignment.StartDate.ToShortDateString());

                    number.Text  = historyViewModel.PastAssignment.Priority.ToString();
                    name.Text    = assignmentHistory.ContactName;
                    phone.Text   = assignmentHistory.ContactPhone;
                    address.Text = string.Format("{0}\n{1}, {2} {3}", assignmentHistory.Address, assignmentHistory.City, assignmentHistory.State, assignmentHistory.Zip);
                }
                navigationFragment.NavigationSelected += NavigationSelected;
            });

            items.Visibility    = addItems.Visibility = ViewStates.Invisible;
            addLabor.Visibility = ViewStates.Gone;

            ActionBar.SetLogo(Resource.Drawable.XamarinTitle);
            ActionBar.SetBackgroundDrawable(Resources.GetDrawable(Resource.Drawable.actionbar));
            ActionBar.SetDisplayHomeAsUpEnabled(true);
        }