public ReportSpecificationSetupClass(string propertyName, IReportsSpecificationSetup properties, bool isChild = false, int?indexInParent = null) { PropertyName = propertyName; Properties = properties; IsChild = isChild; IndexInParent = indexInParent; }
public ReportSpecificationSetupClass( string propertyName, IReportsSpecificationSetup properties) { PropertyName = propertyName; Properties = properties; }
void WriteRootClass(IReportsSpecificationSetup properties) { _writer.StartClass(ClassName(properties)); WriteClass(properties); _writer.EndClass(); }
public ReportSpecificationSetupClass( MethodBase setupMethod, IReportsSpecificationSetup properties) : this( setupMethod.Name, properties) { }
void WriteSubClass(IReportsSpecificationSetup properties) { writer.StartSubClass(ClassName(properties)); WriteClass(properties); writer.EndSubClass(); }
void WriteProperties(IReportsSpecificationSetup properties) { foreach (var property in properties.Properties) { property.Callback( WriteValueProperty, WriteClassProperty, WriteClassTableProperty, WriteListProperty); } }
static string ClassName(IReportsSpecificationSetup properties) { var className = properties.GetType().Name; var nameSpace = properties.GetType().Namespace; if (nameSpace != typeof(T).Namespace) { className = nameSpace + "." + className; } return(className); }
void WriteClass(IReportsSpecificationSetup properties) { if (!properties.Properties.Any()) { return; } using (new TidyUp(writer.StartGivenProperties, writer.EndGivenProperties)) { WriteProperties(properties); } }
string ClassName(IReportsSpecificationSetup properties) { var className = properties.GetType().Name; var nameSpace = properties.GetType().Namespace; // Don't namespace things in the CustomerTestsExcel namespace if (properties.GetType().Assembly.FullName == GetType().Assembly.FullName) { return(className); } // Add a namespace for properties that reference classes in other assemblies. if (typeof(T).Assembly.FullName != properties.GetType().Assembly.FullName) { return(nameSpace + "." + className); } return(className); }
void WriteClass(IReportsSpecificationSetup properties) { // TODO: let properties class decide if it needs doing if (properties.ValueProperties.Any() || properties.ClassProperties.Any() || properties.ClassTableProperties.Any()) { using (new TidyUp(_writer.StartGivenProperties, _writer.EndGivenProperties)) { foreach (var property in properties.ValueProperties) { _writer.GivenProperty(property); } foreach (var classProperty in properties.ClassProperties) { _writer.GivenClassProperty(classProperty.PropertyName, classProperty.IsChild, classProperty.IndexInParent, classProperty.Properties == null); if (classProperty.Properties != null) { WriteSubClass(classProperty.Properties); } } foreach (var classTableProperty in properties.ClassTableProperties) { if (classTableProperty.Rows.Count() > 0) { _writer.StartClassTable(classTableProperty.PropertyName, ClassName(classTableProperty.Rows.First().Properties)); _writer.ClassTablePropertyNamesHeaderRow(classTableProperty.Rows.First().Properties.ValueProperties.Select(p => p.PropertyName)); foreach (var row in classTableProperty.Rows) { _writer.ClassTablePropertyRow(row.Properties.ValueProperties); } _writer.EndClassTable(); } } } } }
public void EndGivenListPropertyItem(IReportsSpecificationSetup listItem) { Outdent(); }
public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem) { WriteLine("With Item"); Indent(); }
public void EndGivenListPropertyItem(IReportsSpecificationSetup listItem) => writers.ForEach(writer => writer.EndGivenListPropertyItem(listItem));
public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem) { writer.AppendLine(@"<div class='withItem'>"); writer.AppendLine(@"<div>With Item</div>"); }
public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem) { }
public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem) { SetCell(namer.WithItem); Indent(); MoveToNextRow(); }
public void EndGivenListPropertyItem(IReportsSpecificationSetup listItem) { writer.AppendLine(@"</div>"); }
public CreateTableHeaders(IReportsSpecificationSetup properties) { this._properties = properties; }