private PartialViewResult ViewDeleteDocument(DocumentLibraryDocument documentLibraryDocument, ConfirmDialogFormViewModel viewModel) { var confirmMessage = $"Are you sure you wish to delete Document '{documentLibraryDocument.DocumentTitle}'?"; var viewData = new ConfirmDialogFormViewData(confirmMessage); return(RazorPartialView <ConfirmDialogForm, ConfirmDialogFormViewData, ConfirmDialogFormViewModel>(viewData, viewModel)); }
private PartialViewResult ViewEditDocument(DocumentLibraryDocument documentLibraryDocument, EditDocumentViewModel viewModel) { var documentCategories = documentLibraryDocument.DocumentLibrary.DocumentLibraryDocumentCategories.Select(x => x.DocumentCategory) .ToSelectListWithEmptyFirstRow(x => x.DocumentCategoryID.ToString(CultureInfo.InvariantCulture), x => x.DocumentCategoryDisplayName); var viewData = new EditDocumentViewData(documentCategories); return(RazorPartialView <EditDocument, EditDocumentViewData, EditDocumentViewModel>(viewData, viewModel)); }
public static HtmlString GetViewableRoles(this DocumentLibraryDocument documentLibraryDocument) { var documentLibraryDocumentRoles = HttpRequestStorage.DatabaseEntities.DocumentLibraryDocumentRoles.Where(x => x.DocumentLibraryDocumentID == documentLibraryDocument.DocumentLibraryDocumentID).ToList(); return(new HtmlString(documentLibraryDocumentRoles.Any() ? string.Join(", ", documentLibraryDocumentRoles.OrderBy(x => x.Role?.SortOrder).Select(x => x.Role == null ? "Anonymous (Public)" : x.Role.GetRoleDisplayName()).ToList()) : ViewUtilities.NoAnswerProvided)); }
public EditDocumentViewModel(DocumentLibraryDocument documentLibraryDocument) { DocumentLibraryID = documentLibraryDocument.DocumentLibraryID; DocumentTitle = documentLibraryDocument.DocumentTitle; Description = documentLibraryDocument.DocumentDescription; DocumentCategoryID = documentLibraryDocument.DocumentCategoryID; ViewableByAnonymous = documentLibraryDocument.DocumentLibraryDocumentRoles.Any(x => x.RoleID == null); ViewableByUnassigned = documentLibraryDocument.DocumentLibraryDocumentRoles.Any(x => x.RoleID == ProjectFirmaModels.Models.Role.Unassigned.RoleID); ViewableByNormal = documentLibraryDocument.DocumentLibraryDocumentRoles.Any(x => x.RoleID == ProjectFirmaModels.Models.Role.Normal.RoleID); ViewableByProjectSteward = documentLibraryDocument.DocumentLibraryDocumentRoles.Any(x => x.RoleID == ProjectFirmaModels.Models.Role.ProjectSteward.RoleID); }
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 virtual void UpdateModel(DocumentLibraryDocument documentLibraryDocument, FirmaSession currentFirmaSession, ICollection <DocumentLibraryDocumentRole> allDocumentLibraryDocumentRoles) { documentLibraryDocument.DocumentTitle = DocumentTitle; documentLibraryDocument.DocumentDescription = Description; documentLibraryDocument.DocumentCategoryID = DocumentCategoryID; documentLibraryDocument.LastUpdateDate = DateTime.Now; documentLibraryDocument.LastUpdatePerson = currentFirmaSession.Person; var newDocumentLibraryDocumentRoles = new List <DocumentLibraryDocumentRole>(); if (ViewableByAnonymous) { newDocumentLibraryDocumentRoles.Add(new DocumentLibraryDocumentRole(documentLibraryDocument.DocumentLibraryDocumentID)); } if (ViewableByUnassigned) { newDocumentLibraryDocumentRoles.Add(new DocumentLibraryDocumentRole(documentLibraryDocument.DocumentLibraryDocumentID) { RoleID = ProjectFirmaModels.Models.Role.Unassigned.RoleID }); } if (ViewableByNormal) { newDocumentLibraryDocumentRoles.Add(new DocumentLibraryDocumentRole(documentLibraryDocument.DocumentLibraryDocumentID) { RoleID = ProjectFirmaModels.Models.Role.Normal.RoleID }); } if (ViewableByProjectSteward) { newDocumentLibraryDocumentRoles.Add(new DocumentLibraryDocumentRole(documentLibraryDocument.DocumentLibraryDocumentID) { RoleID = ProjectFirmaModels.Models.Role.ProjectSteward.RoleID }); } documentLibraryDocument.DocumentLibraryDocumentRoles.Merge(newDocumentLibraryDocumentRoles, allDocumentLibraryDocumentRoles, (x, y) => x.DocumentLibraryDocumentID == y.DocumentLibraryDocumentID && x.RoleID == y.RoleID, HttpRequestStorage.DatabaseEntities); }
public override void UpdateModel(DocumentLibraryDocument documentLibraryDocument, FirmaSession currentFirmaSession, ICollection <DocumentLibraryDocumentRole> allDocumentLibraryDocumentRoles) { documentLibraryDocument.FileResourceInfo = FileResourceModelExtensions.CreateNewFromHttpPostedFileAndSave(FileResourceData, currentFirmaSession); documentLibraryDocument.DocumentLibraryID = DocumentLibraryID; base.UpdateModel(documentLibraryDocument, currentFirmaSession, allDocumentLibraryDocumentRoles); }
public static bool HasViewPermission(this DocumentLibraryDocument documentLibraryDocument, FirmaSession currentFirmaSession) { var viewTypeRoles = documentLibraryDocument.DocumentLibraryDocumentRoles; return((currentFirmaSession.Person != null && viewTypeRoles.Select(x => x.Role).Contains(currentFirmaSession.Role)) || new FirmaAdminFeature().HasPermissionByFirmaSession(currentFirmaSession) || (currentFirmaSession.Person == null && viewTypeRoles.Any(x => x.Role == null))); }
public static string GetDeleteUrl(this DocumentLibraryDocument documentLibraryDocument) { return(DeleteUrlTemplate.ParameterReplace(documentLibraryDocument.DocumentLibraryDocumentID)); }