private async void GetNodeList_Button(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MapView.Active == null)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("No MapView currently active. Exiting...", "Info");
                    return;
                }
                if (StaticVariables.archesInstanceURL == "" | StaticVariables.archesInstanceURL == null)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Please, Log in to Arches Server...");

                    DockPane pane = FrameworkApplication.DockPaneManager.Find("arches_arcgispro_addin_MainDockpane");
                    if (pane == null)
                    {
                        return;
                    }
                    pane.Activate();
                    return;
                }
                StaticVariables.geometryNodes = await GetGeometryNode();

                CreateResourceViewModel.CreateNodeList();
            }
            catch (Exception ex)
            {
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Exception: " + ex.Message);
            }
        }
        private async void MainConnect_Button(object sender, RoutedEventArgs e)
        {
            try {
                StaticVariables.archesInstanceURL = InstanceURL.Text;
                StaticVariables.myClientid        = await GetClientId();

                StaticVariables.archesToken = await GetToken(StaticVariables.myClientid);

                FrameworkApplication.State.Activate("token_state");
                //CreateResourceButton.IsEnabled = true;
                //EditResourceButton.IsEnabled = true;
                FailMessage.Visibility    = Visibility.Hidden;
                SucceedMessage.Visibility = Visibility.Visible;
                //ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show($"Successfully Logged in to {StaticVariables.archesInstanceURL}");

                StaticVariables.geometryNodes = await CreateResourceView.GetGeometryNode();

                CreateResourceViewModel.CreateNodeList();
            }
            catch (Exception ex)
            {
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(ex.Message + "\nCheck the Instance URL and/or the Credentials");
            }
        }
 protected override void OnClick()
 {
     CreateResourceViewModel.Show();
 }
 private void CreateClear_Button(object sender, RoutedEventArgs e)
 {
     CreateResourceViewModel.ClearResourceIdsCreated();
     OpenChromiumButton.IsEnabled = false;
 }
        private async void CreateUpload_Button(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MapView.Active == null)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("No MapView currently active. Exiting...", "Info");
                    return;
                }
                if (StaticVariables.archesInstanceURL == "" | StaticVariables.archesInstanceURL == null)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Please, Log in to Arches Server...");

                    DockPane pane = FrameworkApplication.DockPaneManager.Find("arches_arcgispro_addin_MainDockpane");
                    if (pane == null)
                    {
                        return;
                    }
                    pane.Activate();
                    return;
                }
                if (StaticVariables.archesNodeid == "" | StaticVariables.archesNodeid == null)
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Please, Select a Geometry Node to use...");
                    return;
                }
                if (StaticVariables.archesResourceid != "" && StaticVariables.archesResourceid != null)
                {
                    StaticVariables.archesResourceid = "";
                }

                List <string> archesGeometryCollection = await SaveResourceView.GetGeometryString();

                string archesGeometryString = String.Join(",", archesGeometryCollection);
                Dictionary <string, int> archesGeometryType = SaveResourceView.GetGeometryType(archesGeometryCollection);

                MessageBoxResult messageBoxResult = ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(
                    $"Are you sure you want to submit the selected geometry to create a new resource instance?\n\n" +
                    $"Total {archesGeometryCollection.Count} geometries will be submitted\n" +
                    $"{archesGeometryType["point"]} point(s)\n" +
                    $"{archesGeometryType["line"]} line(s)\n" +
                    $"{archesGeometryType["polygon"]} polygon(s)",
                    "Submit to Arches", MessageBoxButton.OKCancel, MessageBoxImage.Question);

                if (messageBoxResult.ToString() == "OK")
                {
                    string geometryFormat  = "esrijson";
                    string submitOperation = "create";
                    var    result          = await SaveResourceView.SubmitToArches(null, StaticVariables.archesNodeid, archesGeometryString, geometryFormat, submitOperation);

                    StaticVariables.archesResourceid = result["resourceinstance_id"];
                    CreateResourceViewModel.GetResourceIdsCreated();
                    SaveResourceView.RefreshMapView();
                    OpenChromiumButton.IsEnabled = true;
                }
                else
                {
                    ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("The submission is cancelled");
                }
            }
            catch (Exception ex)
            {
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Exception: " + ex.Message);
            }
        }