public void SetImportStatistics(DeckImportStatistics statistics) { DeckImportStatisticsView view = new DeckImportStatisticsView(); view.ImportStatistics = statistics; view.ShowDialog(this); }
public void Execute() { this.Result = deckRoom.ServicesProvider.DecksService.ImportDecksFromFiles(deckRoom.GameItem, Arguments.FileNames, Arguments.MappingManager); }
//public void ImportDeckFromText(GameItem gameItem, string text, MappingManager mappingManager) //{ // DeckItem deck = new DeckItem(gameItem.Code); // deck.Category = "Imported"; // deck.Name = "???"; // ImportMwsDeck(deck, text, mappingManager); // SaveDeck(deck); //} public DeckImportStatistics ImportDecksFromFiles(GameInfoItem gameItem, string[] fileNames, CodesMapService mappingManager) { DeckImportStatistics statistics = new DeckImportStatistics(); foreach(string fileName in fileNames) { Dictionary<string, string> discardedLines = new Dictionary<string, string>(); if(string.Compare(Path.GetExtension(fileName), DECK_FILE_EXTENSION) != 0) { DeckItem deck = new DeckItem(gameItem.Code); deck.Category = "Imported"; deck.Name = Path.GetFileNameWithoutExtension(fileName); ImportMwsDeck(gameItem, deck, File.ReadAllText(fileName), mappingManager, discardedLines); SaveDeck(deck); } else { File.Copy(fileName, Path.Combine(SettingsManager.Settings.DeckPath, Path.GetFileName(fileName)), true); } statistics.ImportResults.Add(new DeckImportResult() { FileName = fileName, Successfull = discardedLines.Count == 0, DiscardedLines = discardedLines }); } return statistics; }