Пример #1
0
        void btnLoginClicked(object sender, EventArgs e)
        {
            string username = m_txtUsername.Text;
            string password = m_txtPassword.Text;

            if (string.IsNullOrWhiteSpace(username) ||
                string.IsNullOrWhiteSpace(password))
            {
                DisplayAlert(
                    DisplayConstants.AppName,
                    DisplayConstants.UsernameAndPasswordRequired,
                    DisplayConstants.OK);
            }
            else
            {
                bool result = HWManager.GetInstance().Login(username, password);

                if (result)
                {
                    Navigation.PopModalAsync(true);
                }
                else
                {
                    DisplayAlert(
                        DisplayConstants.AppName,
                        DisplayConstants.InvalidUsernameOrPasssword,
                        DisplayConstants.OK);
                }
            }
        }
Пример #2
0
        void Logout_Clicked(object sender, EventArgs e)
        {
            HWManager.GetInstance().SettingManager.ClearUser();

            LoginForm login = new LoginForm();

            Navigation.PushModalAsync(login);
        }
Пример #3
0
        private void LoadRecentTags()
        {
            List <Tag> tags = HWManager.GetInstance().GetRecentTags();

            Device.BeginInvokeOnMainThread(() =>
            {
                m_lstRecentTags.ItemsSource = tags;
            });
        }
Пример #4
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            if (!HWManager.GetInstance().AreUserCredentialsCached())
            {
                LoginForm login = new LoginForm();
                Navigation.PushModalAsync(login);
            }
        }
Пример #5
0
        private List <TagToReview> GetTagsToReview()
        {
            TagsToReviewResponse response = HWManager.GetInstance().ApiManager.GetTagsToReview(HydrantWikiApp.User);

            if (response.Success)
            {
                return(response.Tags);
            }

            return(null);
        }
Пример #6
0
        public SettingsForm() : base("Settings")
        {
            m_InsideLayout = new StackLayout
            {
                Orientation       = StackOrientation.Vertical,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                Margin            = new Thickness(10, 10, 10, 10),
            };
            OutsideLayout.Children.Add(m_InsideLayout);

            lblUnsynced = new HWLabel
            {
                Text = "Tags unsent: ?",
                HorizontalTextAlignment = TextAlignment.Center
            };
            m_InsideLayout.Children.Add(lblUnsynced);

            btnSync = new HWButton
            {
                Text            = "Sync Tags",
                BackgroundColor = Color.White,
                BorderWidth     = 1,
                BorderColor     = Color.Black,
                IsEnabled       = false
            };
            btnSync.Clicked += Sync_Clicked;
            m_InsideLayout.Children.Add(btnSync);

            btnLogout = new HWButton
            {
                Text            = "Logout",
                BackgroundColor = Color.White,
                BorderWidth     = 1,
                BorderColor     = Color.Black,
                Margin          = new Thickness(0, 10, 0, 0)
            };
            btnLogout.Clicked += Logout_Clicked;
            m_InsideLayout.Children.Add(btnLogout);

            if (HWManager.GetInstance().PlatformManager.HasNetworkConnectivity)
            {
                btnSync.Text      = "Sync Tags";
                btnSync.IsEnabled = true;
            }
            else
            {
                btnSync.Text      = "Sync Tags - No Network";
                btnSync.IsEnabled = false;
            }

            Task t = Task.Factory.StartNew(() => LoadTagCount());
        }
Пример #7
0
        public static List <MenuOption> GetMenu()
        {
            List <MenuOption> menuItems = new List <MenuOption>();

            User user = HWManager.GetInstance().SettingManager.GetUser();

            menuItems.Add(new MenuOption()
            {
                Title      = "Home",
                TargetType = typeof(DefaultForm)
            });

            menuItems.Add(new MenuOption()
            {
                Title      = "Hydrant Map",
                TargetType = typeof(HydrantMap)
            });

            menuItems.Add(new MenuOption()
            {
                Title      = "Nearby Hydrants",
                TargetType = typeof(NearbyHydrants)
            });

            if (user != null &&
                user.UserType != null &&
                (user.UserType.Equals("SuperUser", StringComparison.OrdinalIgnoreCase) ||
                 user.UserType.Equals("Administrator", StringComparison.OrdinalIgnoreCase)))
            {
                menuItems.Add(new MenuOption()
                {
                    Title      = "Review Tags",
                    TargetType = typeof(ReviewTagsForm)
                });
            }

            menuItems.Add(new MenuOption()
            {
                Title      = "About",
                TargetType = typeof(About)
            });

            menuItems.Add(new MenuOption()
            {
                Title      = "Settings",
                TargetType = typeof(SettingsForm)
            });


            return(menuItems);
        }
