public static void Generate(EntryParameters parameters) { try { DisplayArguments(parameters); var model = new FinalDocument(parameters); // Create the document Documents.CreateDocument(model); // Define the styles DocumentStyles.DefineStyles(model); // Create the cover page Cover.DefineCover(model); // Create the TOC TableOfContents.DefineTableOfContents(model); // Merge the files External.MergeFiles(model); // Generate the document GenerateFile(model.Document, parameters); Logger.Log($"Process ended correctly.\n" + $"{model.MainTitle.Select(x => x.SubTitle.Count()).Sum()} files were merged.\n" + $"You can find everything inside => {parameters.WorkPath}"); } catch (Exception ex) { Logger.Error(ex.Message); } finally { Logger.Log("Process finished...\n"); } }