public PartialViewResult NewDocument(DocumentLibraryPrimaryKey documentLibraryPrimaryKey)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;
            var viewModel       = new NewDocumentViewModel(documentLibrary);

            return(ViewNewDocument(documentLibrary, viewModel));
        }
        public ViewResult Detail(DocumentLibraryPrimaryKey documentLibraryPrimaryKey)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;
            var viewData        = new DetailViewData(CurrentFirmaSession, documentLibrary);

            return(RazorView <Detail, DetailViewData>(viewData));
        }
        public PartialViewResult EditDocumentSortOrder(DocumentLibraryPrimaryKey documentLibraryPrimaryKey)
        {
            var classificationSystem         = documentLibraryPrimaryKey.EntityObject;
            EditSortOrderViewModel viewModel = new EditSortOrderViewModel();

            return(ViewEditDocumentSortOrder(classificationSystem, viewModel));
        }
        public PartialViewResult DeleteDocumentLibrary(DocumentLibraryPrimaryKey documentLibraryPrimaryKey)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;
            var viewModel       = new ConfirmDialogFormViewModel(documentLibrary.DocumentLibraryID);

            return(ViewDeleteDocumentLibrary(documentLibrary, viewModel));
        }
        public ActionResult EditDocumentSortOrder(DocumentLibraryPrimaryKey documentLibraryPrimaryKey, EditSortOrderViewModel viewModel)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditDocumentSortOrder(documentLibrary, viewModel));
            }

            viewModel.UpdateModel(new List <IHaveASortOrder>(documentLibrary.DocumentLibraryDocuments));
            SetMessageForDisplay("Successfully Updated Document Sort Order");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult Edit(DocumentLibraryPrimaryKey documentLibraryPrimaryKey, EditViewModel viewModel)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel));
            }

            HttpRequestStorage.DatabaseEntities.DocumentLibraryDocumentCategories.Load();
            var documentLibraryDocumentCategories = HttpRequestStorage.DatabaseEntities.AllDocumentLibraryDocumentCategories.Local;

            viewModel.UpdateModel(documentLibrary, documentLibraryDocumentCategories);
            SetMessageForDisplay($"Document Library '{documentLibrary.DocumentLibraryName}' successfully updated.");

            return(new ModalDialogFormJsonResult());
        }
        public ActionResult NewDocument(DocumentLibraryPrimaryKey documentLibraryPrimaryKey, NewDocumentViewModel viewModel)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewNewDocument(documentLibrary, viewModel));
            }
            var document = new DocumentLibraryDocument(default(int), default(int), null, default(int), DateTime.Now, CurrentPerson.PersonID);

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

            viewModel.UpdateModel(document, CurrentFirmaSession, documentLibraryDocumentRoles);
            HttpRequestStorage.DatabaseEntities.AllDocumentLibraryDocuments.Add(document);
            HttpRequestStorage.DatabaseEntities.SaveChanges();
            SetMessageForDisplay($"Document '{document.DocumentTitle}' successfully uploaded.");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult DeleteDocumentLibrary(DocumentLibraryPrimaryKey documentLibraryPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var documentLibrary = documentLibraryPrimaryKey.EntityObject;
            var name            = documentLibrary.DocumentLibraryName;

            if (!ModelState.IsValid)
            {
                return(ViewDeleteDocumentLibrary(documentLibrary, viewModel));
            }

            // unset document library from Custom Page
            foreach (var documentLibraryCustomPage in documentLibrary.CustomPages)
            {
                documentLibraryCustomPage.DocumentLibraryID = null;
            }
            documentLibrary.CustomPages = new List <CustomPage>();
            documentLibrary.DeleteFull(HttpRequestStorage.DatabaseEntities);

            SetMessageForDisplay($"Document Library '{name}' successfully deleted.");
            return(new ModalDialogFormJsonResult());
        }
        public GridJsonNetJObjectResult <DocumentLibraryDocument> DocumentLibraryDocumentGridJsonData(DocumentLibraryPrimaryKey documentLibraryPrimary)
        {
            var gridSpec                 = new DocumentLibraryDocumentGridSpec(new DocumentLibraryManageFeature().HasPermissionByFirmaSession(CurrentFirmaSession));
            var documentLibrary          = documentLibraryPrimary.EntityObject;
            var documentLibraryDocuments =
                documentLibrary.DocumentLibraryDocuments.ToList().OrderBy(x => x.SortOrder).ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <DocumentLibraryDocument>(documentLibraryDocuments, gridSpec);

            return(gridJsonNetJObjectResult);
        }