public async Task<string> TransferCountries()
        {
            var countries = (await this.mongoRepository.GetCountries()).ToList();
            using (WeaponSystemContext ctx = new WeaponSystemContext())
            {
                foreach (var country in countries)
                {
                    if (!ctx.Countries.Any(c => c.Name == country.Name))
                    {
                        ctx.Countries.Add(country);
                    }
                }

                ctx.SaveChanges();
            }

            return "Countries" + MessageEnd;
        }
        public async Task<string> TransferTargetCategories()
        {
            var targetCategories = (await this.mongoRepository.GetTargetCategories()).ToList();
            using (WeaponSystemContext ctx = new WeaponSystemContext())
            {
                foreach (var cat in targetCategories)
                {
                    if (!ctx.TargetCategories.Any(c => c.Name == cat.Name))
                    {
                        ctx.TargetCategories.Add(cat);
                    }
                }

                ctx.SaveChanges();
            }

            return "Target Categories" + MessageEnd;
        }
        public async Task<string> GetXmlData()
        {
            var targets = XmlReader.ReadXmlCollectionFromFile(DataPath);

            var repo = new MongoDbRepository();

            await repo.InsertTargets(targets);

            using (WeaponSystemContext db = new WeaponSystemContext())
            {
                var targetCats = db.TargetCategories.ToList();

                foreach (var targetItem in targets)
                {
                    if (!targetCats.Any(c  => c.Name == targetItem[0]))
                    {
                        var newTargetCat = new Target()
                        {
                            Name = targetItem[0]
                        };
                    }

                    var target = new Target();
                    var targetItemName = targetItem[1];

                    var id = db.TargetCategories.
                        Where(c => c.Name == targetItemName)
                        .FirstOrDefault();
                  
                    if (id != null && !db.Targets.Any(t => t.Name == target.Name))
                    {
                        target.Name = targetItem[0];
                        target.TargetCategoryId = id.Id;

                        db.Targets.Add(target);
                    }
                }

                db.SaveChanges();
            }

            return "Targets from xml dispatched";
        }
        public async Task<string> TransferManufacturers()
        {
            var manufacturers = (await this.mongoRepository.GetManufacturers()).ToList();
            using (WeaponSystemContext ctx = new WeaponSystemContext())
            {
                foreach (var man in manufacturers)
                {
                    if (!ctx.Manufacturers.Any(c => c.Name == man.Name))
                    {
                        ctx.Manufacturers.Add(man);
                    }
                }

                ctx.SaveChanges();
            }

            return "Manufacturers" + MessageEnd;
        }