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); }
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); }
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; }
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); } }