public ReportSpecificationSetupClass(string propertyName, IReportsSpecificationSetup properties, bool isChild = false, int?indexInParent = null)
 {
     PropertyName  = propertyName;
     Properties    = properties;
     IsChild       = isChild;
     IndexInParent = indexInParent;
 }
Example #2
0
 public ReportSpecificationSetupClass(
     string propertyName,
     IReportsSpecificationSetup properties)
 {
     PropertyName = propertyName;
     Properties   = properties;
 }
        void WriteRootClass(IReportsSpecificationSetup properties)
        {
            _writer.StartClass(ClassName(properties));

            WriteClass(properties);

            _writer.EndClass();
        }
Example #4
0
 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));
Example #14
0
 public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem)
 {
     writer.AppendLine(@"<div class='withItem'>");
     writer.AppendLine(@"<div>With Item</div>");
 }
Example #15
0
 public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem)
 {
 }
 public void StartGivenListPropertyItem(IReportsSpecificationSetup listItem)
 {
     SetCell(namer.WithItem);
     Indent();
     MoveToNextRow();
 }
Example #17
0
 public void EndGivenListPropertyItem(IReportsSpecificationSetup listItem)
 {
     writer.AppendLine(@"</div>");
 }
 public CreateTableHeaders(IReportsSpecificationSetup properties)
 {
     this._properties = properties;
 }