public NavigationItemSelectorListener (NavigationFragment fragment)
 {
     this.fragment = fragment;
 }
		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);
		}
        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);
        }
 public NavigationItemSelectorListener(NavigationFragment fragment)
 {
     this.fragment = fragment;
 }