示例#1
0
        public void BulkRunWorkflowTest1()
        {
            CrmConnection         c       = new CrmConnection("CRM");
            OrganizationService   service = new OrganizationService(c);
            CrmBulkServiceManager mgr     = new CrmBulkServiceManager(service);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < 10; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var results = mgr.BulkInsert(entityList);

            entityList.Clear();
            foreach (var item in results.ResultItems)
            {
                Entity entity = new Entity("account");
                entity.Id      = item.ItemID;
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var workflowID = GetWorkflowID(service, "account", "UnitTest Account");

            results = mgr.BulkRunWorkflow(entityList, workflowID);
        }
示例#2
0
        public void BulkSetStateTest1()
        {
            CrmConnection         c       = new CrmConnection("CRM");
            OrganizationService   service = new OrganizationService(c);
            CrmBulkServiceManager mgr     = new CrmBulkServiceManager(service);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < 10; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var results = mgr.BulkInsert(entityList);

            entityList.Clear();
            foreach (var item in results.ResultItems)
            {
                Entity entity = new Entity("account");
                entity.Id      = item.ItemID;
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            results = mgr.BulkSetState(entityList, new OptionSetValue(1), new OptionSetValue(2));
        }
示例#3
0
        private static void RunBulkInsertTest(IOrganizationService service, int recordsToInsert = 50)
        {
            CrmBulkServiceManager mgr = new CrmBulkServiceManager(service);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < recordsToInsert; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var results = mgr.BulkInsert(entityList, batchSize: 1000);
        }
示例#4
0
        static void Main(string[] args)
        {
            int TotalRecordsToProcess = 1000;
            int ThreadsToUse          = 2;
            int BatchSize             = 50;

            var connectionString = ConfigurationManager.ConnectionStrings["CRM"].ConnectionString;


            List <IOrganizationService> services = new List <IOrganizationService>();

            for (int i = 0; i < ThreadsToUse; i++)
            {
                CrmServiceClient     connection = new CrmServiceClient(connectionString);
                IOrganizationService service    = connection.OrganizationServiceProxy as IOrganizationService;
                services.Add(service);
            }

            CrmBulkServiceManager mgr = new CrmBulkServiceManager(services, statusAction: LogProgress);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < TotalRecordsToProcess; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }
            Stopwatch sw = new Stopwatch();

            sw.Start();
            var results = mgr.BulkInsert(entityList, batchSize: BatchSize);

            sw.Stop();
            Console.WriteLine("Import took " + sw.ElapsedMilliseconds / 1000 + " seconds ");

            List <EntityReference> refList = new List <EntityReference>();

            foreach (var result in results.ResultItems)
            {
                var refItem = new EntityReference("account", result.ItemID);
                refList.Add(refItem);
            }
            Console.WriteLine("Cleanup Starting");
            // mgr.BulkDelete(refList,batchSize:50);
            Console.WriteLine("Cleanup completed");
        }
示例#5
0
        private static void ExecuteBulkInsertTest(CTCBulkTransactionMode transactionMode = CTCBulkTransactionMode.None)
        {
            CrmConnection         c       = new CrmConnection("CRM");
            OrganizationService   service = new OrganizationService(c);
            CrmBulkServiceManager mgr     = new CrmBulkServiceManager(service);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < 10; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var results = mgr.BulkInsert(entityList, transactionMode: transactionMode);
        }
示例#6
0
        public void BulkInsertTest2()
        {
            CrmConnection c = new CrmConnection("CRM");
            List <IOrganizationService> services = new List <IOrganizationService>();

            for (int i = 0; i < 4; i++)
            {
                OrganizationService service = new OrganizationService(c);
                services.Add(service);
            }

            CrmBulkServiceManager mgr = new CrmBulkServiceManager(services);

            List <Entity> entityList = new List <Entity>();

            for (int i = 0; i < 480; i++)
            {
                Entity entity = new Entity("account");
                entity["name"] = "account " + DateTime.Now.ToString();
                entityList.Add(entity);
            }

            var results = mgr.BulkInsert(entityList, batchSize: 120);
        }