private void setUserButton_Click(object sender, RoutedEventArgs e)
        {
            if (Globals.DeviceIdExists() == false && Globals.DeviceId != "csv")
            {
                outputField.Text = "No device ID currently in memory. Press " + submitDeviceId.Content + " then try again.";
                return;
            }
            string user    = !String.IsNullOrEmpty(Globals.User) ? Globals.User : "******";
            string newUser = GetInput.getInput("What would you like to set the user to?", user, !String.IsNullOrEmpty(Globals.SerialNumber) ? "Modify Device User: "******"Modify Device User: "******"You didn't enter anything or you pressed cancel, silly goose!";
                return;
            }
            string gamResult = null;

            if (Globals.DeviceId == "csv")
            {
                gamResult = GAM.RunGAMFormatted(GAM.GetGAMCSVCommand(Globals.CsvLocation, "update cros", "user " + newUser));
            }
            else
            {
                gamResult = GAM.RunGAMFormatted("update cros " + Globals.DeviceId + " user " + newUser);
            }
            Globals.User     = newUser;
            outputField.Text = gamResult + "\nAs long as you don't see an error, this query completed successfully.";
        }
        /// <summary>
        /// Set the location of the device.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void setLocationButton_Click(object sender, RoutedEventArgs e)
        {
            if (Globals.DeviceIdExists() == false && Globals.DeviceId != "csv")
            {
                outputField.Text = "No device ID currently in memory. Press " + submitDeviceId.Content + " then try again.";
                return;
            }
            string location    = !String.IsNullOrEmpty(Globals.Location) ? Globals.Location : "Enter a location...";
            string newLocation = GetInput.getInput("What would you like to set the location to?", location, !String.IsNullOrEmpty(Globals.SerialNumber) ? "Add/Change Device Location: " + Globals.SerialNumber : "Add/Change Device Location: " + Globals.DeviceId, new Button {
                IsEnabled = true, Text = "Clear Location"
            });

            if (newLocation == null | newLocation == location)
            {
                outputField.Text = "You didn't enter anything or pressed cancel.";
                return;
            }
            else if (newLocation == "ExtraButtonClicked")
            {
                newLocation = "";
            }

            string gamResult = null;

            if (Globals.DeviceId == "csv")
            {
                gamResult = GAM.RunGAMFormatted(GAM.GetGAMCSVCommand(Globals.CsvLocation, "update cros", "location \"" + newLocation + "\""));
            }
            else
            {
                gamResult = GAM.RunGAMFormatted("update cros " + Globals.DeviceId + " location \"" + newLocation + "\"");
            }
            Globals.Location = newLocation;
            outputField.Text = gamResult + "\nAs long as you don't see an error, the location has been updated.";
        }
        /// <summary>
        /// Set the asset id of the device. If an asset id is in the Globals, it will prefill that in the text box.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void setAssetIdButton_Click(object sender, RoutedEventArgs e)
        {
            if (Globals.DeviceIdExists() == false && Globals.DeviceId != "csv")
            {
                outputField.Text = "No device ID currently in memory. Press " + submitDeviceId.Content + " then try again.";
                return;
            }
            string assetId    = !String.IsNullOrEmpty(Globals.AssetId) ? Globals.AssetId : "Enter an Asset ID...";
            string newAssetId = GetInput.getInput("What would you like to set the asset ID to?", assetId, !String.IsNullOrEmpty(Globals.SerialNumber) ? "Enter/Change Device Asset ID: " + Globals.SerialNumber : "Enter/Change Device Asset ID: " + Globals.DeviceId, new Button {
                IsEnabled = true, Text = "Clear Asset ID"
            });

            if (newAssetId == null)
            {
                outputField.Text = "You didn't enter anything or you pressed cancel, silly goose!";
                return;
            }
            else if (newAssetId == "ExtraButtonClicked")
            {
                newAssetId = "";
            }
            string gamResult = null;

            if (Globals.DeviceId == "csv")
            {
                gamResult = GAM.RunGAMFormatted(GAM.GetGAMCSVCommand(Globals.CsvLocation, "update cros ", "assetid \"" + newAssetId + "\""));
            }
            else
            {
                gamResult = GAM.RunGAMFormatted("update cros " + Globals.DeviceId + " assetid \"" + newAssetId + "\"");
            }
            Globals.AssetId  = newAssetId;
            outputField.Text = gamResult + "\nAs long as you don't see an error, this query completed successfully.";
        }
        private async void noteButton_Click(object sender, RoutedEventArgs e)
        {
            if (Globals.DeviceIdExists() == false)
            {
                outputField.Text = "No device ID currently in memory. Press " + submitDeviceId.Content + " then try again.";
            }
            string note = null;

            IsLoading = true;
            if (String.IsNullOrEmpty(Globals.Note) && Globals.DeviceId != "csv")
            {
                List <string> gamResult = await Task.Run(() => GAM.RunGAM("info cros " + Globals.DeviceId + " fields notes"));

                if (gamResult.Count < 2)
                {
                    note = "No note found. Enter a new one here...";
                }
                else
                {
                    note = gamResult[1].Substring(9);
                }
            }
            else if (!String.IsNullOrEmpty(Globals.Note))
            {
                note = Globals.Note;
            }
            else if (Globals.DeviceId == "csv")
            {
                note = "Set a note for all devices from this CSV...";
            }

            string newNote = GetInput.getInput("Edit/modify note:", note, !String.IsNullOrEmpty(Globals.SerialNumber) ? "Add/Change Device Note: " + Globals.SerialNumber : "Add/Change Device Note: " + Globals.DeviceId);

            if (newNote == null | newNote == note)
            {
                outputField.Text = "You didn't change the note so I'm leaving it as it is.";
                return;
            }

            string finalGamResult;

            if (Globals.DeviceId == "csv")
            {
                finalGamResult = await Task.Run(() => GAM.RunGAMFormatted(GAM.GetGAMCSVCommand(Globals.CsvLocation, "update cros", "notes \"" + newNote + "\"")));
            }
            else
            {
                finalGamResult = await Task.Run(() => GAM.RunGAMFormatted("update cros " + Globals.DeviceId + " notes \"" + newNote + "\""));
            }
            IsLoading        = false;
            Globals.Note     = newNote;
            outputField.Text = "As long as there's no error, the note was updated.";
        }
