Exemple #1
0
        public static OrganizationDetailCollection GetOrganizations(Settings settings)
        {
            var connection = CrmConnection.Parse(settings.GetDiscoveryCrmConnectionString());
            var service    = new DiscoveryService(connection);

            var request  = new RetrieveOrganizationsRequest();
            var response = (RetrieveOrganizationsResponse)service.Execute(request);

            return(response.Details);
        }
Exemple #2
0
        private OrganizationDetailCollection RetrieveOrganizations(ConnectionDetail currentDetail)
        {
            WebRequest.GetSystemWebProxy();

            var connection = CrmConnection.Parse(currentDetail.GetDiscoveryCrmConnectionString());
            var service    = new DiscoveryService(connection);

            var request  = new RetrieveOrganizationsRequest();
            var response = (RetrieveOrganizationsResponse)service.Execute(request);

            return(response.Details);
        }
Exemple #3
0
        private void bwResolveNameWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            var worker = (BackgroundWorker)sender;

            CrmConnection connection;

            try
            {
                connection = CrmConnection.Parse(e.Argument.ToString());
            }
            catch
            {
                throw new Exception("Invalid connection string!");
            }

            var discoService = new DiscoveryService(connection);
            var orgRequest   = new RetrieveOrganizationsRequest();
            var orgResponse  = (RetrieveOrganizationsResponse)discoService.Execute(orgRequest);

            foreach (var org in orgResponse.Details)
            {
                worker.ReportProgress(0, "Retrieving users for organization " + org.FriendlyName);

                var orgData = new OrganizationData {
                    Id = org.OrganizationId, Name = org.UniqueName
                };

                var url = org.Endpoints[EndpointType.OrganizationService];
                url = url.Replace("/XRMServices/2011/Organization.svc", "");

                var orgService = new OrganizationService(CrmConnection.Parse("Url=" + url));
                var users      =
                    orgService.RetrieveMultiple(new QueryExpression("systemuser")
                {
                    ColumnSet = new ColumnSet(new[] { "systemuserid", "fullname" })
                });

                foreach (var user in users.Entities)
                {
                    orgData.Users.Add(user.Id, user.GetAttributeValue <string>("fullname"));
                }

                oData.Add(orgData);
            }

            e.Result = connection.ServiceUri;
        }
Exemple #4
0
        public void FillOrganizations()
        {
            try
            {
                Guid applicationId = new Guid("6f4cad4a-e3d4-41d7-8ac7-cd17a69c3997");// Guid.NewGuid();//

                //// SetCursor(this, Cursors.WaitCursor);


                WebRequest.GetSystemWebProxy();

                var connection = CrmConnection.Parse(_connectionDetail.GetDiscoveryCrmConnectionString());
                var service    = new DiscoveryService(connection);

                var request  = new RetrieveOrganizationsRequest();
                var response = (RetrieveOrganizationsResponse)service.Execute(request);

                _organizations = new List <OrganizationDetail>();

                foreach (OrganizationDetail orgDetail in response.Details)
                {
                    _organizations.Add(orgDetail);

                    cbbOrganizations.Items.Add(new OrgDetail {
                        Detail = orgDetail
                    });
                }

                cbbOrganizations.SelectedIndex = 0;

                //var sc = new ServerConnection();

                //sc.config = sc.GetServerConfiguration(_connectionDetail, applicationId);

                //WebRequest.DefaultWebProxy = WebRequest.GetSystemWebProxy();

                //using (var serviceProxy = new DiscoveryServiceProxy(sc.config.DiscoveryUri, sc.config.HomeRealmUri, sc.config.Credentials, sc.config.DeviceCredentials))
                //{

                //    _organizations = new List<OrganizationDetail>();

                //    // Obtain information about the organizations that the system user belongs to.
                //    var orgsCollection = sc.DiscoverOrganizations(serviceProxy);

                //    foreach (var orgDetail in orgsCollection)
                //    {
                //        _organizations.Add(orgDetail);

                //        cbbOrganizations.Items.Add(new OrgDetail{Detail = orgDetail});

                //        //AddItem(comboBoxOrganizations, new Organization() { OrganizationDetail = orgDetail });

                //        //SelectUniqueValue(comboBoxOrganizations);
                //    }

                //    cbbOrganizations.SelectedIndex = 0;
                //}

                //// SetEnableState(comboBoxOrganizations, true);
            }
            catch (Exception error)
            {
                string errorMessage = CrmExceptionHelper.GetErrorMessage(error, false);

                MessageBox.Show(errorMessage);

                //if (error.InnerException != null)
                //DisplayMessageBox(this, "Error while retrieving organizations : " + errorMessage + "\r\n" + error.InnerException.Message + "\r\n" + error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //else
                //DisplayMessageBox(this, "Error while retrieving organizations : " + errorMessage + "\r\n" + error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                //SetCursor(this, Cursors.Default);
            }
        }