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); }
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); }
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); }
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); }