private CrmServiceClient GetCrmService(CrmConnectionInfo crmConnectionInfo) { string connStr = _connectionHelper.BuildConnectionString(crmConnectionInfo); CrmServiceClient crmService = new CrmServiceClient(connStr); return(crmService); }
public CrmConnectionInfo RetrieveConnection(Guid orgId) { List <CrmConnectionInfo> crmConnections = RetrieveAvailableConnections(); CrmConnectionInfo connectionInfo = crmConnections.FirstOrDefault(x => x.OrganizationId == orgId); return(connectionInfo); }
public void InitConnectionControl(CrmConnectionInfo crmConnectionToExclude) { var connectionViewModel = connectionUC.DataContext as ConnectionViewModel; connectionViewModel.ConnectionToExclude = crmConnectionToExclude; connectionViewModel.Init(); }
private void CloseConnectionWindow(object sender, EventArgs e) { if (sender != null) { CrmConnectionInfo = sender as CrmConnectionInfo; } this.Close(); }
private void SaveConnectionInfo(CrmConnectionInfo crmConnectionInfo) { ConnectionHelper connectionHelper = new ConnectionHelper(); string credentialId = connectionHelper.GetCredentialId(crmConnectionInfo); SaveCredential(credentialId); connectionHelper.AddNewConnection(crmConnectionInfo); }
public void DeleteConnection(Guid orgId) { List <CrmConnectionInfo> crmConnections = RetrieveAvailableConnections(); CrmConnectionInfo connectionToRemove = crmConnections.FirstOrDefault(x => x.OrganizationId == orgId); if (connectionToRemove != null) { crmConnections.Remove(connectionToRemove); } UpdateConnections(crmConnections); }
public DataReaderTestsSandbox() : base() { // Arrange by registering our fake services into the test container. FakeCrmDbConnection = this.RegisterMockInstance <CrmDbConnection>(); this.Container.Register <DbConnection>(FakeCrmDbConnection); CrmConnectionInfo connInfo = new CrmConnectionInfo(); connInfo.BusinessUnitId = Guid.NewGuid(); connInfo.OrganisationId = Guid.NewGuid(); connInfo.OrganisationName = "UnitTesting"; connInfo.ServerVersion = "1.0.0.0"; connInfo.UserId = Guid.NewGuid(); FakeCrmDbConnection.Stub(c => c.ConnectionInfo).Return(connInfo); SchemaTableProvider = new SchemaTableProvider(); this.Container.Register <ISchemaTableProvider>(SchemaTableProvider); // Singleton. // Create some fake results data FakeResultSet = new EntityResultSet(null, null, null); FakeResultSet.ColumnMetadata = new List <ColumnMetadata>(); var firstNameAttInfo = new StringAttributeInfo(); firstNameAttInfo.AttributeType = AttributeTypeCode.String; firstNameAttInfo.LogicalName = "firstname"; var firstNameC = new ColumnMetadata(firstNameAttInfo); var lastNameAttInfo = new StringAttributeInfo(); lastNameAttInfo.AttributeType = AttributeTypeCode.String; lastNameAttInfo.LogicalName = "lastname"; var lastnameC = new ColumnMetadata(lastNameAttInfo); FakeResultSet.ColumnMetadata.Add(firstNameC); FakeResultSet.ColumnMetadata.Add(lastnameC); FakeResultSet.Results = new EntityCollection(new List <Entity>()); var result = new Entity("contact"); result.Id = Guid.NewGuid(); result["firstname"] = "joe"; result["lastname"] = "schmoe"; FakeResultSet.Results.Entities.Add(result); this.Container.Register <EntityResultSet>(FakeResultSet); this.Container.Register <ResultSet>(FakeResultSet); }
public void AddNewConnection(CrmConnectionInfo crmConnectionInfo) { List <CrmConnectionInfo> crmConnections = RetrieveAvailableConnections(); CrmConnectionInfo existingCrmConnectionInfo = crmConnections.FirstOrDefault(x => x.OrganizationId == crmConnectionInfo.OrganizationId); if (existingCrmConnectionInfo != null) { existingCrmConnectionInfo = crmConnectionInfo;//To Do might need to remove the Old Credential if one exists } else { crmConnections.Add(crmConnectionInfo); } UpdateConnections(crmConnections); }
public string BuildConnectionString(CrmConnectionInfo crmConnectionInfo) { string credentialId = GetCredentialId(crmConnectionInfo); SavedCredentials credential = CredentialManager.ReadCredentials(credentialId); string connectionString = BuildConnectionString(crmConnectionInfo.OrganizationURL, crmConnectionInfo.AuthType, crmConnectionInfo.Domain, credential.UserName, credential.Password); return(connectionString); }
public DataReaderTestsSandbox() : base() { // Arrange by registering our fake services into the test container. FakeCrmDbConnection = this.RegisterMockInstance<CrmDbConnection>(); this.Container.Register<DbConnection>(FakeCrmDbConnection); CrmConnectionInfo connInfo = new CrmConnectionInfo(); connInfo.BusinessUnitId = Guid.NewGuid(); connInfo.OrganisationId = Guid.NewGuid(); connInfo.OrganisationName = "UnitTesting"; connInfo.ServerVersion = "1.0.0.0"; connInfo.UserId = Guid.NewGuid(); FakeCrmDbConnection.Stub(c => c.ConnectionInfo).Return(connInfo); SchemaTableProvider = new SchemaTableProvider(); this.Container.Register<ISchemaTableProvider>(SchemaTableProvider); // Singleton. // Create some fake results data FakeResultSet = new EntityResultSet(null, null, null); FakeResultSet.ColumnMetadata = new List<ColumnMetadata>(); var firstNameAttInfo = new StringAttributeInfo(); firstNameAttInfo.AttributeType = AttributeTypeCode.String; firstNameAttInfo.LogicalName = "firstname"; var firstNameC = new ColumnMetadata(firstNameAttInfo); var lastNameAttInfo = new StringAttributeInfo(); lastNameAttInfo.AttributeType = AttributeTypeCode.String; lastNameAttInfo.LogicalName = "lastname"; var lastnameC = new ColumnMetadata(lastNameAttInfo); FakeResultSet.ColumnMetadata.Add(firstNameC); FakeResultSet.ColumnMetadata.Add(lastnameC); FakeResultSet.Results = new EntityCollection(new List<Entity>()); var result = new Entity("contact"); result.Id = Guid.NewGuid(); result["firstname"] = "joe"; result["lastname"] = "schmoe"; FakeResultSet.Results.Entities.Add(result); this.Container.Register<EntityResultSet>(FakeResultSet); this.Container.Register<ResultSet>(FakeResultSet); }
private CrmConnectionInfo GetCrmConnectionInfo(CrmServiceClient crmServiceClient) { WhoAmIRequest whoAmIRequest = new WhoAmIRequest(); WhoAmIResponse whoAmIresponse = (WhoAmIResponse)crmServiceClient.Execute(whoAmIRequest); CrmConnectionInfo crmConnectionInfo = new CrmConnectionInfo { OrganizationId = whoAmIresponse.OrganizationId, UserId = whoAmIresponse.UserId, OrganizationURL = ConnectionItem.OrganizationURL, OrgDisplayName = crmServiceClient.ConnectedOrgFriendlyName, OrgUniqueName = crmServiceClient.ConnectedOrgUniqueName, AuthType = ConnectionItem.AuthType, Domain = ConnectionItem.Domain }; return(crmConnectionInfo); }
public void OpenConnectionWindow(CrmConnectionInfo selectedSourceConnection) { CrmLoginWindow loginWindow = new CrmLoginWindow(); loginWindow.InitConnectionControl(selectedSourceConnection); loginWindow.ShowDialog(); if (loginWindow.CrmConnectionInfo != null) { var mainVM = this.DataContext as MainViewModel; if (selectedSourceConnection != null) { mainVM.SelectedTargetConnection = loginWindow.CrmConnectionInfo; } else { mainVM.SelectedSourceConnection = loginWindow.CrmConnectionInfo; } } }
public void ConnectionComplete(CrmConnectionInfo crmConnectionInfo) { OnConnectionComplete?.Invoke(crmConnectionInfo, null); }
public async Task BuildConnectionAsync() { ConnectionInProgress = true; string connectionString = ""; CrmConnectionInfo crmConnectionInfo = null; ConnectionHelper connectionHelper = new ConnectionHelper(); if (SelectedConnection != null) { crmConnectionInfo = SelectedConnection; connectionString = connectionHelper.BuildConnectionString(SelectedConnection); } else { if (ConnectionItem == null || string.IsNullOrWhiteSpace(ConnectionItem.OrganizationURL) || !IsURLValid(ConnectionItem.OrganizationURL)) { SetMessageNotification(NotificationType.Error, "Please provide a valid Organization URL"); } if (string.IsNullOrWhiteSpace(ConnectionItem.AuthType)) { SetMessageNotification(NotificationType.Error, "Please provide Auth Type"); } connectionString = connectionHelper.BuildConnectionString(ConnectionItem.OrganizationURL, ConnectionItem.AuthType, ConnectionItem.Domain, ConnectionItem.UserName, ConnectionItem.Password); } CrmServiceClient crmServiceClient = null; string connectionError = null; await Task.Factory.StartNew(() => { try { crmServiceClient = new CrmServiceClient(connectionString); connectionError = crmServiceClient.LastCrmError; } catch (Exception ex) { connectionError = ex.Message; } }); if (!string.IsNullOrWhiteSpace(connectionError)) { SetMessageNotification(NotificationType.Error, connectionError); } ConnectionInProgress = false; if (crmServiceClient != null && crmServiceClient.IsReady) { if (crmConnectionInfo == null) { crmConnectionInfo = GetCrmConnectionInfo(crmServiceClient); if (SaveConnection) { SaveConnectionInfo(crmConnectionInfo); } } ConnectionComplete(crmConnectionInfo); } }
public string GetCredentialId(CrmConnectionInfo crmConnectionInfo) { string credentialId = crmConnectionInfo.OrganizationId.ToString().Replace("-", "") + "_" + crmConnectionInfo.UserId.ToString().Replace("-", ""); return(credentialId); }