Example #1
0
        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());
        }
Example #2
0
        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);
                }
            }
        }