public void Webrequest_NoProxy_NoCertificate_Method_Get() { ConnectToUrlConfiguration configuration = new ConnectToUrlConfiguration(); configuration.UseProxySettings = false; configuration.SendClientCertificate = false; IConnection connectToUrlConnection = new ConnectToUrl() { Configuration = configuration }; LoadFromWebRequestConfiguration loadFromWebRequestConfiguration = new LoadFromWebRequestConfiguration(); loadFromWebRequestConfiguration.Url = "http://jsonplaceholder.typicode.com/todos/3"; loadFromWebRequestConfiguration.Method = "GET"; IDataSource loadFromWebRequest = new LoadFromWebRequest() { Configuration = loadFromWebRequestConfiguration }; IDatastore dataObject = DataStoreFactory.GetDatastore(); loadFromWebRequest.LoadData(connectToUrlConnection, dataObject, Test_Helpers.ReportProgressMethod); }
public void GeneralLoadTestDynamicsCRM() { var organizationService = connection.GetConnection() as IOrganizationService; Guid account1 = CreateAccount1(organizationService); string contactName1 = Guid.NewGuid().ToString(); Guid contact1 = CreateContact1(organizationService, contactName1, account1); LoadFromDynamicsCrmConfiguration configuration = new LoadFromDynamicsCrmConfiguration(); configuration.QueryType = DynamicsCrmQueryType.ExecuteFetchXml; configuration.FetchXml = GetTestFetchXml(contactName1); IDataSource loadFromDynamicsCrm = new LoadFromDynamicsCrm() { Configuration = configuration }; IDatastore dataObject = DataStoreFactory.GetDatastore(); loadFromDynamicsCrm.LoadData(connection, dataObject, ReportProgressMethod); var firstObject = dataObject[0]; Assert.AreEqual <string>(contactName1, firstObject[dataObject.Metadata["firstname"].ColumnIndex].ToString()); organizationService.Delete("contact", contact1); organizationService.Delete("account", account1); }
public void Test_CaseImport() { CrmConnection crmConnection = (CrmConnection)connection.GetConnection(); IOrganizationService service = new OrganizationService(crmConnection); string accountName1 = Guid.NewGuid().ToString(); Entity account = new Entity("account"); account.Attributes.Add("name", accountName1); Guid account1 = service.Create(account); IntegrationTool.Module.WriteToDynamicsCrm.WriteToDynamicsCrmConfiguration writeToCrmConfig = new IntegrationTool.Module.WriteToDynamicsCrm.WriteToDynamicsCrmConfiguration(); writeToCrmConfig.EntityName = "incident"; writeToCrmConfig.PrimaryKeyAttributes.Add("ticketnumber"); writeToCrmConfig.ImportMode = Module.WriteToDynamicsCrm.SDK.Enums.ImportMode.All; writeToCrmConfig.MultipleFoundMode = Module.WriteToDynamicsCrm.SDK.Enums.MultipleFoundMode.All; writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "CaseID", Target = "ticketnumber" }); writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "CaseTitle", Target = "title" }); writeToCrmConfig.RelationMapping.Add(new Module.WriteToDynamicsCrm.SDK.RelationMapping() { EntityName = "account", LogicalName = "customerid", Mapping = new List <DataMappingControl.DataMapping>() { new DataMappingControl.DataMapping() { Source = "CompanyName", Target = "name" } } }); writeToCrmConfig.ConfigurationId = Guid.NewGuid(); writeToCrmConfig.SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID; IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("CaseID")); dataObject.AddColumn(new ColumnMetadata("CaseTitle")); dataObject.AddColumn(new ColumnMetadata("CompanyName")); dataObject.AddData(new object[] { "CA-100", "101 Title", accountName1 }); dataObject.AddData(new object[] { "CA-101", "Anöther Title", null }); dataObject.AddData(new object[] { "CA-102", "A'Title\"chen", accountName1 }); IModule module = Activator.CreateInstance(typeof(WriteToDynamicsCrm)) as IModule; module.SetConfiguration(writeToCrmConfig); ((IDataTarget)module).WriteData(connection, new DummyDatabaseInterface(), dataObject, Test_Helpers.ReportProgressMethod); service.Delete("account", account1); }
public void GeneralLoadTestCSV() { ConnectToTextFileConfiguration configuration = new ConnectToTextFileConfiguration(); configuration.FilePath = @"TestData\LoadFromCSV\TestCSV.csv"; IConnection csvConnection = new ConnectToTextFile() { Configuration = configuration }; LoadFromCSV loadFromCSV = new LoadFromCSV(); loadFromCSV.SetConfiguration(new LoadFromCSVConfiguration()); IDatastore dataObject = DataStoreFactory.GetDatastore(); loadFromCSV.LoadData(csvConnection, dataObject, ReportProgressMethod); var firstObject = dataObject[0]; Assert.AreEqual <string>(firstObject[0].ToString(), "1"); Assert.AreEqual <string>(firstObject[6].ToString(), "9/19/2015"); var lastObject = dataObject[999]; Assert.AreEqual <string>(lastObject[0].ToString(), "1000"); Assert.AreEqual <string>(lastObject[6].ToString(), "4/5/2015"); }
public void Test_AccountDeletion() { var organizationService = connection.GetConnection() as IOrganizationService; // Create dummy account, which shall be deleted string accountName1 = Guid.NewGuid().ToString(); Entity account = new Entity("account"); account.Attributes.Add("name", accountName1); Guid account1 = organizationService.Create(account); DeleteInDynamicsCrmConfiguration deleteInCrmConfig = new DeleteInDynamicsCrmConfiguration(); deleteInCrmConfig.EntityName = "account"; deleteInCrmConfig.MultipleFoundMode = DeleteInCrmMultipleFoundMode.DeleteAll; deleteInCrmConfig.DeleteMapping.Add(new DataMapping() { Source = "CompanyName", Target = "name" }); IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("CompanyName")); dataObject.AddData(new object[] { accountName1 }); IModule module = Activator.CreateInstance(typeof(DeleteInDynamicsCrm)) as IModule; module.SetConfiguration(deleteInCrmConfig); ((IDataTarget)module).WriteData(connection, new DummyDatabaseInterface(), dataObject, ReportProgressMethod); }
private IDatastore InitializeDatastore() { IDatastore dataStore = DataStoreFactory.GetDatastore(); List <AttributeImplementation> dataConditionAttributes = AssemblyHelper.LoadAllClassesImplementingSpecificAttribute <DataConditionAttribute>(System.Reflection.Assembly.GetAssembly(typeof(DataConditionAttribute))); dataStore.InitializeDatastore(dataConditionAttributes); return(dataStore); }
public void Test_RelateProductsWithCampaigns() { var defaultUnits = Test_Helpers.GetDefaultUnitGroup(organizationService); Entity campaign = new Entity("campaign"); campaign.Attributes.Add("name", "test prd_cmpgn 1"); Guid campaignId = organizationService.Create(campaign); Entity product = new Entity("product"); product.Attributes.Add("name", "test prd_cmpgn 1"); product.Attributes.Add("productnumber", "prd_cmpgn 1"); product.Attributes.Add("defaultuomscheduleid", new EntityReference("uomschedule", defaultUnits.DefaultUnitGroupId)); product.Attributes.Add("defaultuomid", new EntityReference("uom", defaultUnits.PrimaryUnitId)); product.Attributes.Add("quantitydecimal", 2); Guid productId = organizationService.Create(product); Microsoft.Crm.Sdk.Messages.PublishProductHierarchyRequest publishProduct = new Microsoft.Crm.Sdk.Messages.PublishProductHierarchyRequest(); publishProduct.Target = new EntityReference("product", productId); organizationService.Execute(publishProduct); WriteToDynamicsCrmN2NConfiguration writeToDynamicsCrmN2NConfig = new WriteToDynamicsCrmN2NConfiguration(); writeToDynamicsCrmN2NConfig.MultipleFoundMode = N2NMultipleFoundMode.None; writeToDynamicsCrmN2NConfig.Entity1Name = "campaign"; writeToDynamicsCrmN2NConfig.Entity1Mapping = new List <DataMapping>() { new DataMapping("CampaigName", "name") }; writeToDynamicsCrmN2NConfig.Entity2Name = "product;campaignproduct_association"; writeToDynamicsCrmN2NConfig.Entity2Mapping = new List <DataMapping>() { new DataMapping("ProductNumber", "productnumber") }; writeToDynamicsCrmN2NConfig.ConfigurationId = Guid.NewGuid(); writeToDynamicsCrmN2NConfig.SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID; IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("CampaigName")); dataObject.AddColumn(new ColumnMetadata("ProductNumber")); dataObject.AddData(new object[] { "test prd_cmpgn 1", "prd_cmpgn 1" }); IModule module = Activator.CreateInstance(typeof(WriteToDynamicsCrmN2N)) as IModule; module.SetConfiguration(writeToDynamicsCrmN2NConfig); ((IDataTarget)module).WriteData(connection, new DummyDatabaseInterface(), dataObject, Test_Helpers.ReportProgressMethod); organizationService.Delete("campaign", campaignId); organizationService.Delete("product", productId); }
private IDatastore GetCompanyDatastore() { IDatastore store = DataStoreFactory.GetDatastore(); store.AddColumn(new ColumnMetadata("CompanyId")); store.AddColumn(new ColumnMetadata("CompanyName")); store.AddColumn(new ColumnMetadata("ContactPerson")); store.AddData(new object [] { 1, "comp 1", 2 }); store.AddData(new object[] { 2, "comp 2", 3 }); return(store); }
private IDatastore GetContactsDatastore() { IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("FirstName")); dataObject.AddColumn(new ColumnMetadata("LastName")); dataObject.AddColumn(new ColumnMetadata("City")); dataObject.AddColumn(new ColumnMetadata("ID")); dataObject.AddData(new object[] { "Peter", "Widmer", "Wettingen", 1001 }); dataObject.AddData(new object[] { "Joachim", "Suter", "Dättwil", 1002 }); return(dataObject); }
public IDatastore GetDatastoreB() { IDatastore store = DataStoreFactory.GetDatastore(); store.AddColumn(new ColumnMetadata("TableBColA")); store.AddColumn(new ColumnMetadata("TableBColB")); store.AddColumn(new ColumnMetadata("TableBFull")); store.AddData(new object[] { "A", "B", "A_B" }); store.AddData(new object[] { "A", null, "A_Null" }); store.AddData(new object[] { "A", "B", "A_B_2" }); return(store); }
private IDatastore GetPersonDatastore() { IDatastore store = DataStoreFactory.GetDatastore(); store.AddColumn(new ColumnMetadata("PersonId")); store.AddColumn(new ColumnMetadata("Firstname")); store.AddColumn(new ColumnMetadata("Lastname")); store.AddData(new object[] { 1, "Simon", "Miller" }); store.AddData(new object[] { 2, "Frank", "Houston" }); store.AddData(new object[] { 3, "Jill", "Smith" }); store.AddData(new object[] { 4, "Gregory", "Thomson" }); return(store); }
public void GeneralLoadTestSharepoint() { var configuration = new LoadFromSharepointConfiguration() { ListName = "My Test List", CamlQueryViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/><Value Type='Number'>1</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>" }; IDataSource loadFromDynamicsCrm = new LoadFromSharepoint() { Configuration = configuration }; IDatastore dataObject = DataStoreFactory.GetDatastore(); loadFromDynamicsCrm.LoadData(connection, dataObject, ReportProgressMethod); }
public void GeneralLoadTestExcel() { ConnectToExcelConfiguration configuration = new ConnectToExcelConfiguration(); configuration.FilePath = @"TestData\LoadFromExcel\TestData.xlsx"; configuration.SheetName = "Contacts"; IConnection excelConnection = new ConnectToExcel() { Configuration = configuration }; IDataSource loadFromExcel = new LoadFromExcel(); IDatastore dataObject = DataStoreFactory.GetDatastore(); loadFromExcel.LoadData(excelConnection, dataObject, ReportProgressMethod); }
public IDatastore TransformData(IConnection connection, IDatabaseInterface databaseInterface, IDatastore datastore1, IDatastore datastore2, ReportProgressMethod reportProgress) { IDatastore resultDatastore = DataStoreFactory.GetDatastore(); InitializeOutputColumnsConfiguration(); InitializeResultDatastore(resultDatastore); AnalyzeDatastores(datastore1, datastore2); BuildDatastoreKeys(); JoinDatastoreRecords(resultDatastore); if (mappingHasBeenReversed) { ReverseMapping(); // Reverse it back mappingHasBeenReversed = false; } return(resultDatastore); }
public static IDatastore LoadExcelsheet(string sheetPath, string sheetName) { ConnectToExcelConfiguration configuration = new ConnectToExcelConfiguration(); configuration.FilePath = sheetPath; configuration.SheetName = sheetName; IConnection excelConnection = new ConnectToExcel() { Configuration = configuration }; IDataSource loadFromExcel = new LoadFromExcel(); IDatastore dataStore = DataStoreFactory.GetDatastore(); loadFromExcel.LoadData(excelConnection, dataStore, ReportProgressMethod); return(dataStore); }
public void Test_RelateContactsWithInvoice() { Entity contact = Test_Helpers.CreateDummyContact(); Guid contactId = organizationService.Create(contact); Entity invoice = Test_Helpers.CreateDummyInvoice(); Guid invoiceId = organizationService.Create(invoice); WriteToDynamicsCrmN2NConfiguration writeToDynamicsCrmN2NConfig = new WriteToDynamicsCrmN2NConfiguration(); writeToDynamicsCrmN2NConfig.MultipleFoundMode = N2NMultipleFoundMode.None; writeToDynamicsCrmN2NConfig.Entity1Name = "contact"; writeToDynamicsCrmN2NConfig.Entity1Mapping = new List <DataMapping>() { new DataMapping("FirstName", "firstname") }; writeToDynamicsCrmN2NConfig.Entity2Name = "invoice;contactinvoices_association"; writeToDynamicsCrmN2NConfig.Entity2Mapping = new List <DataMapping>() { new DataMapping("InvoiceNo", "invoicenumber") }; writeToDynamicsCrmN2NConfig.ConfigurationId = Guid.NewGuid(); writeToDynamicsCrmN2NConfig.SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID; IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("FirstName")); dataObject.AddColumn(new ColumnMetadata("InvoiceNo")); dataObject.AddData(new object[] { contact["firstname"], invoice["invoicenumber"] }); IModule module = Activator.CreateInstance(typeof(WriteToDynamicsCrmN2N)) as IModule; module.SetConfiguration(writeToDynamicsCrmN2NConfig); ((IDataTarget)module).WriteData(connection, new DummyDatabaseInterface(), dataObject, Test_Helpers.ReportProgressMethod); organizationService.Delete("contact", contactId); organizationService.Delete("invoice", invoiceId); }
private IDatastore GetContactDataStore(string accountName1) { IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("FirstName")); dataObject.AddColumn(new ColumnMetadata("LastName")); dataObject.AddColumn(new ColumnMetadata("City")); dataObject.AddColumn(new ColumnMetadata("ID")); dataObject.AddColumn(new ColumnMetadata("CompanyName")); dataObject.AddColumn(new ColumnMetadata("Status")); dataObject.AddColumn(new ColumnMetadata("Birthdate")); dataObject.AddColumn(new ColumnMetadata("OwnerFirstname")); dataObject.AddColumn(new ColumnMetadata("OwnerLastname")); dataObject.AddData(new object[] { "Peter", "Widmer", "Wettingen", 1001, accountName1, "Active", new DateTime(1980, 06, 23), "James", "Test" }); dataObject.AddData(new object[] { "Joachim 2", "Suter", "Dättwil", 1002, accountName1, "Inactive", new DateTime(2004, 12, 03), "John", "test" }); dataObject.AddData(new object[] { "James", "Brown", "London", 1003, null, "Active", null, null, null }); // Doublekey to test it works too dataObject.AddData(new object[] { "Peter", "Widmer", "Wettingen", 1001, accountName1, "Active", new DateTime(1980, 06, 23), "James", "Test" }); dataObject.AddData(new object[] { "Empty", "City", "", 1004, null, "Active", null, null, null }); return(dataObject); }
public void Test_ContactImport() { CrmConnection crmConnection = (CrmConnection)connection.GetConnection(); IOrganizationService service = new OrganizationService(crmConnection); string accountName1 = Guid.NewGuid().ToString(); Entity account = new Entity("account"); account.Attributes.Add("name", accountName1); Guid account1 = service.Create(account); IntegrationTool.Module.WriteToDynamicsCrm.WriteToDynamicsCrmConfiguration writeToCrmConfig = new IntegrationTool.Module.WriteToDynamicsCrm.WriteToDynamicsCrmConfiguration(); writeToCrmConfig.EntityName = "contact"; writeToCrmConfig.PrimaryKeyAttributes.Add("new_id"); writeToCrmConfig.ImportMode = Module.WriteToDynamicsCrm.SDK.Enums.ImportMode.All; writeToCrmConfig.MultipleFoundMode = Module.WriteToDynamicsCrm.SDK.Enums.MultipleFoundMode.All; writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "ID", Target = "new_id" }); writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "FirstName", Target = "firstname" }); writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "LastName", Target = "lastname" }); writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "Status", Target = "statuscode" }); writeToCrmConfig.Mapping.Add(new IntegrationTool.DataMappingControl.DataMapping() { Source = "Birthdate", Target = "birthdate" }); writeToCrmConfig.RelationMapping.Add(new Module.WriteToDynamicsCrm.SDK.RelationMapping() { EntityName = "account", LogicalName = "parentcustomerid", Mapping = new List <DataMappingControl.DataMapping>() { new DataMappingControl.DataMapping() { Source = "CompanyName", Target = "name" } } }); writeToCrmConfig.ConfigurationId = Guid.NewGuid(); writeToCrmConfig.SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID; writeToCrmConfig.PicklistMapping.Add(new Module.WriteToDynamicsCrm.SDK.PicklistMapping() { LogicalName = "statuscode", MappingType = Module.WriteToDynamicsCrm.SDK.Enums.PicklistMappingType.Manual, Mapping = new List <DataMappingControl.DataMapping>() { new DataMappingControl.DataMapping() { Source = "Active", Target = "1" }, new DataMappingControl.DataMapping() { Source = "Inactive", Target = "2" } } }); IDatastore dataObject = DataStoreFactory.GetDatastore(); dataObject.AddColumn(new ColumnMetadata("FirstName")); dataObject.AddColumn(new ColumnMetadata("LastName")); dataObject.AddColumn(new ColumnMetadata("City")); dataObject.AddColumn(new ColumnMetadata("ID")); dataObject.AddColumn(new ColumnMetadata("CompanyName")); dataObject.AddColumn(new ColumnMetadata("Status")); dataObject.AddColumn(new ColumnMetadata("Birthdate")); dataObject.AddData(new object[] { "Peter", "Widmer", "Wettingen", 1001, accountName1, "Active", new DateTime(1980, 06, 23) }); dataObject.AddData(new object[] { "Joachim 2", "Suter", "Dättwil", 1002, accountName1, "Inactive", new DateTime(2004, 12, 03) }); dataObject.AddData(new object[] { "James", "Brown", "London", 1003, null, "Active", null }); // Doublekey to test it works too dataObject.AddData(new object[] { "Peter", "Widmer", "Wettingen", 1001, accountName1, "Active", new DateTime(1980, 06, 23) }); IModule module = Activator.CreateInstance(typeof(WriteToDynamicsCrm)) as IModule; module.SetConfiguration(writeToCrmConfig); ((IDataTarget)module).WriteData(connection, new DummyDatabaseInterface(), dataObject, Test_Helpers.ReportProgressMethod); service.Delete("account", account1); }