Exemplo n.º 1
0
        internal static async Task <CockatriceCardDatabase> CreateFromDatabase(IAsyncEnumerable <WeissSchwarzCard> query)
        {
            var result       = new CockatriceCardDatabase();
            var tempSetList  = new Dictionary <string, CockatriceSet>();
            var tempCardList = new List <CockatriceCard>();

            await foreach (var card in query)
            {
                try
                {
                    var newCckCard = new CockatriceCard();
                    newCckCard.Name            = card.Name.AsNonEmptyString();
                    newCckCard.Set             = GetOrCreateSet(tempSetList, card).AsSetRelationship();
                    newCckCard.Set.PicURL      = card.Images[^ 1].ToString();
Exemplo n.º 2
0
        public async Task Export(CardDatabaseContext database, IDatabaseExportInfo info)
        {
            Log.Information("Starting...");
            var query      = CreateQuery(database.WeissSchwarzCards, info);
            var resultFile = Path.CreateDirectory(info.Destination).Combine("cockatrice_card_db.xml");
            var serializer = new XmlSerializer(typeof(CockatriceCardDatabase));
            var cardSet    = await CockatriceCardDatabase.CreateFromDatabase(query);

            resultFile.Open(s => serializer.Serialize(s, cardSet),
                            System.IO.FileMode.Create,
                            System.IO.FileAccess.Write,
                            System.IO.FileShare.ReadWrite
                            );
            Log.Information($"Done: {resultFile.FullPath}");
        }