Example #1
0
        public IndexViewData(Person currentPerson, Models.NeptunePage neptunePage)
            : base(currentPerson, neptunePage, NeptuneArea.OCStormwaterTools)
        {
            EntityName = FieldDefinitionType.Organization.GetFieldDefinitionLabelPluralized();
            PageTitle  = "All Organizations";

            var hasOrganizationManagePermissions = new OrganizationManageFeature().HasPermissionByPerson(currentPerson);

            GridSpec = new IndexGridSpec(currentPerson, hasOrganizationManagePermissions)
            {
                ObjectNameSingular  = $"{FieldDefinitionType.Organization.GetFieldDefinitionLabel()}",
                ObjectNamePlural    = $"{FieldDefinitionType.Organization.GetFieldDefinitionLabelPluralized()}",
                SaveFiltersInCookie = true
            };

            GridName    = "organizationsGrid";
            GridDataUrl = SitkaRoute <OrganizationController> .BuildUrlFromExpression(tc => tc.IndexGridJsonData());

            PullOrganizationFromKeystoneUrl = SitkaRoute <OrganizationController> .BuildUrlFromExpression(x => x.PullOrganizationFromKeystone());

            UserIsSitkaAdmin       = new SitkaAdminFeature().HasPermissionByPerson(currentPerson);
            UserCanAddOrganization = new OrganizationManageFeature().HasPermissionByPerson(currentPerson);

            NewOrganizationUrl = SitkaRoute <OrganizationController> .BuildUrlFromExpression(t => t.New());
        }
        public GridJsonNetJObjectResult <Organization> IndexGridJsonData()
        {
            var hasDeleteOrganizationPermission = new OrganizationManageFeature().HasPermissionByPerson(CurrentPerson);
            var gridSpec                 = new IndexGridSpec(CurrentPerson, hasDeleteOrganizationPermission);
            var organizations            = HttpRequestStorage.DatabaseEntities.Organizations.ToList().OrderBy(x => x.GetDisplayName()).ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <Organization>(organizations, gridSpec);

            return(gridJsonNetJObjectResult);
        }