private static void Perform(CommandLineInputParameters parameters) { try { Logger.Info("Processing started"); var swaggerPdfDocumentProvider = new SwaggerPdfDocumentModelProvider(); var swaggerPdfModel = swaggerPdfDocumentProvider.PrepareSwaggerPdfModel(parameters); PdfBuilderBase swaggerPdfDocumentBuilder = new HtmlPdfBuilder(); swaggerPdfDocumentBuilder.BuildPdf(swaggerPdfModel); Logger.Info("Processing successful"); Environment.Exit(0); } catch (Exception e) { Logger.Fatal("Unexpected exception occured", e); Environment.Exit(1); } }
public SwaggerPdfDocumentModel PrepareSwaggerPdfModel(CommandLineInputParameters parameters) { Logger.Info("Started preparing swagger pdf model"); var swaggerJsonString = _swaggerJsonProvider.GetSwaggerJsonString(parameters.InputFileName); var swaggerJsonInfo = GetSwaggerInfoFromJsonString(swaggerJsonString); Logger.Info("Preparing PDF model"); var docModel = new SwaggerPdfDocumentModel(); docModel.PdfDocumentPath = parameters.OutputFileName; docModel.WelcomePageImage = parameters.WelcomePageImagePath; docModel.Title = parameters.Title ?? swaggerJsonInfo.SwaggerJsonInfo.Title; docModel.Version = parameters.Version ?? swaggerJsonInfo.SwaggerJsonInfo.Version; docModel.Author = parameters.Author ?? ""; docModel.DocumentDate = DateTime.Now; docModel.DocumentationEntries = PrepareDocumentationEntries(parameters.EndpointFilters, swaggerJsonInfo); docModel.AuthorizationInfo = PrepareAuthorizationInfos(swaggerJsonInfo); docModel.CustomPageName = parameters.CustomPageName; return(docModel); }