public void FluentBuilderExamples() { _myFilter = null; // TODO _myAppender = Append.To.Console(c => c.Targeting.ConsoleOut()); _myLayout = Layout.Using.ExceptionMessage(); _myErrorHandler = Handle.Errors.OnlyOnce(h => h.PrefixedBy("ERROR")); _myRenderer = null; // TODO }
public void Configure(ILayoutDefinition layout, AttributeSet attributes) { if (ReferenceEquals(layout, null)) { return; } var validationErrros = _attributeMatrix.Validate <ILayoutDefinition>(attributes); if (validationErrros != null) { var message = "There are invalid attributes on layout of type " + layout.GetType().DisplayName(); if (attributes.IsLayout != null && string.IsNullOrEmpty(attributes.IsLayout.Name)) { message += " called '" + attributes.IsLayout.Name + "'."; } foreach (var error in validationErrros) { message += Environment.NewLine + error; } throw new LayoutBuilderException(message); } if (!ReferenceEquals(attributes.IsLayout, null)) { layout .Name(attributes.IsLayout.Name) .RegionNesting(attributes.IsLayout.RegionNesting); } if (!ReferenceEquals(attributes.NeedsDatas, null)) { foreach (var dataNeed in attributes.NeedsDatas) { if (!string.IsNullOrEmpty(dataNeed.DataProviderName)) { layout.DataProvider(dataNeed.DataProviderName); } if (dataNeed.DataType != null) { layout.BindTo(dataNeed.DataType, dataNeed.Scope); } } } if (!ReferenceEquals(attributes.PartOf, null)) { layout.PartOf(attributes.PartOf.PackageName); } if (!ReferenceEquals(attributes.DeployedAs, null)) { layout .DeployIn(attributes.DeployedAs.ModuleName) .AssetDeployment(attributes.DeployedAs.Deployment); } if (!ReferenceEquals(attributes.NeedsComponents, null)) { foreach (var need in attributes.NeedsComponents) { layout.NeedsComponent(need.ComponentName); } } if (!ReferenceEquals(attributes.Container, null)) { layout .Tag(attributes.Container.Tag) .ClassNames(attributes.Container.ClassNames); } if (!ReferenceEquals(attributes.Style, null)) { layout .Style(attributes.Style.CssStyle); } if (!ReferenceEquals(attributes.ChildContainer, null)) { layout .NestingTag(attributes.ChildContainer.Tag) .NestedClassNames(attributes.ChildContainer.ClassNames); } if (!ReferenceEquals(attributes.ChildStyle, null)) { layout.NestedStyle(attributes.ChildStyle.CssStyle); } if (!ReferenceEquals(attributes.DeployCsss, null)) { foreach (var css in attributes.DeployCsss.OrderBy(c => c.Order)) { layout.DeployCss(css.CssSelector, css.CssStyle); } } if (!ReferenceEquals(attributes.DeployFunctions, null)) { foreach (var function in attributes.DeployFunctions) { layout.DeployFunction( function.ReturnType, function.FunctionName, function.Parameters, function.Body, function.IsPublic); } } if (!ReferenceEquals(attributes.LayoutRegions, null)) { foreach (var usesRegion in attributes.LayoutRegions) { layout.Region(usesRegion.RegionName, usesRegion.RegionElement); } } if (!ReferenceEquals(attributes.RegionComponents, null)) { foreach (var regionComponent in attributes.RegionComponents) { layout.Component(regionComponent.Region, regionComponent.Component); } } if (!ReferenceEquals(attributes.RegionLayouts, null)) { foreach (var regionLayout in attributes.RegionLayouts) { layout.Layout(regionLayout.Region, regionLayout.Layout); } } if (!ReferenceEquals(attributes.RegionHtmls, null)) { foreach (var regionHtml in attributes.RegionHtmls) { layout.Html(regionHtml.Region, regionHtml.LocalizationId, regionHtml.Html); } } if (!ReferenceEquals(attributes.RegionTemplates, null)) { foreach (var regionTemplate in attributes.RegionTemplates) { layout.Template(regionTemplate.Region, regionTemplate.TemplatePath); } } }
/// <summary> /// Configures the appender to use the specified layout definition. /// </summary> /// <param name="layout">An <see cref="ILayoutDefinition"/> instance.</param> /// <returns>The parent <typeparamref name="T"/> instance in the fluent API.</returns> public T Layout(ILayoutDefinition layout) { _layout = layout; return(_parent); }