示例#1
0
        private static WriteToDynamicsCrmConfiguration GetAccountImportConfiguration()
        {
            var writeToCrmConfig = new WriteToDynamicsCrmConfiguration()
            {
                EntityName        = "account",
                ImportMode        = ImportMode.All,
                MultipleFoundMode = MultipleFoundMode.All,
                SetOwnerMode      = ImportMode.All,
                SetStateMode      = ImportMode.All,
                ConfigurationId   = Guid.NewGuid(),
                SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID
            };

            writeToCrmConfig.PrimaryKeyAttributes.Add("accountnumber");
            writeToCrmConfig.Mapping.Add(new DataMapping("AccountId", "accountnumber"));
            writeToCrmConfig.Mapping.Add(new DataMapping("Account Name", "name"));
            writeToCrmConfig.Mapping.Add(new DataMapping("Account Type", "customertypecode"));

            writeToCrmConfig.PicklistMapping.Add(new PicklistMapping()
            {
                LogicalName = "customertypecode",
                MappingType = PicklistMappingType.Manual,
                Mapping     = new List <DataMappingControl.DataMapping>()
                {
                    new DataMappingControl.DataMapping("Customer Type", "3"),
                    new DataMappingControl.DataMapping("Competitor Type", "1"),
                    new DataMappingControl.DataMapping("Partner Type", "5")
                }
            });
            return(writeToCrmConfig);
        }
示例#2
0
        public void Test_CaseImport()
        {
            string accountName1 = Guid.NewGuid().ToString();
            Entity account      = new Entity("account");

            account.Attributes.Add("name", accountName1);
            Guid account1 = organizationService.Create(account);

            var writeToCrmConfig = new WriteToDynamicsCrmConfiguration()
            {
                ConfigurationId = Guid.NewGuid(),
                SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID,
                EntityName        = "incident",
                ImportMode        = Module.WriteToDynamicsCrm.SDK.Enums.ImportMode.All,
                MultipleFoundMode = Module.WriteToDynamicsCrm.SDK.Enums.MultipleFoundMode.All,
            };

            writeToCrmConfig.PrimaryKeyAttributes.Add("ticketnumber");
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "CaseID", Target = "ticketnumber"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "CaseTitle", Target = "title"
            });

            writeToCrmConfig.RelationMapping.Add(new Module.WriteToDynamicsCrm.SDK.RelationMapping()
            {
                EntityName  = "account",
                LogicalName = "customerid",
                Mapping     = new List <DataMapping>()
                {
                    new DataMapping()
                    {
                        Source = "CompanyName",
                        Target = "name"
                    }
                }
            });

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

            organizationService.Delete("account", account1);
        }
示例#3
0
 public ImportSettings(WriteToDynamicsCrmConfiguration configuration)
 {
     InitializeComponent();
     this.DataContext = this.Configuration = configuration;
     AvailablePrimaryKeyAttributes = new ObservableCollection <NameDisplayName>();
     ddAvailablePrimaryKeyAttributes.ItemsSource = AvailablePrimaryKeyAttributes;
     lbSelectedPrimaryKeyAttributes.ItemsSource  = this.Configuration.PrimaryKeyAttributes;
 }
 public RelationMapping(IOrganizationService service, WriteToDynamicsCrmConfiguration configuration, IDatastore dataObject, EntityMetadata entityMetadata)
 {
     this.service        = service;
     this.dataObject     = dataObject;
     this.Configuration  = configuration;
     this.entityMetadata = entityMetadata;
     InitializeComponent();
     Initialize();
 }
示例#5
0
        public AttributeMapping(WriteToDynamicsCrmConfiguration configuration, EntityMetadata entityMetadata, IDatastore dataObject)
        {
            InitializeComponent();
            this.configuration  = configuration;
            this.entityMetadata = entityMetadata;
            this.dataObject     = dataObject;
            InitializeMappingControl(configuration.Mapping);

            this.SourceTargetMapping.MappingRowAdded    += SourceTargetMapping_MappingRowAdded;
            this.SourceTargetMapping.MappingRowDeleted  += SourceTargetMapping_MappingRowDeleted;
            this.SourceTargetMapping.ListBoxTargetKlick += SourceTargetMapping_ListBoxTargetKlick;
        }
示例#6
0
        private static WriteToDynamicsCrmConfiguration GetContactImportConfiguration()
        {
            var writeToCrmConfig = new WriteToDynamicsCrmConfiguration()
            {
                EntityName        = "contact",
                ImportMode        = ImportMode.All,
                MultipleFoundMode = MultipleFoundMode.All,
                SetOwnerMode      = ImportMode.All,
                SetStateMode      = ImportMode.All,
                ConfigurationId   = Guid.NewGuid(),
                SelectedConnectionConfigurationId = Test_Helpers.CRMCONNECTIONID
            };

            writeToCrmConfig.PrimaryKeyAttributes.Add("new_id");
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "ID", Target = "new_id"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "FirstName", Target = "firstname"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "LastName", Target = "lastname"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "Status", Target = "statuscode"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "Birthdate", Target = "birthdate"
            });
            writeToCrmConfig.Mapping.Add(new DataMapping()
            {
                Source = "City", Target = "address1_city"
            });
            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.RelationMapping.Add(new Module.WriteToDynamicsCrm.SDK.RelationMapping()
            {
                EntityName  = "systemuser",
                LogicalName = "ownerid",
                Mapping     = new List <DataMappingControl.DataMapping>()
                {
                    new DataMappingControl.DataMapping()
                    {
                        Source = "OwnerFirstname", Target = "firstname"
                    },
                    new DataMappingControl.DataMapping()
                    {
                        Source = "OwnerLastname", Target = "lastname"
                    }
                }
            });

            writeToCrmConfig.PicklistMapping.Add(new Module.WriteToDynamicsCrm.SDK.PicklistMapping()
            {
                LogicalName = "statuscode",
                MappingType = PicklistMappingType.Manual,
                Mapping     = new List <DataMappingControl.DataMapping>()
                {
                    new DataMappingControl.DataMapping("Active", "1"),
                    new DataMappingControl.DataMapping("Inactive", "2")
                }
            });
            return(writeToCrmConfig);
        }