Example #5
0
        private async void ImportFromGoogleAdminQueryStringBulk_Click(object sender, RoutedEventArgs e)
        {
            currentView.IsLoading = true;
            string inputBoxPrefill = "example: user:jsmith\nThat imports all devices with the user:jsmith.\nClick the link on the bottom left for more information.";
            string queryString     = GetInput.getInput(
                "Enter an Admin Console query string.",
                inputBoxPrefill,
                "Import from Google Admin query string",
                new Button()
            {
                IsEnabled = true,
                Text      = "Open Help Page"
            }
                );

            if (queryString == "ExtraButtonClicked")
            {
                Process.Start("https://support.google.com/chrome/a/answer/1698333#search");
                ImportFromGoogleAdminQueryStringBulk_Click(sender, e);
                return;
            }
            else if (queryString == inputBoxPrefill || queryString == null)
            {
                GetInput.ShowInfoDialog("ChromebookGUI: No input", "No Input", "No query string entered, silly goose!");
                currentView.IsLoading = false;
                return;
            }

            List <string> gamResult = await Task.Run(() => GAM.RunGAM("print cros query \"" + queryString + "\""));

            if (gamResult.Count == 0)
            {
                GetInput.ShowInfoDialog("ChromebookGUI: Invalid Query String", "Invalid Query String", "That's an invalid query string. If you don't think it is, try running this in cmd:\n\ngam print cros query \"" + queryString + "\"");
                currentView.IsLoading = false;
                return;
            }
            else if (gamResult.Count < 2)
            {
                GetInput.ShowInfoDialog("ChromebookGUI: No Results", "No Results from Query String", "No results from that query (" + queryString + ")");
                currentView.IsLoading = false;
                return;
            }
            File.WriteAllLines(System.IO.Path.GetTempPath() + "ChromebookGUI.csv", gamResult.ToArray());
            Globals.ClearGlobals();
            Globals.CsvLocation   = System.IO.Path.GetTempPath() + "ChromebookGUI.csv";
            Globals.DeviceId      = "csv";
            currentView.IsLoading = false;
            GetInput.ShowInfoDialog("ChromebookGUI: Success", "Successful Query", "Found " + (gamResult.Count - 1) + " devices using query " + queryString + "."); // subtract 1 because the first is "deviceId"
        }