private void LoadFragment(HomeNavigationFragmentType type)
        {
            var tag = type.ToString();
            var fragmentTransaction = SupportFragmentManager.BeginTransaction();

            if (!(SupportFragmentManager.FindFragmentByTag(tag) is NavigationFragment navigationFragment))
            {
                navigationFragment = NavigationFragment.NewInstance(CreateRootFragment(type));
                fragmentTransaction.Add(Resource.Id.ContentFrameLayout, navigationFragment, tag);
            }
Пример #2
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);
        }
Пример #3
0
        protected override 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);

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

            if (assignment != null)
            {
                ActionBar.Title = string.Format("#{0} {1} {2}", assignment.JobNumber, "Summary", assignment.StartDate.ToShortDateString());

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

            //portrait mode, flip back and forth when selecting the navigation menu.
            if (Resources.Configuration.Orientation == Orientation.Landscape)
            {
                navigationFragmentContainer.Visibility = ViewStates.Visible;
            }
            else
            {
                navigationFragmentContainer.Visibility = ViewStates.Invisible;
            }

            //setting up default fragments
            var transaction = FragmentManager.BeginTransaction();

            navigationFragment            = new NavigationFragment();
            navigationFragment.Assignment = assignment;
            transaction.SetTransition(FragmentTransit.FragmentOpen);
            transaction.Replace(Resource.Id.navigationFragmentContainer, navigationFragment);
            transaction.Commit();

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

            addItems.Click += (sender, e) => {
                itemDialog            = new ItemsDialog(this);
                itemDialog.Assignment = assignment;
                itemDialog.Show();
            };
            addLabor.Click += (sender, e) => {
                laborDialog              = new AddLaborDialog(this);
                laborDialog.Assignment   = assignment;
                laborDialog.CurrentLabor = new Labor();
                laborDialog.Show();
            };
            addExpense.Click += (sender, e) => {
                //show add expense dialog;
                expenseDialog                = new ExpenseDialog(this);
                expenseDialog.Assignment     = assignment;
                expenseDialog.CurrentExpense = new Expense();
                expenseDialog.Show();
            };

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