/// <summary> /// Creates a new instance of Core /// </summary> /// <param name="Settings"></param> /// <param name="metadata"></param> /// <param name="SecurityRoles"></param> /// <param name="Workflows"></param> public Core(XrmMockupSettings Settings, MetadataSkeleton metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles) { this.TimeOffset = new TimeSpan(); this.settings = Settings; this.metadata = metadata; baseCurrency = metadata.BaseOrganization.GetAttributeValue <EntityReference>("basecurrencyid"); baseCurrencyPrecision = metadata.BaseOrganization.GetAttributeValue <int>("pricingdecimalprecision"); this.db = new XrmDb(metadata.EntityMetadata, GetOnlineProxy()); this.snapshots = new Dictionary <string, Snapshot>(); this.security = new Security(this, metadata, SecurityRoles); this.ServiceFactory = new MockupServiceProviderAndFactory(this); //add the additional plugin settings to the meta data if (settings.IPluginMetadata != null) { metadata.Plugins.AddRange(Settings.IPluginMetadata); } this.pluginManager = new PluginManager(Settings.BasePluginTypes, metadata.EntityMetadata, metadata.Plugins); this.workflowManager = new WorkflowManager(Settings.CodeActivityInstanceTypes, Settings.IncludeAllWorkflows, Workflows, metadata.EntityMetadata); this.systemAttributeNames = new List <string>() { "createdon", "createdby", "modifiedon", "modifiedby" }; this.RequestHandlers = GetRequestHandlers(db); InitializeDB(); this.security.InitializeSecurityRoles(db); }
/// <summary> /// Create a new XrmMockup instance /// </summary> /// <param name="settings"></param> /// <param name="metadata"></param> /// <param name="workflows"></param> /// <param name="securityRoles"></param> protected XrmMockupBase(XrmMockupSettings settings, MetadataSkeleton metadata, List <Entity> workflows, List <SecurityRole> securityRoles) { this.Core = new Core(settings, metadata, workflows, securityRoles); this.ServiceFactory = new MockupServiceProviderAndFactory(this.Core); if (settings.EnableProxyTypes == true) { EnableProxyTypes(); } }
/// <summary> /// Gets an instance of XrmMockup2016 /// </summary> /// <param name="Settings"></param> public static XrmMockup2016 GetInstance(XrmMockupSettings Settings) { if (instances.ContainsKey(Settings)) { return(instances[Settings]); } var instance = new XrmMockup2016(Settings); instances[Settings] = instance; return(instance); }
/// <summary> /// Gets an instance of XrmMockup2011 /// </summary> /// <param name="Settings"></param> public static XrmMockup2016 GetInstance(XrmMockupSettings Settings) { if (instances.ContainsKey(Settings)) { return(instances[Settings]); } var prefix = "../../Metadata"; var instance = new XrmMockup2016(Settings, Utility.GetMetadata(prefix), Utility.GetWorkflows(prefix), Utility.GetSecurityRoles(prefix)); instances[Settings] = instance; return(instance); }
/// <summary> /// Creates a new instance of Core /// </summary> /// <param name="Settings"></param> /// <param name="metadata"></param> /// <param name="SecurityRoles"></param> /// <param name="Workflows"></param> public Core(XrmMockupSettings Settings, MetadataSkeleton metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles) { this.dataMethods = new DataMethods(this, metadata, SecurityRoles); this.ServiceFactory = new MockupServiceProviderAndFactory(this); this.settings = Settings; this.InitRequestMap(); this.pluginManager = new PluginManager(Settings.BasePluginTypes, metadata.EntityMetadata, metadata.Plugins); this.workflowManager = new WorkflowManager(Settings.CodeActivityInstanceTypes, Settings.IncludeAllWorkflows, Workflows, metadata.EntityMetadata); var tracingService = new TracingService(); var factory = new MockupServiceProviderAndFactory(this, null, tracingService); var service = factory.CreateOrganizationService(null, new MockupServiceSettings(false, true, MockupServiceSettings.Role.SDK)); dataMethods.SetWorkflowServices(tracingService, factory, service); }
/// <summary> /// Creates a new instance of Core /// </summary> /// <param name="Settings"></param> /// <param name="metadata"></param> /// <param name="SecurityRoles"></param> /// <param name="Workflows"></param> public Core(XrmMockupSettings Settings, MetadataSkeleton metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles) { this.TimeOffset = new TimeSpan(); this.settings = Settings; this.metadata = metadata; baseCurrency = metadata.BaseOrganization.GetAttributeValue <EntityReference>("basecurrencyid"); baseCurrencyPrecision = metadata.BaseOrganization.GetAttributeValue <int>("pricingdecimalprecision"); this.db = new XrmDb(metadata.EntityMetadata, GetOnlineProxy()); this.snapshots = new Dictionary <string, Snapshot>(); this.security = new Security(this, metadata, SecurityRoles, this.db); this.ServiceFactory = new MockupServiceProviderAndFactory(this); //add the additional plugin settings to the meta data if (settings.IPluginMetadata != null) { metadata.Plugins.AddRange(Settings.IPluginMetadata); } this.pluginManager = new PluginManager(Settings.BasePluginTypes, metadata.EntityMetadata, metadata.Plugins); this.workflowManager = new WorkflowManager(Settings.CodeActivityInstanceTypes, Settings.IncludeAllWorkflows, Workflows, metadata.EntityMetadata); this.systemAttributeNames = new List <string>() { "createdon", "createdby", "modifiedon", "modifiedby" }; this.RequestHandlers = GetRequestHandlers(db); InitializeDB(); this.security.InitializeSecurityRoles(db); //persist the access team templates as they livein the db as records. if (metadata.AccessTeamTemplates != null) { foreach (var att in metadata.AccessTeamTemplates) { if (!db.HasRow(att.ToEntityReference())) { var create = new CreateRequest(); create.Target = att; this.Execute(create, AdminUserRef); } } } }
/// <summary> /// Creates a new instance of Core /// </summary> /// <param name="Settings"></param> /// <param name="metadata"></param> /// <param name="SecurityRoles"></param> /// <param name="Workflows"></param> public Core(XrmMockupSettings Settings, MetadataSkeleton metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles) { this.TimeOffset = new TimeSpan(); this.settings = Settings; this.metadata = metadata; baseCurrency = metadata.BaseOrganization.GetAttributeValue <EntityReference>("basecurrencyid"); baseCurrencyPrecision = metadata.BaseOrganization.GetAttributeValue <int>("pricingdecimalprecision"); this.db = new XrmDb(metadata.EntityMetadata, GetOnlineProxy()); this.security = new Security(this, metadata, SecurityRoles); this.ServiceFactory = new MockupServiceProviderAndFactory(this); this.pluginManager = new PluginManager(Settings.BasePluginTypes, metadata.EntityMetadata, metadata.Plugins); this.workflowManager = new WorkflowManager(Settings.CodeActivityInstanceTypes, Settings.IncludeAllWorkflows, Workflows, metadata.EntityMetadata); this.RequestHandlers = GetRequestHandlers(db); InitializeDB(); this.security.InitializeSecurityRoles(db); }
/// <summary> /// Create a new XrmMockup instance /// </summary> /// <param name="settings"></param> protected XrmMockupBase(XrmMockupSettings settings) { var metadataDirectory = "../../Metadata/"; if (settings.MetadataDirectoryPath != null) { metadataDirectory = settings.MetadataDirectoryPath; } MetadataSkeleton metadata = Utility.GetMetadata(metadataDirectory); List <Entity> workflows = Utility.GetWorkflows(metadataDirectory); List <SecurityRole> securityRoles = Utility.GetSecurityRoles(metadataDirectory); this.Core = new Core(settings, metadata, workflows, securityRoles); this.ServiceFactory = new MockupServiceProviderAndFactory(this.Core); if (settings.EnableProxyTypes == true) { EnableProxyTypes(); } }
private XrmMockup2011(XrmMockupSettings Settings, MetadataSkeleton Metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles) : base(Settings, Metadata, Workflows, SecurityRoles) { }
private XrmMockup2011(XrmMockupSettings Settings) : base(Settings) { }
private XrmMockup365(XrmMockupSettings Settings) : base(Settings) { }