public ViewDevicesPage() { InitializeComponent(); Title = "View My Devices"; acctType = (string)LogInResponseData.GetApplicationCurrentProperty(Constants.ACCOUNT_TYPE); usernameKey = Application.Current.Properties[Constants.USERNAME_KEY] as string; costCode = Application.Current.Properties[Constants.USER_COSTCODE] as string; }
//private async void Current_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e) //{ // if (!e.IsConnected) // { // await DisplayAlert("Error", Constants.CHECK_CONNECTION, Constants.BUTTON_POS); // } //} /* * On login button click event */ async void OnButtonClicked(object sender, EventArgs args) { loadingOverlay.IsVisible = true; //perform login var username = usernameText.Text ?? string.Empty; var password = passwordText.Text ?? string.Empty; //Test mock Accounts UseMockDeviceAddress(username); //Checking for null values if (username.Length == 0 || password.Length == 0) { await DisplayAlert(string.Empty, Constants.INVALID_LOGIN, Constants.BUTTON_POS); loadingOverlay.IsVisible = false; return; } var assetId = Application.Current.Properties[Constants.DEVICE_ADDRESS] as string; Application.Current.Properties[Constants.USERNAME_KEY] = username; Application.Current.Properties[Constants.PASS_KEY] = password; //Network Check if (!CrossConnectivity.Current.IsConnected) { await DisplayAlert("Error", Constants.CHECK_CONNECTION, Constants.BUTTON_POS); loadingOverlay.IsVisible = false; return; } //Calling loginDevice service contract var response = await ServiceClient.Instance.LoginDevice(assetId, username, password); if (response.ResponseCode != 200) { await DisplayAlert(string.Empty, Constants.INVALID_LOGIN, Constants.BUTTON_POS); loadingOverlay.IsVisible = false; return; } //Displaying error message from server if (response.ResponseString != null) { var responseObject = JObject.Parse(response.ResponseString); //Setting the user account type to toggle UI if (responseObject["message"] != null) { await DisplayAlert("Alert!", Constants.UNAUTHORIZED_ACCESS, Constants.BUTTON_POS); loadingOverlay.IsVisible = false; return; } switch (username) { case "eus1": // eus LogInResponseData.SetApplicationCurrentProperty(Constants.ACCOUNT_TYPE, "1"); break; case "pm1": //pm LogInResponseData.SetApplicationCurrentProperty(Constants.ACCOUNT_TYPE, "0"); break; default: LogInResponseData.SetApplicationCurrentProperty(Constants.ACCOUNT_TYPE, (string)responseObject["roles"][0]); break; } DateTime current = DateTime.Now; Application.Current.Properties[Constants.CURRENT_DATE] = current.ToString(); } //good login, replain main controller loadingOverlay.IsVisible = false; Application.Current.MainPage = new NavigationPage(new HomePage()); }
public HomePage() { InitializeComponent(); Title = "Home"; string acctType = (string)LogInResponseData.GetApplicationCurrentProperty(Constants.ACCOUNT_TYPE); uniqueDeviceAddress = Application.Current.Properties[Constants.DEVICE_ADDRESS] as string; usernameKey = Application.Current.Properties[Constants.USERNAME_KEY] as string; passKey = Application.Current.Properties[Constants.PASS_KEY] as string; deviceModel = Application.Current.Properties[Constants.DEVICE_MODEL] as string; ListView homeMenuLv = ObjectCreatorHelper.createListview(false, new DataTemplate(typeof(HomeMenuCell)), 80, true, Color.White); homeMenuLv.Margin = new Thickness(8, 8, 8, 8); homeMenuLv.SeparatorColor = Color.FromHex(Constants.LIST_SEPERATOR_COLOR); homeMenuLv.VerticalOptions = LayoutOptions.Fill; if (deviceModel != null) { assetModel.Text = deviceModel; } if (uniqueDeviceAddress != null) { currentAssetIdLbl.Text = uniqueDeviceAddress; } else { currentAssetIdLbl.Text = "UNKNOWN"; } switch (acctType) { case "1": // eus homeMenuLv.ItemsSource = MenuData.menuListSupport; AccountTypeTitle.Text = "End User Support"; break; case "0": //pm isDisposalAccept = true; homeMenuLv.ItemsSource = MenuData.menuListManager; AccountTypeTitle.Text = "Property Management"; break; default: homeMenuLv.ItemsSource = MenuData.menuListEmployee; AccountTypeTitle.Text = "Employee"; break; } homeOptions.Children.Add(homeMenuLv); homeMenuLv.ItemSelected += async(sender, e) => { loadingOverlayHome.IsVisible = true; if (e.SelectedItem == null) { // don't do anything if we just de-selected the row return; } else { switch ((e.SelectedItem as MenuObject).menuTitle) { case "Ingest a New Device": //TODO: open up camera layout to add new device before directing user to IngestDevicePage() await Navigation.PushAsync(new IngestDevicePage()); break; case "Collect Device": openBarCodeScaner(0); //Removed break; case "Initiate Inventory Check": var result = await DisplayAlert(Constants.INVENTORY_CHECK_TITLE, Constants.INVENTORY_CHECK_CONTENT, Constants.BUTTON_CONFIRM, Constants.BUTTON_CAN); loadingOverlayHome.IsVisible = false; break; case "Accept a Transfer": // PM / EUS user is accepting transfer into their possesion openBarCodeScaner(1); break; case "Disposal": // PM Only openBarCodeScaner(3); break; case "Submit Disposal Request": //EUS Only openBarCodeScaner(2); break; case "View Transfers": await Navigation.PushAsync(new InitiateTransferPage()); break; case "View My Devices": await Navigation.PushAsync(new ViewDevicesPage()); break; default: await DisplayAlert("Tapped", "Error in code" + " row was selected", Constants.BUTTON_POS); loadingOverlayHome.IsVisible = false; break; } ((ListView)sender).SelectedItem = null; loadingOverlayHome.IsVisible = false; } }; }