public void RefreshDuplicateFiles()
        {
            try
            {
                Cursor = Cursors.Wait;
                DuplicateFilesCollection.Clear();

                List <VM_DuplicateFile> dfs = VM_ShokoServer.Instance.ShokoServices.GetAllDuplicateFiles().CastList <VM_DuplicateFile>();
                FileCount = dfs.Count;

                foreach (VM_DuplicateFile df in dfs)
                {
                    DuplicateFilesCollection.Add(df);
                }

                // move to the next item
                if (lastSelIndex <= lbDuplicateFiles.Items.Count)
                {
                    lbDuplicateFiles.SelectedIndex = lastSelIndex;
                    lbDuplicateFiles.Focus();
                    lbDuplicateFiles.ScrollIntoView(lbDuplicateFiles.SelectedItem);
                }
                else
                {
                    // move to the previous item
                    if (lastSelIndex - 1 <= lbDuplicateFiles.Items.Count)
                    {
                        lbDuplicateFiles.SelectedIndex = lastSelIndex - 1;
                        lbDuplicateFiles.Focus();
                        lbDuplicateFiles.ScrollIntoView(lbDuplicateFiles.SelectedItem);
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
            finally
            {
                Cursor = Cursors.Arrow;
            }
        }
        public void RefreshDuplicateFiles()
        {
            try
            {
                this.Cursor = Cursors.Wait;
                DuplicateFilesCollection.Clear();

                List <JMMServerBinary.Contract_DuplicateFile> dfs = JMMServerVM.Instance.clientBinaryHTTP.GetAllDuplicateFiles();
                FileCount = dfs.Count;

                foreach (JMMServerBinary.Contract_DuplicateFile df in dfs)
                {
                    DuplicateFilesCollection.Add(new DuplicateFileVM(df));
                }

                // move to the next item
                if (lastSelIndex <= lbDuplicateFiles.Items.Count)
                {
                    lbDuplicateFiles.SelectedIndex = lastSelIndex;
                    lbDuplicateFiles.Focus();
                    lbDuplicateFiles.ScrollIntoView(lbDuplicateFiles.SelectedItem);
                }
                else
                {
                    // move to the previous item
                    if (lastSelIndex - 1 <= lbDuplicateFiles.Items.Count)
                    {
                        lbDuplicateFiles.SelectedIndex = lastSelIndex - 1;
                        lbDuplicateFiles.Focus();
                        lbDuplicateFiles.ScrollIntoView(lbDuplicateFiles.SelectedItem);
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
            finally
            {
                this.Cursor = Cursors.Arrow;
            }
        }