예제 #1
0
 protected GrantViewData(Person currentPerson, Models.Grant grant) : base(currentPerson, null)
 {
     Grant         = grant;
     HtmlPageTitle = grant.GrantTitle;
     EntityName    = $"{Models.FieldDefinition.Grant.GetFieldDefinitionLabel()}";
     EditGrantUrl  = grant.GetEditUrl();
     UserHasEditGrantPermissions = new GrantEditAsAdminFeature().HasPermissionByPerson(currentPerson);
     BackToGrantsText            = "Back to all Grants";
     GrantsListUrl = SitkaRoute <GrantController> .BuildUrlFromExpression(c => c.Index());
 }
        public ViewResult GrantDetail(GrantPrimaryKey grantPrimaryKey)
        {
            var grant = grantPrimaryKey.EntityObject;
            var userHasEditGrantPermissions = new GrantEditAsAdminFeature().HasPermissionByPerson(CurrentPerson);
            var grantNotesViewData = new EntityNotesViewData(
                EntityNote.CreateFromEntityNote(new List<IEntityNote>(grant.GrantNotes)),
                SitkaRoute<GrantController>.BuildUrlFromExpression(x => x.NewGrantNote(grantPrimaryKey)),
                grant.GrantName,
                userHasEditGrantPermissions);

            var internalGrantNotesViewData = new EntityNotesViewData(
                EntityNote.CreateFromEntityNote(new List<IEntityNote>(grant.GrantNoteInternals)),
                SitkaRoute<GrantController>.BuildUrlFromExpression(x => x.NewGrantNoteInternal(grantPrimaryKey)),
                grant.GrantName,
                userHasEditGrantPermissions);
            var viewData = new Views.Grant.GrantDetailViewData(CurrentPerson, grant, grantNotesViewData, internalGrantNotesViewData);
            return RazorView<GrantDetail, GrantDetailViewData>(viewData);
        }