/// <summary>
        ///     WE ARE ADDING A NEW DOC VERSION
        /// </summary>
        /// <param name="document"> The document. </param>
        public AddDocumentVersionModel(Document document, AddEditDocumentVersionDialog view)
        {
            DialogView = view;
            ProgressBarView = view as IProgressBarView;

            mDocument = document;
            mDocumentId = document.Id;
            mCurrentEditMode = EditMode.Add;
            mDocumentVersion = new DocumentVersion { DocumentId = document.Id };
            mDocumentVersion.Date = DateTime.Now;

            OkButtonCommand = new DelegateCommand<object>(OkButtonHandler, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, CanExecuteOkButtonHandler);
            OpenFileDialogCommand = new DelegateCommand<object>(OpenFileDialogButtonHander, CanExecuteOkButtonHandler);

            mLatestVersion = (from x in document.DocumentVersions orderby x.Version descending select x).Take(1).FirstOrDefault();

            if (mLatestVersion != null)
            {
                Version = mLatestVersion.Version;
                AutoIncrementVersion = false;
                RaisePropertyChanged("AutoIncrementVersion");
            }

            if (DataModelLoaded != null)
            {
                DataModelLoaded();
            }
        }
        private void EditButtonHandler(object parameter)
        {
            if (SelectedDocumentVersion != null)
            {
                AddEditDocumentVersionDialog dialog = new AddEditDocumentVersionDialog(mDocument, SelectedDocumentVersion);
                dialog.OKButtonClicked +=
                    (s1, e1) =>
                    {
                        DocumentVersion version = (from x in DocumentVersions where x.Id == dialog.SavedDocumentVersion.Id select x).FirstOrDefault();
                        if (version != null)
                        {

                            CommonUtils.CloneObject(SelectedDocumentVersion, dialog.SavedDocumentVersion, dialog.SavedDocumentVersion.Id.ToString());

                            SelectedDocumentVersion.RaisePropertyChanged("Icon");
                            RaisePropertyChanged("DocumentVersions");

                            //UpdateCachedDocuments();

                            //View.DocumentPanel.RevisionHistory.RevisionHistoryGridView.Items.Insert(0, dialog.RevisionHistory);
                            View.DocumentPanel.RevisionHistory.LoadRevisionHistory(CommonUtils.TabId.Documents, mDocument.Id);
                        }
                    };

                dialog.Show();
            }
        }
        private void AddButtonHandler(object parameter)
        {
            AddEditDocumentVersionDialog dialog = new AddEditDocumentVersionDialog(mDocument);
            dialog.OKButtonClicked +=
                (s1, e1) =>
                {
                    ObservableCollection<DocumentVersion> list = DocumentVersions;
                    list.Add(s1);
                    DocumentVersions = list;
                    //UpdateCachedDocuments();
                    RaisePropertyChanged("DocumentVersions");
                    OnCollectionChanged();
                    View.DocumentPanel.RevisionHistory.LoadRevisionHistory(CommonUtils.TabId.Documents, mDocument.Id);
                };

            dialog.Show();
        }