Exemplo n.º 1
0
        /// <summary>
        /// Updates a single zip file of the database.
        /// </summary>
        /// <param name="vm">The vm<see cref="ZipFileViewModel"/>.</param>
        public static void Update(ZipFileViewModel vm)
        {
            Debug.Assert(vm != null);
            Debug.Assert(vm.PackageId != 0);
            using var dbc = new PmDb();
            var ent = dbc.Find <ZipFile>(vm.PackageId);

            ent.GetViewModel(vm);
            dbc.SaveChanges();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds a single zip file to the database.
        /// </summary>
        /// <param name="vm">The vm<see cref="ZipFileViewModel"/>.</param>
        public static void Add(ZipFileViewModel vm)
        {
            Debug.Assert(vm != null);
            using var dbc = new PmDb();
            var ent = new ZipFile();

            ent.GetViewModel(vm);
            dbc.ZipFiles.Add(ent);
            dbc.SaveChanges();
            vm.GetModel(ent);
        }
Exemplo n.º 3
0
 private bool DeleteZipFile(ZipFileViewModel item)
 {
     try
     {
         File.Delete(Path.Combine(item.FilePath, item.Filename));
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Exemplo n.º 4
0
        private void button3_Click(object sender, EventArgs e)
        {
            string filePath = Path.GetDirectoryName(zipFileBox.Text);
            string desPath  = Path.Combine(filePath, "img");

            ZipFileViewModel.UnZip(zipFileBox.Text, desPath);
            MessageBox.Show("解压完成,点击确定开始上传", Framework.Environment.PROGRAM_NAME, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            // 创建线程开始上传
            Thread th = new System.Threading.Thread(StartLoadPicImage);

            th.Start(desPath);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ZipFileWindow"/> class.
 /// </summary>
 /// <param name="vm">The vm<see cref="ZipFileViewModel"/>.</param>
 public ZipFileWindow(ZipFileViewModel vm)
 {
     InitializeComponent();
     WpfHelper.PositionChildWindow(this);
     if (vm == null)
     {
         vm           = Locator.GetZipFileViewModel();
         vm.PackageId = 11;
         vm.AddonName = "Arphaxhad";
         vm.AddedDate = DateTime.Now;
         vm.Filename  = "Arphaxhad.zip";
         vm.FilePath  = "d:\\Downloads\\";
         vm.FileSize  = 100000;
     }
     this.DataContext = vm;
 }
Exemplo n.º 6
0
        /// <summary>
        /// Deletes a single zip file from the database.
        /// </summary>
        /// <param name="vm">The vm<see cref="ZipFileViewModel"/>.</param>
        public static void Delete(ZipFileViewModel vm)
        {
            Debug.Assert(vm != null);
            Debug.Assert(vm.PackageId != 0);

            using var dbc = new PmDb();
            foreach (var item in vm.Folders)
            {
                item.PackageId = null;
                var folderEnt = dbc.Find <Folder>(item.FolderId);
                folderEnt.PackageId = null;
                dbc.Update(folderEnt);
            }

            var ent = dbc.Find <ZipFile>(vm.PackageId);

            dbc.ZipFiles.Remove(ent);
            dbc.SaveChanges();
        }
Exemplo n.º 7
0
        /// <summary>
        /// The ZipFileView_DataContextChanged.
        /// </summary>
        /// <param name="sender">The sender<see cref="object"/>.</param>
        /// <param name="e">The e<see cref="DependencyPropertyChangedEventArgs"/>.</param>
        private void ZipFileView_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (e.OldValue is ZipFileViewModel vm)
            {
                vm.BrowseZipFileRequested  -= Vm_BrowseZipFileRequested;
                vm.DeleteZipFileRequested  -= Vm_DeleteZipFileRequested;
                vm.DoneEditingRequested    -= Vm_DoneEditingRequested;
                vm.OpenZipArchiveRequested -= Vm_OpenZipArchiveRequested;
            }

            vm = e.NewValue as ZipFileViewModel;

            if (vm != null)
            {
                vm.BrowseZipFileRequested  += Vm_BrowseZipFileRequested;
                vm.DeleteZipFileRequested  += Vm_DeleteZipFileRequested;
                vm.DoneEditingRequested    += Vm_DoneEditingRequested;
                vm.OpenZipArchiveRequested += Vm_OpenZipArchiveRequested;
            }

            viewModel = DataContext as ZipFileViewModel;
        }
Exemplo n.º 8
0
        /// <summary>
        /// Initializes static members of the <see cref="DbCore"/> class.
        /// </summary>
        static DbCore()
        {
            PmDb.BuildConnectString(
                Path.Combine(
                    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
                    "Yoder\\PluginManager"));

            var pvm = Locator.MainViewModel;

            using var dbc = new PmDb();
            foreach (var ent in dbc.ZipFiles)
            {
                var zfvm = new ZipFileViewModel();
                zfvm.GetModel(ent);
                pvm.ZipFileFolderCollection.Add(zfvm);
            }

            foreach (var ent in dbc.Folders)
            {
                var vm = new FolderViewModel();
                vm.GetModel(ent);
                pvm.FolderCollection.Add(vm);
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// The DeleteRecord.
 /// </summary>
 /// <param name="item">The item<see cref="ZipFileViewModel"/>.</param>
 private void DeleteRecord(ZipFileViewModel item)
 {
     // DbCore.Delete(item);
     Locator.MainViewModel.ZipFileFolderCollection.Remove(item);
     Window.GetWindow(this).Close();
 }
Exemplo n.º 10
0
 /// <summary>
 /// The DeleteRecord.
 /// </summary>
 /// <param name="item">The item<see cref="ZipFileViewModel"/>.</param>
 private static void DeleteRecord(ZipFileViewModel item)
 {
     DbCore.Delete(item);
     Locator.MainViewModel.ZipFileFolderCollection.Remove(item);
 }
Exemplo n.º 11
0
        /// <summary>
        /// The Vm_AddNewZipFileRequested.
        /// </summary>
        /// <param name="sender">The sender<see cref="object"/>.</param>
        /// <param name="e">The e<see cref="EventArgs"/>.</param>
        private void Vm_AddNewZipFileRequested(object sender, EventArgs e)
        {
            var dia = new OpenFileDialog
            {
                AddExtension     = false,
                CheckFileExists  = true,
                Multiselect      = true,
                Title            = "Find Zip Files to Add",
                DereferenceLinks = true,
                Filter           = "Zip files (*.zip, *.7z)|*.zip;*.7z|Exe files (*.exe)|*.exe|All files (*.*)|*.*",
                FilterIndex      = 1,
                InitialDirectory = Locator.SetupViewModel.ZipFilesFolder
            };
            var result = dia.ShowDialog();

            if (result == true)
            {
                var zipList = new List <ZipFileViewModel>();

                foreach (var fullpath in dia.FileNames)
                {
                    var filename = Path.GetFileName(fullpath);
                    var path     = Path.GetDirectoryName(fullpath);
                    var di       = new FileInfo(fullpath);

                    var zipFile = new ZipFileViewModel()
                    {
                        FileDate  = di.CreationTime,
                        Filename  = filename,
                        FilePath  = path,
                        AddedDate = DateTime.Now,
                        FileSize  = di.Length
                    };

                    zipList.Add(zipFile);
                }

                DbCore.Add(zipList);
                string fileItems = "";
                foreach (var item in zipList)
                {
                    Locator.MainViewModel.ZipFileFolderCollection.Add(item);
                    fileItems += Environment.NewLine + item.Filename;
                }

                string message;
                string title;

                var isSingle = zipList.Count == 1;

                if (isSingle)
                {
                    message = $"One zip file was added:\n{fileItems}";
                    title   = "Zip File Added";
                }
                else
                {
                    message = $"These {zipList.Count} zip files were added:\n{fileItems}";
                    title   = "Zip Files Added";
                }

                App.Inform(title, message);
            }
        }