public static void BuildReport(IList <Record> records, IList <Workout> workouts, ExcelWorkbook workbook, Settings.Settings settings, IEnumerable <ExcelWorksheet> customSheets) { var edt = DateTimeZone.ForOffset(Offset.FromHours(-5)); var zone = edt; BuilderFactory.GetBuilders(settings, zone, records, workouts) .Select(b => new { b.sheetName, b.builder }) .AsParallel().AsOrdered() .Select(b => new { b.sheetName, data = GetData(b.builder) }) .AsSequential() .ToList().ForEach(s => { var sheet = workbook.Worksheets.Add(s.sheetName); var wroteData = WriteData(sheet, s.data); if (settings.OmitEmptySheets && !wroteData) { workbook.Worksheets.Delete(sheet); } }); workbook.PlaceCustomSheets( settings.CustomSheetsPlacement, customSheets, SheetNames.Summary); }
private static TestObjectFactory CreateTestObjectFactory() { var builderFactory = new BuilderFactory(); builderFactory.AddToFront <EntityParentBackreferenceValueBuilder>(); builderFactory.AddToFront <FakeEdFiTypeValueBuilder>(); builderFactory.AddToFront <FakeEdFiDescriptorValueBuilder>(); builderFactory.AddToFront <FakePersonIdentifierValueBuilder>(); StringValueBuilder.GenerateEmptyStrings = false; StringValueBuilder.GenerateNulls = false; var testObjectFactory = new TestObjectFactory( builderFactory.GetBuilders(), new SystemActivator(), new CustomAttributeProvider()); return(testObjectFactory); }