static void Main(string[] args) { int warmupCount = 400; int runCount = 500; CrmServiceClient crmConn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["CRM"].ConnectionString); IOrganizationService service = crmConn.OrganizationServiceProxy; CreateAccounts("Early Bound Test", warmupCount, runCount, () => { EvL.Account a = new EvL.Account(); a.Name = "Test Early Vs Late"; service.Create(a); }); CreateAccounts("Late Bound Test", warmupCount, runCount, () => { Entity e = new Entity("account"); e["name"] = "Test Early Vs Late"; service.Create(e); }); //TidyUp(); Console.WriteLine("Finished"); Console.ReadKey(); }
protected override void Execute(CodeActivityContext executionContext) { var tracing = executionContext.GetExtension <ITracingService>(); var context = executionContext.GetExtension <IWorkflowContext>(); var serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>(); var service = serviceFactory.CreateOrganizationService(context.UserId); int warmupCount = 0; int runCount = 0; tracing.Trace("Entering EarlyVsLateTestWF."); tracing.Trace("Running on Entity: {0} EntityId: {1}", context.PrimaryEntityName, context.PrimaryEntityId); if (null != this.WarmupCount && this.WarmupCount.Get <int>(executionContext) > 0) { warmupCount = this.WarmupCount.Get <int>(executionContext); } if (null != this.RunCount && this.RunCount.Get <int>(executionContext) > 0) { runCount = this.RunCount.Get <int>(executionContext); } tracing.Trace("Warm up count: {0}. Run count: {1}", warmupCount, runCount); CreateAccounts("Late Bound Test", warmupCount, runCount, tracing, () => { Entity e = new Entity("account"); e["name"] = "Test Early Vs Late"; service.Create(e); }); // TODO: An Account entity has a lot of plugins firing on it as standard, try this out with a custom entity to eliminate. CreateAccounts("Early Bound Test", warmupCount, runCount, tracing, () => { EvL.Account a = new EvL.Account(); a.Name = "Test Early Vs Late"; service.Create(a); }); tracing.Trace("Finished. Exiting EarlyVsLateTestWF."); }