public PartialViewResult DeleteDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey)
        {
            var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject;
            var viewModel = new ConfirmDialogFormViewModel(documentLibraryDocument.DocumentLibraryDocumentID);

            return(ViewDeleteDocument(documentLibraryDocument, viewModel));
        }
        public PartialViewResult EditDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey)
        {
            var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject;
            var viewModel = new EditDocumentViewModel(documentLibraryDocument);

            return(ViewEditDocument(documentLibraryDocument, viewModel));
        }
        public ActionResult DeleteDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject;
            var name = documentLibraryDocument.DocumentTitle;

            if (!ModelState.IsValid)
            {
                return(ViewDeleteDocument(documentLibraryDocument, viewModel));
            }

            // Looks kind of weird but it will cascade delete the DocumentLibraryDocument
            documentLibraryDocument.FileResourceInfo.DeleteFull(HttpRequestStorage.DatabaseEntities);

            SetMessageForDisplay($"Document '{name}' successfully deleted.");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult EditDocument(DocumentLibraryDocumentPrimaryKey documentLibraryDocumentPrimaryKey, EditDocumentViewModel viewModel)
        {
            var documentLibraryDocument = documentLibraryDocumentPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditDocument(documentLibraryDocument, viewModel));
            }

            HttpRequestStorage.DatabaseEntities.DocumentLibraryDocumentRoles.Load();
            var documentLibraryDocumentRoles = HttpRequestStorage.DatabaseEntities.AllDocumentLibraryDocumentRoles.Local;

            viewModel.UpdateModel(documentLibraryDocument, CurrentFirmaSession, documentLibraryDocumentRoles);
            SetMessageForDisplay($"Document '{documentLibraryDocument.DocumentTitle}' successfully updated.");
            return(new ModalDialogFormJsonResult());
        }