public IActionResult ImportContent() { var pairs = new List <Pair <string, bool> >(); string fs = "./XML"; string pattern = ".xml"; string currentFile = ""; string[] files = Directory.GetFiles(fs); foreach (string file in files) { if (file.EndsWith(pattern)) { try { currentFile = file; Dota dota1 = _serializer.Deserialize(file); DotaEntity entity = _adapter.Adapt(dota1); _dotaRepository.Persist(entity); var pair = new Pair <string, bool>(file, true); pairs.Add(pair); } catch (Exception e) { var pair = new Pair <string, bool>(currentFile, false); pairs.Add(pair); continue; } } } ViewBag.list = pairs; return(View()); }
public void Persist(DotaEntity dotaEntity) { string errMessage; if (dotaEntity != null) { try { GameEntity gameEntity = dotaEntity.Game; this.Add <GameEntity>(gameEntity); } catch (Exception e) { errMessage = "Could not persist GameEntity"; Console.WriteLine(errMessage); throw new Exception(e.Message, e.InnerException); } try { List <HeroEntity> heroes = dotaEntity.Heroes; heroes.ForEach((HeroEntity HeroEntity) => { Add <HeroEntity>(HeroEntity); }); } catch (Exception e) { errMessage = "Could not persist Hero:"; Console.WriteLine(errMessage); throw new Exception(e.Message, e.InnerException); } try { List <ItemEntity> items = dotaEntity.Items; items.ForEach((ItemEntity itemEntity) => { Add <ItemEntity>(itemEntity); }); } catch (Exception e) { errMessage = "Could not persist Items:"; Console.WriteLine(errMessage); throw new Exception(e.Message, e.InnerException); } try { List <BuildingEntity> items = dotaEntity.Buildings; items.ForEach((BuildingEntity buildingEntity) => { Add <BuildingEntity>(buildingEntity); }); } catch (Exception e) { errMessage = "Could not persist Building:"; Console.WriteLine(errMessage); throw new Exception(e.Message, e.InnerException); } try{ _dbContext.SaveChanges(); } catch (Exception e) { errMessage = "Could not persist The Objects"; Console.WriteLine(errMessage); throw new Exception(e.Message, e.InnerException); } } }