Ejemplo n.º 1
0
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.  The Parameter
        /// property is typically used to configure the page.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            //Do this to fix animation when navigating to screen
            assignmentViewModel.Assignments = null;

            if (!timerLoaded)
            {
                await assignmentViewModel.LoadTimerEntryAsync();

                await assignmentViewModel.LoadAssignmentsAsync();

                activeAssignment.Visibility = assignmentViewModel.ActiveAssignment != null ? Visibility.Visible : Visibility.Collapsed;
                timerLoaded = true;
            }
            else
            {
                await assignmentViewModel.LoadAssignmentsAsync();

                activeAssignment.Visibility = assignmentViewModel.ActiveAssignment != null ? Visibility.Visible : Visibility.Collapsed;
            }
            //toggle button state changed isn't being called unless is checked changes, this does not call the record button by setting this property
            //this was the only way at the moment to get the toggle button to have its recording state changed when navigating to and from this screen.
            record.IsChecked = !assignmentViewModel.Recording;
            record.IsChecked = assignmentViewModel.Recording;
        }
Ejemplo n.º 2
0
        public void Load()
        {
            var task = viewModel.LoadAssignmentsAsync();

            task.Wait();

            Assert.That(viewModel.Assignments, Is.Not.Null);
            Assert.That(viewModel.Assignments.Count, Is.Not.EqualTo(0));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Overrides resume so we can refresh the list when the activity is loaded.
        /// </summary>
        protected override void OnResume()
        {
            base.OnResume();

            assignmentViewModel.LoadAssignmentsAsync().ContinueWith(_ => {
                RunOnUiThread(() => {
                    SetActiveAssignmentVisible(assignmentViewModel.ActiveAssignment != null);
                    assignmentsListView.Adapter = new AssignmentsAdapter(this, Resource.Layout.AssignmentItemLayout, assignmentViewModel.Assignments);
                });
            });
        }
Ejemplo n.º 4
0
        private async void SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var assignmentStatus = status.SelectedItem;

            if (assignmentStatus != null && (AssignmentStatus)assignmentStatus != assignmentViewModel.SelectedAssignment.Status)
            {
                switch ((AssignmentStatus)assignmentStatus)
                {
                case AssignmentStatus.Active:
                    timerControl.Visibility = Windows.UI.Xaml.Visibility.Visible;
                    assignmentViewModel.SelectedAssignment.Status = AssignmentStatus.Active;
                    await assignmentViewModel.SaveAssignmentAsync(assignmentViewModel.SelectedAssignment);

                    await assignmentViewModel.LoadAssignmentsAsync();

                    break;

                case AssignmentStatus.Hold:
                    timerControl.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    assignmentViewModel.SelectedAssignment.Status = AssignmentStatus.Hold;
                    await assignmentViewModel.SaveAssignmentAsync(assignmentViewModel.SelectedAssignment);

                    await assignmentViewModel.LoadAssignmentsAsync();

                    break;

                case AssignmentStatus.Complete:
                    //Set back to old status and navigate
                    assignmentViewModel.SelectedAssignment.Status = (AssignmentStatus)e.RemovedItems.First();
                    Helpers.NavigateTo <ConfirmationsPage> ();
                    break;

                default:
                    break;
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Updates location pins on the map.
        /// </summary>
        async void UpdateLocations()
        {
            if (googleMap == null)
            {
                return;
            }

            googleMap.Clear();

            try {
                MapsInitializer.Initialize(this);
            } catch (GooglePlayServicesNotAvailableException e) {
                Console.WriteLine("Google Play Services not available:" + e);
                return;
            }

            await assignmentViewModel.LoadAssignmentsAsync();

            var points = new LatLngBounds.Builder();

            foreach (var assignment in assignmentViewModel.Assignments)
            {
                var markerOptions = GetMarkerOptionsForAssignment(assignment);
                googleMap.AddMarker(markerOptions);
                points.Include(markerOptions.Position);
            }

            if (assignmentViewModel.ActiveAssignment != null)
            {
                var markerOptions = GetMarkerOptionsForAssignment(assignmentViewModel.ActiveAssignment);
                googleMap.AddMarker(markerOptions).ShowInfoWindow();
                points.Include(markerOptions.Position);
                googleMap.CameraPosition.Target = markerOptions.Position;
            }

            var bounds = points.Build();

            if (mapView.Width == 0)
            {
                initTry = 0;
                PostDelayInitMap(bounds);
            }
            else
            {
                googleMap.MoveCamera(CameraUpdateFactory.NewLatLngBounds(bounds, 0));
            }
        }
        /// <summary>
        /// Updates location pins on the map.
        /// </summary>
        private void UpdateLocations()
        {
            assignmentViewModel.LoadAssignmentsAsync().ContinueWith(_ => {
                RunOnUiThread(() => {
                    int i = 0;
                    foreach (var item in assignmentViewModel.Assignments)
                    {
//                        var overlay = new OverlayItem (new GeoPoint (item.Latitude.ToIntE6 (), item.Longitude.ToIntE6 ()),
//                            item.CompanyName, string.Format ("{0} {1}, {2} {3}", item.Address, item.City, item.State, item.Zip));
                        Drawable drawable = null;
                        switch (item.Status)
                        {
                        case AssignmentStatus.Hold:
                            drawable = Resources.GetDrawable(Resource.Drawable.AcceptedAssignmentIcon);
                            break;

                        default:
                            drawable = Resources.GetDrawable(Resource.Drawable.NewAssignmentIcon);
                            break;
                        }
//                        var mapoverlay = new MapOverlayItem (this, drawable, overlay, mapView);
//                        mapoverlay.AssignmentIndex = i;
//                        mapView.Overlays.Add (mapoverlay);
                        i++;
                    }
                    if (assignmentViewModel.ActiveAssignment != null)
                    {
//                        var activeOverlay = new OverlayItem (new GeoPoint (assignmentViewModel.ActiveAssignment.Latitude.ToIntE6 (), assignmentViewModel.ActiveAssignment.Longitude.ToIntE6 ()),
//                            assignmentViewModel.ActiveAssignment.CompanyName, string.Format ("{0} {1}, {2} {3}", assignmentViewModel.ActiveAssignment.Address,
//                            assignmentViewModel.ActiveAssignment.City, assignmentViewModel.ActiveAssignment.State, assignmentViewModel.ActiveAssignment.Zip));
//                        var mapoverlay = new MapOverlayItem (this, Resources.GetDrawable (Resource.Drawable.ActiveAssignmentIcon), activeOverlay, mapView);
//                        mapoverlay.AssignmentIndex = -1;
//                        mapView.Overlays.Add (mapoverlay);
                    }
                });
            });
        }