Пример #8
0
        async void SaveButton_Clicked(object sender, EventArgs e)
        {
            HWManager manager = HWManager.GetInstance();

            Guid   imageGuid = Guid.NewGuid();
            string filename  = null;

            GeoPoint average = m_Averager.Average.GetAverage();

            if (average != null)
            {
                if (m_imgHydrant.Source != null)
                {
                    string file = string.Format("{0}.jpg", imageGuid);
                    filename = manager.PlatformManager.GetLocalImageFilename(file);
                    await manager.PlatformManager.SaveImage(m_imgHydrant.Source, filename);
                }

                Tag tag = new Tag
                {
                    Id           = Guid.NewGuid(),
                    ImageGuid    = imageGuid,
                    TagTime      = average.DeviceDateTime,
                    Position     = average,
                    SentToServer = false
                };

                //Save Tag locally - Figure out
                manager.Persist(tag);

                if (manager.PlatformManager.HasNetworkConnectivity)
                {
                    //Save tag to server if connected
                    TagResponse response = manager.ApiManager.SaveTag(HydrantWikiApp.User, tag);
                    if (response != null)
                    {
                        tag.ThumbnailUrl = response.ThumbnailUrl;
                        tag.ImageUrl     = response.ImageUrl;
                    }

                    manager.ApiManager.SaveTagImage(HydrantWikiApp.User, filename);

                    tag.SentToServer = true;
                    manager.Persist(tag);
                }
            }

            Cleanup();
            Navigation.PopModalAsync(true);
        }
Пример #9
0
        private List <Hydrant> GetHydrants(GeoPoint position)
        {
            if (position != null)
            {
                var response = HWManager.GetInstance().ApiManager.GetHydrantsInCirle(
                    HydrantWikiApp.User,
                    position.Latitude,
                    position.Longitude,
                    500);

                return(response.Hydrants);
            }

            return(null);
        }
Пример #10
0
        private List <Hydrant> GetHydrants(GeoBox box)
        {
            if (box != null)
            {
                var response = HWManager.GetInstance().ApiManager.GetHydrantsInBox(
                    HydrantWikiApp.User,
                    box.MinLatitude,
                    box.MaxLatitude,
                    box.MinLongitude,
                    box.MaxLongitude);

                return(response.Hydrants);
            }

            return(null);
        }
Пример #11
0
        public HydrantWikiApp(
            IPlatformManager _platformManager)
        {
            m_PlatformManager = _platformManager;

            DataFolder  = m_PlatformManager.DataFolder;
            ImageFolder = m_PlatformManager.ImageFolder;

            HWManager manager = HWManager.GetInstance();

            manager.PlatformManager = m_PlatformManager;

            User = manager.SettingManager.GetUser();

            // The root page of your application
            MainPage = new MainForm(this);
        }
Пример #12
0
        void LoadTagCount()
        {
            List <Tag> tags = HWManager.GetInstance().GetTagsNotSentToServer();

            if (tags != null)
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    lblUnsynced.Text = string.Format("Tags unsent: {0}", tags.Count);
                    if (tags.Count > 0)
                    {
                        btnSync.IsEnabled = true;
                    }
                    else
                    {
                        btnSync.IsEnabled = false;
                    }
                });
            }
        }
Пример #13
0
        private void LoadTagCount()
        {
            try
            {
                if (HydrantWikiApp.User != null)
                {
                    var response = HWManager.GetInstance().ApiManager.GetMyTagCount(HydrantWikiApp.User);

                    if (response.Success)
                    {
                        HWManager.GetInstance().SettingManager.SetTagCount(response.TagCount);

                        Device.BeginInvokeOnMainThread(() =>
                        {
                            m_lblTags.Text = string.Format("Total Tags Collected - {0}", response.TagCount);
                        });

                        return;
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                //TODO - Log exception
            }

            //Failed to get the count so pull the cached value
            int count = HWManager.GetInstance().SettingManager.GetTagCount();

            Device.BeginInvokeOnMainThread(() =>
            {
                m_lblTags.Text = string.Format("Total Tags Collected - {0} (Cached)", count);
            });
        }
Пример #14
0
        void Sync_Clicked(object sender, EventArgs e)
        {
            HWManager  manager     = HWManager.GetInstance();
            List <Tag> tagsNotSent = manager.GetTagsNotSentToServer();

            if (tagsNotSent != null)
            {
                foreach (var tag in tagsNotSent)
                {
                    try
                    {
                        string file     = string.Format("{0}.jpg", tag.ImageGuid);
                        string filename = manager.PlatformManager.GetLocalImageFilename(file);

                        //Save tag to server if connected
                        TagResponse response = manager.ApiManager.SaveTag(HydrantWikiApp.User, tag);
                        if (response != null)
                        {
                            tag.ThumbnailUrl = response.ThumbnailUrl;
                            tag.ImageUrl     = response.ImageUrl;
                        }

                        manager.ApiManager.SaveTagImage(HydrantWikiApp.User, filename);

                        tag.SentToServer = true;
                        manager.Persist(tag);
                    }
                    catch (Exception ex)
                    {
                        //TODO - Log Error
                    }
                }
            }

            LoadTagCount();
        }
Пример #15
0
        private void GetHardware()
        {
            _hwManager = new HWManager(App._computer, CPUStackPanel, RAMStackPanel, GPUStackPanel);

            if (_hwManager.HasCPU)
            {
                CPUTitle.Visibility = Visibility.Visible;
                CPUStackPanel.Visibility = Visibility.Visible;
            }

            if (_hwManager.HasRam)
            {
                RAMTitle.Visibility = Visibility.Visible;
                RAMStackPanel.Visibility = Visibility.Visible;
            }
            
            if (_hwManager.HasGPU)
            {
                GPUTitle.Visibility = Visibility.Visible;
                GPUStackPanel.Visibility = Visibility.Visible;
            }
        }