private void CreateWarbandPDF() { int warbandsToCreate = 1; int warbandProgress = 0; AddToLog("Step 2/2 - Creating PDF..."); if (SelectedWarbandIndex == 1) { warbandsToCreate = WarbandList.Count() - 2; } if (!Directory.Exists(_warbandsFolderFullPath)) { Directory.CreateDirectory(_warbandsFolderFullPath); } for (int i = 2; i < warbandsToCreate + 2; i++) { warbandProgress++; string warbandName; int fighterSuccess = 0; bool isInspired = false; if (SelectedWarbandIndex == 1) { warbandName = WarbandList[i]; AddToLog("Warband " + warbandProgress.ToString() + "/" + warbandsToCreate.ToString() + " - " + warbandName); } else { warbandName = WarbandList[SelectedWarbandIndex]; AddToLog("Warband - " + warbandName); } string warbandFileName = warbandName + _warbandFileExtension; string warbandFileFullPath = _warbandsFolderFullPath + warbandFileName; AddToLog("PDF file: " + warbandFileFullPath); AddToLog("Creating file..."); PdfWriter pdfWriter = new PdfWriter(warbandFileFullPath); PdfDocument pdfDocument = new PdfDocument(pdfWriter); Document document = new Document(pdfDocument, PageSize.A4); document.SetMargins(20, 20, 20, 20); AddToLog("Creating layout..."); Table table = new Table(3, false); table.SetHorizontalAlignment(HorizontalAlignment.CENTER); AddToLog("Inserting fighters..."); for (int currentFighter = 1; currentFighter <= _maxFighters; currentFighter++) { if (!isInspired) { AddToLog("Fighter " + currentFighter.ToString() + " - Normal"); } else { AddToLog("Fighter " + currentFighter.ToString() + " - Inspired"); } string fighterFolderFullPath = _fightersFolderFullPath + warbandName + "\\"; string fighterFileName = GetPurifiedWarbandName(warbandName) + "-" + currentFighter.ToString(); if (isInspired) { fighterFileName += "-inspired"; } fighterFileName += _fighterFileExtension; string fighterFileFullPath = fighterFolderFullPath + fighterFileName; try { iText.Layout.Element.Image image = new iText.Layout.Element.Image(ImageDataFactory.Create(fighterFileFullPath)); image.ScaleAbsolute(_widthInPoints, _heightInPoints); Cell cell = new Cell(); cell.Add(image); cell.SetBorder(iText.Layout.Borders.Border.NO_BORDER); cell.SetPaddings(0, 1, 1, 0); table.AddCell(cell); fighterSuccess++; AddToLog("...Success!"); } catch { AddToLog("...doesn't exist. Aborting!"); break; } if (!isInspired) { currentFighter--; } isInspired = !isInspired; } document.Add(table); AddToLog(fighterSuccess + " inserted"); AddToLog("Finalizing..."); document.Close(); AddToLog("Step 2/2 - Finished"); pdfWriter.Close(); } }
private void DownloadFighters() { int warbandsToDownload = 1; int warbandProgress = 0; AddToLog("Step 1/2 - Downloading fighters..."); if (SelectedWarbandIndex == 1) { warbandsToDownload = WarbandList.Count() - 2; } for (int i = 2; i < warbandsToDownload + 2; i++) { warbandProgress++; string warbandName; int fighterSuccess = 0; int fighterSkipped = 0; bool isInspired = false; if (SelectedWarbandIndex == 1) { warbandName = WarbandList[i]; AddToLog("Warband " + warbandProgress.ToString() + "/" + warbandsToDownload.ToString() + " - " + warbandName); } else { warbandName = WarbandList[SelectedWarbandIndex]; AddToLog("Warband - " + warbandName); } for (int currentFighter = 1; currentFighter <= _maxFighters; currentFighter++) { if (!isInspired) { AddToLog("Fighter " + currentFighter.ToString() + " - Normal"); } else { AddToLog("Fighter " + currentFighter.ToString() + " - Inspired"); } string fighterFolderFullPath = _fightersFolderFullPath + warbandName + "\\"; string fighterFileName = GetPurifiedWarbandName(warbandName) + "-" + currentFighter.ToString(); if (isInspired) { fighterFileName += "-inspired"; } fighterFileName += _fighterFileExtension; string fighterFileFullPath = fighterFolderFullPath + fighterFileName; if (!Directory.Exists(fighterFolderFullPath)) { Directory.CreateDirectory(fighterFolderFullPath); } if (!File.Exists(fighterFileFullPath)) { try { _webDownloader.DownloadFile(GetFighterDownloadLink(warbandName, currentFighter, isInspired), fighterFileFullPath); fighterSuccess++; AddToLog("...Success!"); } catch { AddToLog("...doesn't exist. Aborting!"); break; } } else { AddToLog("...Skipped!"); fighterSkipped++; } if (!isInspired) { currentFighter--; } isInspired = !isInspired; } AddToLog(fighterSuccess + " downloaded"); AddToLog(fighterSkipped + " skipped"); } AddToLog("Step 1/2 - Finished"); }