Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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");
        }