public void ExportImportTest()
        {
            EFDbConnect EFDbConnectDemoBase = CreateDemoBase("Save_test.db");

            ILogger ILoggerMock = Mock.Of<ILogger>();

            // Export
            DiskOperation ExportIO = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),EFDbConnectDemoBase);
            string exportpath = PathToDb("export.db");
            ExportIO.ExportLearningItem(exportpath, EFDbConnectDemoBase.Table<LearningItem>().Where(x=>x.Name == "First").First().id , false);

            EFDbConnect dbConnect = new EFDbConnect(new SQLitePlatformWin32(), exportpath,false);
            QuantityTest(dbConnect);
            dbConnect.Close();
            EFDbConnectDemoBase.Close();

            // Import to empty db
            EFDbConnect DestConnect = RecreateDB("dest.db");
            DiskOperation ImportIO = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),DestConnect);
            ImportIO.ImportLearningItem(exportpath, false);
            QuantityTest(DestConnect);

            // Update
            DestConnect.Delete(DestConnect.Table<Subtitles>().First());
            DestConnect.Delete(DestConnect.Table<AudioTrack>().First());
            DestConnect.Delete(DestConnect.Table<TranslationOfWord>().First());
            Assert.IsTrue(DestConnect.Table<Subtitles>().Count() == 1);
            Assert.IsTrue(DestConnect.Table<AudioTrack>().Count() == 1);
            Assert.IsTrue(DestConnect.Table<TranslationOfWord>().Count() == 1);
            ImportIO.ImportLearningItem(exportpath, false);
            QuantityTest(DestConnect);

            DestConnect.Close();

        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {

            DiskOperation diskop = new DiskOperation(Mvx.Resolve<ILogger>(),new SQLitePlatformWin32(),Mvx.Resolve<EFDbConnect>());
            diskop.ExportLearningItem(Path.Combine(FileService.GetPathToApplicationDataFolder(), "upload.db"), new UUID("9a0d3d5b-2600-d043-baa8-bfe8cece6afb"), true);
            
            
            
            //Disk_Operations io = new Disk_Operations();
           // io.Backup(@"C:\tmp\backup\bkp.xml");
                


            /*
            Assembly asm = Assembly.GetExecutingAssembly();
            foreach(Type type in asm.GetTypes())
            {
                int i = 9;
            }

            var lst = asm.GetTypes().Where(x => x.CustomAttributes.Any(m => m.AttributeType == typeof(System.ComponentModel.DataAnnotations.Schema.TableAttribute)));
            */
            //System.Type[] types = GetTypesInNamespace(Assembly.Get)
            //string url = @"http://www.youtube.com/watch?v=wyx6JDQCslE&list=PLirAqAtl_h2pRAtj2DgTa3uWIZ3-0LKTA&index=127";
            //string url = @"http://www.youtube.com/watch?v=3Q2bkCYjrHk";
            //string url = @"http://www.youtube.com/watch?v=FG1NrQYXjLU";
            //var lst = API.YoutubeDownloader.GetVideoInfo(url);
            //bool isExternalAudio;
            //string ExternalAudioPath;
            //System.Threading.Tasks.Task.Run(() =>
            //    API.YoutubeDownloader.Download(lst, lst.OrderByDescending(x=>x.Resolution).First(), @"C:\tmp\1\video.mp4",out isExternalAudio,out ExternalAudioPath)
            //);
            //Model.Language en = ViewModelLocator.Instance.Languages.First(x => x.Code == "en");
            //Model.Language ru = ViewModelLocator.Instance.Languages.First(x => x.Code == "ru"); 
            //var lst = API.LanguageServices.GetServices(en,ru);
        }
        public void ExportTest()
        {
            EFDbConnect EFDbConnectDemoBase = CreateDemoBase("Save_test.db");

            ILogger ILoggerMock = Mock.Of<ILogger>();
            DiskOperation diskop = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),EFDbConnectDemoBase);
            string path = PathToDb("upload.db");
            diskop.ExportLearningItem(path, EFDbConnectDemoBase.Table<LearningItem>().Where(x=>x.Name == "First").First().id , true);

            EFDbConnect dbConnect = new EFDbConnect(new SQLitePlatformWin32(), path,false);

            Assert.IsTrue(dbConnect.Table<LearningItem>().Count() == 1);
            Assert.IsTrue(dbConnect.Table<Subtitles>().Count() == 2);
            Assert.IsTrue(dbConnect.Table<SubtitleItem>().Count() == 4);
            Assert.IsTrue(dbConnect.Table<SubtitleItem.Word>().Count() == 2);
            Assert.IsTrue(dbConnect.Table<WordOfDictionary>().Count() == 2);
            Assert.IsTrue(dbConnect.Table<TranslationOfWord>().Count() == 2);
            Assert.IsTrue(dbConnect.Table<Dictionary>().Count() == 1);
            Assert.IsTrue(dbConnect.Table<AudioTrack>().Count() == 2);
            Assert.IsTrue(dbConnect.Table<FrequencyDictionary>().Count() == 1);
            Assert.IsTrue(dbConnect.Table<FrequencyDictionary.Item>().Count() == 2);
            dbConnect.Close();

        }