コード例 #1
0
        public string ExportSuperheroDetails(object superheroId)
        {
            var hero = this.db.Superheroes.GetById(superheroId);
            var dto  = new SuperheroDto()
            {
                Name           = hero.Name,
                City           = hero.City.Name,
                Alignment      = hero.Alignment.ToString(),
                Id             = hero.Id,
                SecretIdentity = hero.SecretIdentity,
                Powers         = hero.Powers.Select(p => p.Name).ToArray()
            };
            var container = new SuperheroesCollection {
                Superheroes = new[] { dto }
            };

            var result = Serialize(container, $"HeroWithId{(int)superheroId}-Export.xml");

            return(result);
        }
コード例 #2
0
        public string ExportAllSuperheroes()
        {
            var heroes       = this.db.Superheroes.GetAll.ToList();
            var serializable = heroes.Select(hero => new SuperheroDto()
            {
                Name           = hero.Name,
                City           = hero.City.Name,
                Alignment      = hero.Alignment.ToString(),
                Id             = hero.Id,
                SecretIdentity = hero.SecretIdentity,
                Powers         = hero.Powers.Select(p => p.Name).ToArray()
            })
                               .ToArray();
            var container = new SuperheroesCollection {
                Superheroes = serializable
            };
            var result = Serialize(container, "AllSuperheroes-Export.xml");

            return(result);
        }
コード例 #3
0
        public string ExportSuperheroesByCity(string cityName)
        {
            var safeFileCityName = cityName.Replace(' ', '-');
            var heroes           = this.db.Superheroes.GetAll.Where(h => h.City.Name == cityName).ToList();
            var serializable     = heroes.Select(hero => new SuperheroDto()
            {
                Name           = hero.Name,
                City           = hero.City.Name,
                Alignment      = hero.Alignment.ToString(),
                Id             = hero.Id,
                SecretIdentity = hero.SecretIdentity,
                Powers         = hero.Powers.Select(p => p.Name).ToArray()
            });
            var container = new SuperheroesCollection {
                Superheroes = serializable.ToArray()
            };

            var result = Serialize(container, $"HeroesFrom-{safeFileCityName}-Export.xml");

            return(result);
        }
コード例 #4
0
        public string ExportSupperheroesWithPower(string power)
        {
            var safePowerName = power.Replace(' ', '-');
            var heroes        = this.db.Superheroes.GetAll.Where(h => h.Powers.Any(p => p.Name == power)).ToList();
            var serializable  = heroes.Select(hero => new SuperheroDto()
            {
                Name           = hero.Name,
                City           = hero.City.Name,
                Alignment      = hero.Alignment.ToString(),
                Id             = hero.Id,
                SecretIdentity = hero.SecretIdentity,
                Powers         = hero.Powers.Select(p => p.Name).ToArray()
            })
                                .ToArray();
            var container = new SuperheroesCollection {
                Superheroes = serializable
            };

            var result = Serialize(container, $"HeroesWithPower{safePowerName}-Export.xml");

            return(result);
        }