public void Bendy_CanSetAndGetFirstLevelPropertiesFromObject_Lazily() { // Arrange var testComplexObject = DateTimeOffset.UtcNow; var testComplexObject2 = new KeyValuePair <string, int>("blah", 5); // Act dynamic bendyObject = new BendyObject(testComplexObject); dynamic bendyObject2 = new BendyObject(testComplexObject2); // Assert Assert.AreEqual(testComplexObject.Date, bendyObject.Date); Assert.AreEqual(testComplexObject.Day, bendyObject.Day); Assert.AreEqual(testComplexObject.Date.Minute, bendyObject.Date.Minute); Assert.AreEqual(testComplexObject2.Key, bendyObject2.Key); Assert.AreEqual(testComplexObject2.Value, bendyObject2.Value); // Act again, test overwriting property values bendyObject.Day = 8; Assert.AreEqual(8, bendyObject.Day); bendyObject2.Value = 6; // Test overwriting value Assert.AreEqual(6, bendyObject2.Value); }
public void Dictionary_Items_As_Properties() { var d = new Dictionary <string, string> { { "item1", "value1" }, { "item2", "value2" }, { "item3", "value3" }, }; var bendyDictionary = new BendyObject(d); var dynamicDictionary = bendyDictionary.AsDynamic(); Assert.IsNotNull(dynamicDictionary as IEnumerable); Assert.IsNotNull(dynamicDictionary as IEnumerable); Assert.AreEqual(d.Count, Enumerable.Count(dynamicDictionary)); for (var i = 0; i < Enumerable.Count(dynamicDictionary); i++) { //first ensure that the key is a property of the Bendy object var keyVal = d.ElementAt(i); Assert.That(dynamicDictionary[keyVal.Key] == keyVal.Value); //next ensure that the value can be retreived from the enumerable item var item = Enumerable.ElementAt(dynamicDictionary, i); Assert.That(item.Value == keyVal.Value); } }
public void ContentEditorControllerTests_Sort_Invalidated() { //Arrange var parentEntity = CreateEntityRevision(new RegexPropertyEditor()); var subEntity1 = CreateEntityRevision(new RegexPropertyEditor()); var subEntity2 = CreateEntityRevision(new RegexPropertyEditor()); var subEntity3 = CreateEntityRevision(new RegexPropertyEditor()); //setup the relations using (var writer = UmbracoApplicationContext.Hive.OpenWriter<IContentStore>()) { writer.Repositories.AddRelation(parentEntity.Item, subEntity1.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Repositories.AddRelation(parentEntity.Item, subEntity2.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Repositories.AddRelation(parentEntity.Item, subEntity3.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Complete(); } //var controller = new ContentEditorController(GetBackOfficeRequestContext()); var controller = new SortController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary<string, string>(), new Dictionary<string, string>(), GetBackOfficeRequestContext()); //Act //a model not containing any of the id's or sort indexes var result = controller.SortForm(new SortModel()); var model = new BendyObject(result.Data); //Assert dynamic check = model.AsDynamic(); Assert.AreEqual("ValidationError", check.failureType); Assert.AreEqual("false", check.success); }
public void Bendy_CanSetAndGetLazyProperty() { // Arrange var bendyObject = new BendyObject(); var delegateTest = 0; // Act bendyObject.AddLazy("MyProperty", () => "this is my value"); bendyObject.AddLazy("FirstDelegate", () => { delegateTest = 1; return("value 1"); }); bendyObject.AddLazy("SecondDelegate", () => { delegateTest = 2; return("value 2"); }); dynamic bendyDynamic = bendyObject.AsDynamic(); // Assert Assert.AreEqual("this is my value", bendyDynamic.MyProperty); Assert.AreEqual("value 2", bendyDynamic.SecondDelegate); Assert.AreEqual("value 1", bendyDynamic.FirstDelegate); Assert.AreEqual(1, delegateTest); }
public void Bendy_ReturnsExplicitNull_IfPropertyNotFound() { // Arrange dynamic bendyObject = new BendyObject(); // Act & Assert Assert.IsTrue(bendyObject.MyUnsetProperty == null, "MyUnsetProperty is not null; explicit null check should be true"); }
public void Bendy_CanImplicitlyCastToString_OnMethodCall_IfPropertyNotFound() { // Arrange dynamic bendyObject = new BendyObject(); // Act & Assert Assert.IsTrue(IrrelevantTestMethod(bendyObject.MyUnsetProperty), "MyUnsetProperty as direct method call is not null"); }
public void WhenBendyIsEmpty_CanExplicitlyConvertToNullableInteger() { // Arrange dynamic nullHelper = new BendyObject(); // Act & Assert CheckExplicitNonNullableTypeAndAssert <int>(nullHelper); }
public void WhenBendyIsEmpty_CanExplicitlyConvertToDecimal() { // Arrange dynamic nullHelper = new BendyObject(); // Act & Assert CheckExplicitTypeAndAssert <decimal>(nullHelper); }
private static void CheckExplicitTypeAndAssert <T>(BendyObject nullHelper) { // Act var converted = (T)(dynamic)nullHelper; // Assert Assert.That(converted, Is.EqualTo(default(T))); }
private static void CheckExplicitNonNullableTypeAndAssert <T>(BendyObject nullHelper) where T : struct { // Act var converted = (T?)(dynamic)nullHelper; // Assert Assert.That(converted.HasValue, Is.EqualTo(false)); }
public void Bendy_ReturnsImplicitString_IfPropertyNotFound_DuringMethodCall() { // Arrange dynamic bendyObject = new BendyObject(); // Act & Assert Assert.That(bendyObject.MyUnsetProperty, Is.EqualTo(string.Empty), "MyUnsetProperty is not equal to string.Empty"); Assert.That(bendyObject.MyUnsetProperty, Is.Not.Null, "MyUnsetProperty is null during impicit check, should be string.Empty"); }
public void SetUp() { var assemblies = new[] { typeof(Umbraco.Tests.Extensions.TestDynamicExtensions).Assembly }; var supportedDynamicTypes = new[] { typeof(Content), typeof(BendyObject) }; var supportedDynamicFieldTypes = new[] { typeof(Content), typeof(TypedAttribute), typeof(BendyObject) }; var bendyMethods = DynamicExtensionsHelper.GetExtensions(assemblies, supportedDynamicTypes); var subBendyMethods = DynamicExtensionsHelper.GetExtensions<DynamicFieldExtensionAttribute>(assemblies, supportedDynamicFieldTypes); var bendy = new BendyObject(); BendyObjectExtensionsHelper.ApplyDynamicExtensions<Content>(bendy, bendyMethods); var content = new Content(); _bendy = bendy; _bendy["__OriginalItem"] = content; var attrType1 = new AttributeType {RenderTypeProvider = CorePluginConstants.FileUploadPropertyEditorId}; var attrDef1 = new AttributeDefinition {AttributeType = attrType1}; var attr1 = new TypedAttribute(attrDef1); var subBendy1 = new BendyObject(); subBendy1["__OriginalItem"] = attr1; subBendy1.AddLazy("__Parent", () => bendy); subBendy1["__ParentKey"] = "Test"; BendyObjectExtensionsHelper.ApplyDynamicFieldExtensions(content, CorePluginConstants.FileUploadPropertyEditorId, subBendy1, subBendyMethods); _bendy["Test"] = subBendy1; var attrType2 = new AttributeType { RenderTypeProvider = CorePluginConstants.TreeNodePickerPropertyEditorId }; var attrDef2 = new AttributeDefinition { AttributeType = attrType2 }; var attr2 = new TypedAttribute(attrDef2); var subBendy2 = new BendyObject(); subBendy2["__OriginalItem"] = attr2; subBendy2.AddLazy("__Parent", () => bendy); subBendy2["__ParentKey"] = "Test2"; BendyObjectExtensionsHelper.ApplyDynamicFieldExtensions(content, CorePluginConstants.TreeNodePickerPropertyEditorId, subBendy2, subBendyMethods); _bendy["Test2"] = subBendy2; }
public void Bendy_CanSetAndGetProperty() { // Arrange dynamic bendyObject = new BendyObject(); // Act bendyObject.MyProperty = "this is my value"; // Assert Assert.AreEqual("this is my value", bendyObject.MyProperty); }
public void WhenBendyIsEmpty_CanExplicitlyConvertToEmptyString() { // Arrange dynamic nullHelper = new BendyObject(); // Act string converted = nullHelper; // Assert Assert.That(converted, Is.EqualTo(string.Empty)); }
public void MultipleRequestsForSameUnsetPropertyReturnSameValue() { // Arrange dynamic bendy = new BendyObject(); // Act string myUnsetProperty = bendy.MyUnsetProperty; string myUnsetPropertySecondAccess = bendy.MyUnsetProperty; // Assert Assert.That(myUnsetProperty, Is.EqualTo(myUnsetPropertySecondAccess)); }
public void ParsingDynamicStringWorks() { var hiveId = new HiveId(Guid.NewGuid()); var myBendy = new BendyObject(); myBendy["Item"] = new BendyObject(); myBendy["Item"].Value = new BendyObject(hiveId); var asDynamic = (dynamic) myBendy; AttemptTuple<HiveId> result = HiveId.TryParse(asDynamic.Item.Value); Assert.That(result.Success, Is.True); Assert.That(result.Result, Is.EqualTo(hiveId)); }
public void MultipleRequestsForSameSetPropertyReturnSameValue() { // Arrange dynamic bendy = new BendyObject(); // Act bendy.MySetProperty = "a value"; var mySetProperty = bendy.MySetProperty; var mySetPropertySecondAccess = bendy.MySetProperty; // Assert Assert.That(mySetProperty, Is.EqualTo(mySetPropertySecondAccess)); Assert.That(mySetProperty, Is.SameAs(mySetPropertySecondAccess)); }
public void Bendy_CanSetAndGetEnumerableProperty() { // Arrange dynamic bendyObject = new BendyObject(); var numbers = new[] { 1, 2, 3, 4, 5 }; dynamic bendy1 = new BendyObject(); bendy1.Blah = "blah1"; dynamic bendy2 = new BendyObject(); bendy2.Blah = "blah2"; var alreadyBendy = new[] { bendy1, bendy2 }; var bendyEnumWithLazy = new BendyObject(); // Act bendyObject.Numbers = numbers; bendyObject.AlreadyBendy = alreadyBendy; bendyEnumWithLazy.AddLazy("Lazy", () => alreadyBendy); // Assert int count = 0; foreach (var number in bendyObject.Numbers) { count++; Assert.AreEqual(count, number); } Assert.AreEqual(5, count); int alreadyBendyCount = 0; foreach (var already in bendyObject.AlreadyBendy) { alreadyBendyCount++; //Assert.AreEqual("blah" + alreadyBendyCount, already.Blah); } Assert.AreEqual(2, alreadyBendyCount); dynamic lazyBendy = bendyEnumWithLazy; int alreadyBendyLazyCount = 0; foreach (var already in lazyBendy.Lazy) { alreadyBendyLazyCount++; Assert.AreEqual("blah" + alreadyBendyLazyCount, already.Blah); } Assert.AreEqual(2, alreadyBendyLazyCount); }
public void WhenBendyIsEmpty_CanConvertToAnyValueType() { // Arrange dynamic nullHelper = new BendyObject(); var valueTypes = TypeFinder.GetAllAssemblies() .SelectMany(x => x.GetTypes().Where(type => type.IsPrimitive && !type.IsEnum)) .Distinct(); // Act & Assert foreach (var valueType in valueTypes) { CheckConvertTypeAndAssert(valueType, nullHelper); } }
public void ParsingDynamicLazyStringWorks() { var realId = new HiveId(Guid.NewGuid()); var lazyHiveId = new Lazy<object>(() => realId.ToString()); var hiveId = lazyHiveId.Value; var myBendy = new BendyObject(); myBendy["Item"] = new BendyObject(); myBendy["Item"].Value = new BendyObject(lazyHiveId); var asDynamic = (dynamic)myBendy; var result = HiveId.Parse(asDynamic.Item.Value); Assert.That(result, Is.EqualTo(realId)); }
public void WhenRunningMethod_ContainerBendy_IsPassedToDelegate() { // Arrange var builder = new BendyBuilder(); BendyObject _outer = null; // Act builder.CreateMethod("MyMethod", (containerBendy) => SetRef(ref _outer, ref containerBendy)); dynamic bendyDynamic = builder.ToBendy().AsDynamic(); bendyDynamic.MyMethod(); // Assert Assert.That(_outer, Is.Not.Null); }
public void Bendy_CanImplicitlyCastToString_IfPropertyNotFound() { // Arrange dynamic bendyObject = new BendyObject(); // Act bendyObject.MyProperty = "this is my value"; // Assert Assert.AreEqual("this is my value", bendyObject.MyProperty); var myUnsetProperty = bendyObject.MyUnsetProperty; Assert.IsTrue(myUnsetProperty == null, "MyUnsetProperty is not null"); Assert.IsTrue(IrrelevantTestMethod(myUnsetProperty), "MyUnsetProperty with variable reference is not null"); }
public void ParsingDynamicStringWorks() { var hiveId = new HiveId(Guid.NewGuid()); var myBendy = new BendyObject(); myBendy["Item"] = new BendyObject(); myBendy["Item"].Value = new BendyObject(hiveId); var asDynamic = (dynamic)myBendy; AttemptTuple <HiveId> result = HiveId.TryParse(asDynamic.Item.Value); Assert.That(result.Success, Is.True); Assert.That(result.Result, Is.EqualTo(hiveId)); }
public void ParsingDynamicLazyStringWorks() { var realId = new HiveId(Guid.NewGuid()); var lazyHiveId = new Lazy <object>(() => realId.ToString()); var hiveId = lazyHiveId.Value; var myBendy = new BendyObject(); myBendy["Item"] = new BendyObject(); myBendy["Item"].Value = new BendyObject(lazyHiveId); var asDynamic = (dynamic)myBendy; var result = HiveId.Parse(asDynamic.Item.Value); Assert.That(result, Is.EqualTo(realId)); }
public void Bendy_CanSetAndGetDeepProperty() { // Arrange dynamic bendyObject = new BendyObject(); // Act bendyObject.MyFirstProperty = "this is my first value"; bendyObject.MySecondProperty.MyValue = "this is my first nested value"; bendyObject.MyThirdProperty = new KeyValuePair <string, string>("fake key", "fake value"); // Assert Assert.AreEqual("this is my first value", bendyObject.MyFirstProperty); Assert.AreEqual("this is my first nested value", bendyObject.MySecondProperty.MyValue); Assert.AreEqual("fake key", bendyObject.MyThirdProperty.Key); Assert.AreEqual("fake value", bendyObject.MyThirdProperty.Value); }
/// <summary> /// Applies the dynamic extensions. /// </summary> /// <param name="bendyObject">The bendy object.</param> public static void ApplyDynamicExtensions <TItemType>(BendyObject bendyObject, IEnumerable <Assembly> dynamicExtensionAssemblies = null) { IEnumerable <MethodInfo> methods; var supportedTypes = new[] { typeof(BendyObject), typeof(TItemType) }; if (dynamicExtensionAssemblies == null) { dynamicExtensionAssemblies = TypeFinder.GetFilteredDomainAssemblies().ToArray(); } methods = DynamicExtensionsHelper.GetExtensions(dynamicExtensionAssemblies, supportedTypes); ApplyDynamicExtensions <TItemType>(bendyObject, methods); }
public void Bendy_Can_Iterate_Itself_If_Enumerable() { var list = new List <string> { "item 1", "item 2", "item 3" }; var bendyList = new BendyObject(list); var dynamicList = bendyList.AsDynamic(); Assert.IsNotNull(dynamicList as IEnumerable); Assert.AreEqual(list.Count, Enumerable.Count(dynamicList)); for (var i = 0; i < Enumerable.Count(dynamicList); i++) { var item = Enumerable.ElementAt(dynamicList, i); Assert.That(list[i] == item); } }
public void Run(QueryTestDescription <TModel> onItem) { // Arrange var nullQueryableDataSource = new NullQueryableDataSource(); var context = GenerateContext <TModel>(nullQueryableDataSource); var dynamicQuery = onItem.OriginalExpression as Expression <Func <TModel, bool> >; dynamic test = new ExpandoObject(); test.colour = "orange"; dynamic test2 = new BendyObject(); test2.colour = "orange"; var query = context.Where(dynamicQuery ?? onItem.OriginalQuery); // Act query.ToList(); var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription; // Assert AssertingCriteriaVisitor <TModel> .Check(onItem, generatedQuery.Criteria); }
public void ContentEditorControllerTests_Sort_Invalidated() { //Arrange var parentEntity = CreateEntityRevision(new RegexPropertyEditor()); var subEntity1 = CreateEntityRevision(new RegexPropertyEditor()); var subEntity2 = CreateEntityRevision(new RegexPropertyEditor()); var subEntity3 = CreateEntityRevision(new RegexPropertyEditor()); //setup the relations using (var writer = UmbracoApplicationContext.Hive.OpenWriter <IContentStore>()) { writer.Repositories.AddRelation(parentEntity.Item, subEntity1.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Repositories.AddRelation(parentEntity.Item, subEntity2.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Repositories.AddRelation(parentEntity.Item, subEntity3.Item, FixedRelationTypes.DefaultRelationType, 0); writer.Complete(); } //var controller = new ContentEditorController(GetBackOfficeRequestContext()); var controller = new SortController(GetBackOfficeRequestContext()); controller.InjectDependencies(new Dictionary <string, string>(), new Dictionary <string, string>(), GetBackOfficeRequestContext()); //Act //a model not containing any of the id's or sort indexes var result = controller.SortForm(new SortModel()); var model = new BendyObject(result.Data); //Assert dynamic check = model.AsDynamic(); Assert.AreEqual("ValidationError", check.failureType); Assert.AreEqual("false", check.success); }
/// <summary> /// Applies the dynamic extensions. /// </summary> /// <param name="bendyObject">The bendy object.</param> /// <param name="extentionMethods">The extention methods.</param> public static void ApplyDynamicExtensions <TItemType>(BendyObject bendyObject, IEnumerable <MethodInfo> extentionMethods) { var typeKey = typeof(TItemType).FullName; foreach (var method in extentionMethods) { var methodKey = method.DeclaringType.FullName + method.Name + TypeExtensions.GetCacheKeyFromParameters(method.GetParameters()); MethodInfo methodCopied = method; var dynamicMeth = _applyableDynamicExtensionsCache .GetOrAdd(typeKey + methodKey, key => { var attrib = methodCopied.GetCustomAttributes <DynamicExtensionAttribute>(false).FirstOrDefault(); if (attrib == null) { return(null); } var parameters = methodCopied.GetParameters(); var expressionParams = parameters.Select(p => Expression.Parameter(p.ParameterType, p.Name)).ToArray(); var expression = Expression.Call(methodCopied, expressionParams.Cast <Expression>()); var sig = new Signature(!string.IsNullOrWhiteSpace(attrib.Name) ? attrib.Name : methodCopied.Name, methodCopied.ReturnType, parameters.Select(x => new Parameter(x.Name, x.ParameterType)).ToArray()); var dynamicMethod = new DynamicMethod(sig, Expression.Lambda(expression, expressionParams), parameters[0].ParameterType == typeof(TItemType) ? typeof(TItemType) : null); return(dynamicMethod); }); if (dynamicMeth != null) { bendyObject.AddMethod(dynamicMeth); } } }
public override void ConfigureApplication(string providerKey, XDocument configXml, BendyObject installParams) { //TODO: Setup config }
public PartialViewMacroModel(Content page, BendyObject macroParams) { CurrentPage = page; MacroParameters = macroParams.AsDynamic(); }
public void SetUp() { var assemblies = new[] { typeof(Rebel.Tests.Extensions.TestDynamicExtensions).Assembly }; var supportedDynamicTypes = new[] { typeof(Content), typeof(BendyObject) }; var supportedDynamicFieldTypes = new[] { typeof(Content), typeof(TypedAttribute), typeof(BendyObject) }; var bendyMethods = DynamicExtensionsHelper.GetExtensions(assemblies, supportedDynamicTypes); var subBendyMethods = DynamicExtensionsHelper.GetExtensions <DynamicFieldExtensionAttribute>(assemblies, supportedDynamicFieldTypes); var bendy = new BendyObject(); BendyObjectExtensionsHelper.ApplyDynamicExtensions <Content>(bendy, bendyMethods); var content = new Content(); _bendy = bendy; _bendy["__OriginalItem"] = content; var attrType1 = new AttributeType { RenderTypeProvider = CorePluginConstants.FileUploadPropertyEditorId }; var attrDef1 = new AttributeDefinition { AttributeType = attrType1 }; var attr1 = new TypedAttribute(attrDef1); var subBendy1 = new BendyObject(); subBendy1["__OriginalItem"] = attr1; subBendy1.AddLazy("__Parent", () => bendy); subBendy1["__ParentKey"] = "Test"; BendyObjectExtensionsHelper.ApplyDynamicFieldExtensions(content, CorePluginConstants.FileUploadPropertyEditorId, subBendy1, subBendyMethods); _bendy["Test"] = subBendy1; var attrType2 = new AttributeType { RenderTypeProvider = CorePluginConstants.TreeNodePickerPropertyEditorId }; var attrDef2 = new AttributeDefinition { AttributeType = attrType2 }; var attr2 = new TypedAttribute(attrDef2); var subBendy2 = new BendyObject(); subBendy2["__OriginalItem"] = attr2; subBendy2.AddLazy("__Parent", () => bendy); subBendy2["__ParentKey"] = "Test2"; BendyObjectExtensionsHelper.ApplyDynamicFieldExtensions(content, CorePluginConstants.TreeNodePickerPropertyEditorId, subBendy2, subBendyMethods); _bendy["Test2"] = subBendy2; }
/// <summary> /// Creates any necessary configuration files/transforms for the provider to operate /// </summary> /// <param name="providerKey">The provider key for the provider that is being configured</param> /// <param name="configXml">The configuration xml file that needs to be written to</param> /// <param name="installParams">TODO: This is only a temporary way of passing arbitrary parameters to a provider to create its configuration, /// we need to allow hive providers to return a model for which we display a form/installer for and then pass in that /// model to the installParams</param> public override void ConfigureApplication(string providerKey, XDocument configXml, BendyObject installParams) { dynamic dynamicParams = installParams; string dbType = dynamicParams.DatabaseType.ToString(); var connectionString = ""; var providerName = ""; var nhDriver = ""; //we need to create the connection strings if it's not custom switch (dbType) { case "MSSQL": connectionString = string.Format("Data Source={0}; Initial Catalog={1};User Id={2};Password={3}", dynamicParams.Server, dynamicParams.DatabaseName, dynamicParams.Username, dynamicParams.Password); providerName = "System.Data.SqlClient"; nhDriver = "MsSql2008"; break; case "MySQL": connectionString = string.Format("Server={0}; Database={1};Uid={2};Pwd={3}", dynamicParams.Server, dynamicParams.DatabaseName, dynamicParams.Username, dynamicParams.Password); providerName = "MySql.Data.MySQLClient"; nhDriver = "MySql"; break; case "SQLCE": connectionString = "Data Source=|DataDirectory|Umbraco.sdf"; providerName = "System.Data.SqlServerCe.4.0"; nhDriver = "MsSqlCe4"; break; case "Custom": //limiting to MS SQL atm connectionString = dynamicParams.ConnectionString; providerName = "System.Data.SqlClient"; nhDriver = "MsSql2008"; break; } var connstringKey = ""; var hiveElement = new ProviderConfigurationSection() { ConnectionStringKey = "{0}.ConnString", Driver = SupportedNHDrivers.MsSqlCe4, SessionContext = "web" }; var elementName = providerKey; hiveElement.DriverAsString = nhDriver; connstringKey = string.Format(hiveElement.ConnectionStringKey, providerKey); hiveElement.ConnectionStringKey = connstringKey; DeepConfigManager.SerializeProviderConfigSection(configXml, hiveElement, "umbraco/persistenceProviderSettings/" + elementName, true); //add the connection strings var connStrings = new ConnectionStringsSection(); connStrings.ConnectionStrings.Add(new ConnectionStringSettings(connstringKey, connectionString, providerName)); //now serialize the connection strings to the config var connectionStringElement = DeepConfigManager.SerializeProviderConfigSection(configXml, connStrings, "connectionStrings", false); var newConnString = new XElement("add"); DeepConfigManager.AddPropertiesToElement(connStrings.ConnectionStrings[0], newConnString); connectionStringElement.Add(newConnString); // The following is superceded by the above to support multiple "add" references: DeepConfigManager.SerializeProviderConfigSection(configXml, connStrings.ConnectionStrings[0], "connectionStrings/add", false); }
public InsertMediaModel(HiveId mediaId, string mediaFilePath, BendyObject mediaParameters) { MediaId = mediaId; MediaParameters = mediaParameters.AsDynamic(); MediaFilePath = mediaFilePath; }
private static void AddToBendy(BendyObject bendy, string attribAlias, object value) { bendy[attribAlias.ToRebelAlias(StringAliasCaseType.PascalCase)] = value; bendy[attribAlias.ToRebelAlias(StringAliasCaseType.Unchanged)] = value; }
/// <summary> /// Creates any necessary configuration files/transforms for the provider to operate /// </summary> /// <param name="configXml">The configuration xml file that needs to be written to</param> /// <param name="installParams"> /// TODO: This is only a temporary way of passing arbitrary parameters to a provider to create its configuration, /// we need to allow hive providers to return a model for which we display a form/installer for and then pass in that /// model to the installParams /// </param> /// <param name="providerKey">The provider key for the provider that is being configured</param> public abstract void ConfigureApplication(string providerKey, XDocument configXml, BendyObject installParams);
/// <summary> /// Initializes a new instance of the <see cref="PersistenceMetadata"/> class. /// </summary> public PersistenceMetadata() { SourceEntity = new BendyObject(); }
void SetRef(ref BendyObject field, ref BendyObject inomcing) { field = inomcing; }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public PersistenceMetadata(string ownerProviderAlias, string returnedByProviderAlias) { OwnerProviderAlias = ownerProviderAlias; ReturnedByProviderAlias = returnedByProviderAlias; SourceEntity = new BendyObject(); }
public override void ConfigureApplication(string providerKey, string providerAlias, XDocument configXml, BendyObject installParams) { }