Exemplo n.º 1
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}");
        }
Exemplo n.º 2
0
        private IAsyncEnumerable <WeissSchwarzCard> CreateQuery(IAsyncEnumerable <WeissSchwarzCard> query, IDatabaseExportInfo info)
        {
            var releaseIDLimitations = info.ReleaseIDs.ToArray();
            var result = query;

            if (releaseIDLimitations.Length > 0)
            {
                result = result.Where(card => releaseIDLimitations.Contains(card.ReleaseID));
            }
            return(result.Where(card => card.Images.Count > 0));
        }