public GridJsonNetJObjectResult <GrantAllocationAward> GrantAllocationAwardByFocusAreaGridJsonData(FocusAreaPrimaryKey focusAreaPrimaryKey) { var focusArea = focusAreaPrimaryKey.EntityObject; var grantAllocationAwards = focusArea.GrantAllocationAwards.ToList(); var gridSpec = new GrantAllocationAwardGridSpec(CurrentPerson, focusArea); var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <GrantAllocationAward>(grantAllocationAwards, gridSpec); return(gridJsonNetJObjectResult); }
public GridJsonNetJObjectResult <GrantAllocationAward> GrantAllocationAwardsGridJsonData(GrantAllocationPrimaryKey grantAllocationPrimaryKey) { var grantAllocation = grantAllocationPrimaryKey.EntityObject; var grantAllocationAwards = grantAllocation.GrantAllocationAwards.ToList(); var gridSpec = new GrantAllocationAwardGridSpec(CurrentPerson, grantAllocation); var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <GrantAllocationAward>(grantAllocationAwards, gridSpec); return(gridJsonNetJObjectResult); }
public ViewResult GrantAllocationDetail(GrantAllocationPrimaryKey grantAllocationPrimaryKey) { var grantAllocation = grantAllocationPrimaryKey.EntityObject; if (grantAllocation == null) { throw new Exception($"Could not find GrantAllocationID # {grantAllocationPrimaryKey.PrimaryKeyValue}; has it been deleted?"); } var taxonomyLevel = MultiTenantHelpers.GetTaxonomyLevel(); var grantAllocationBasicsViewData = new GrantAllocationBasicsViewData(grantAllocation, false, taxonomyLevel); var userHasEditGrantAllocationPermissions = new GrantAllocationEditAsAdminFeature().HasPermissionByPerson(CurrentPerson); var grantAllocationNotesViewData = new EntityNotesViewData( EntityNote.CreateFromEntityNote(new List <IEntityNote>(grantAllocation.GrantAllocationNotes)), SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(x => x.NewGrantAllocationNote(grantAllocationPrimaryKey)), grantAllocation.GrantAllocationName, userHasEditGrantAllocationPermissions); var grantAllocationNoteInternalsViewData = new EntityNotesViewData( EntityNote.CreateFromEntityNote(new List <IEntityNote>(grantAllocation.GrantAllocationNoteInternals)), SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(x => x.NewGrantAllocationNoteInternal(grantAllocationPrimaryKey)), grantAllocation.GrantAllocationName, userHasEditGrantAllocationPermissions); var costTypes = CostType.All.Where(x => x.IsValidInvoiceLineItemCostType).OrderBy(x => x.CostTypeDisplayName).ToList(); const string chartTitle = "Grant Allocation Expenditures"; var chartContainerID = chartTitle.Replace(" ", ""); // If ProjectGrantAllocationExpenditures is empty, ToGoogleChart returns null... var googleChart = grantAllocation.GrantAllocationExpenditures .ToGoogleChart(x => x.CostType?.CostTypeDisplayName, costTypes.Select(x => x.CostTypeDisplayName).ToList(), x => x.CostType?.CostTypeDisplayName, chartContainerID, grantAllocation.DisplayName); // Which makes this guy bork (bork bork bork) googleChart?.GoogleChartConfiguration.Legend.SetLegendPosition(GoogleChartLegendPosition.Top); var viewGoogleChartViewData = new ViewGoogleChartViewData(googleChart, chartTitle, 350, false); var projectGrantAllocationRequestsGridSpec = new ProjectGrantAllocationRequestsGridSpec() { ObjectNameSingular = "Project", ObjectNamePlural = "Projects", SaveFiltersInCookie = true }; var grantAllocationExpendituresGridSpec = new GrantAllocationExpendituresGridSpec(); var grantAllocationAwardsGridSpec = new GrantAllocationAwardGridSpec(CurrentPerson, grantAllocation); var viewData = new Views.GrantAllocation.DetailViewData(CurrentPerson, grantAllocation, grantAllocationBasicsViewData, grantAllocationNotesViewData, grantAllocationNoteInternalsViewData, viewGoogleChartViewData, projectGrantAllocationRequestsGridSpec, grantAllocationExpendituresGridSpec, grantAllocationAwardsGridSpec); return(RazorView <Views.GrantAllocation.Detail, Views.GrantAllocation.DetailViewData>(viewData)); }
public ViewResult Detail(FocusAreaPrimaryKey focusAreaPrimaryKey) { var focusArea = focusAreaPrimaryKey.EntityObject; var mapInitJson = GetMapInitJsonWithProjects(focusArea, out var hasSpatialData, CurrentPerson); var grantAllocationAwardGridSpec = new GrantAllocationAwardGridSpec(CurrentPerson, focusArea); var viewData = new DetailViewData(CurrentPerson, focusArea, mapInitJson, hasSpatialData, grantAllocationAwardGridSpec); return(RazorView <Detail, DetailViewData>(viewData)); }
public DetailViewData(Person currentPerson, Models.GrantAllocation grantAllocation , GrantAllocationBasicsViewData grantAllocationBasicsViewData , EntityNotesViewData grantAllocationNotesViewData , EntityNotesViewData grantAllocationNoteInternalsViewData , ViewGoogleChartViewData viewGoogleChartViewData , GridSpec <Models.ProjectGrantAllocationRequest> projectGrantAllocationRequestsGridSpec , GrantAllocationExpendituresGridSpec grantAllocationExpendituresGridSpec , GrantAllocationAwardGridSpec grantAllocationAwardGridSpec) : base(currentPerson, grantAllocation) { PageTitle = grantAllocation.GrantAllocationName.ToEllipsifiedStringClean(110); BreadCrumbTitle = $"{Models.FieldDefinition.GrantAllocation.GetFieldDefinitionLabel()} Detail"; GrantAllocationBasicsViewData = grantAllocationBasicsViewData; GrantAllocationNotesViewData = grantAllocationNotesViewData; NewGrantAllocationNoteUrl = grantAllocation.GetNewNoteUrl(); GrantAllocationNoteInternalsViewData = grantAllocationNoteInternalsViewData; ViewGoogleChartViewData = viewGoogleChartViewData; var projectGrantAllocationExpenditures = GrantAllocation.ProjectGrantAllocationExpenditures.ToList(); CalendarYearsForProjectExpenditures = projectGrantAllocationExpenditures.CalculateCalendarYearRangeForExpenditures(grantAllocation); ProjectCalendarYearExpendituresGridSpec = new ProjectCalendarYearExpendituresGridSpec(CalendarYearsForProjectExpenditures) { ObjectNameSingular = $"{Models.FieldDefinition.Project.GetFieldDefinitionLabel()}", ObjectNamePlural = $"{Models.FieldDefinition.Project.GetFieldDefinitionLabelPluralized()}", SaveFiltersInCookie = true }; ProjectCalendarYearExpendituresGridName = "projectsCalendarYearExpendituresFromGrantAllocationGrid"; ProjectCalendarYearExpendituresGridDataUrl = SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(tc => tc.ProjectCalendarYearExpendituresGridJsonData(grantAllocation)); ProjectGrantAllocationRequestsGridSpec = projectGrantAllocationRequestsGridSpec; ProjectGrantAllocationRequestsGridName = "projectsGrantAllocationRequestsFromGrantAllocationGrid"; ProjectGrantAllocationRequestsGridDataUrl = SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(tc => tc.ProjectGrantAllocationRequestsGridJsonData(grantAllocation)); GrantAllocationExpendituresGridSpec = grantAllocationExpendituresGridSpec; GrantAllocationExpendituresGridName = "grantAllocationExpendituresGrid"; GrantAllocationExpendituresGridDataUrl = SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(gac => gac.GrantAllocationExpendituresGridJsonData(grantAllocation)); GrantAllocationAwardGridSpec = grantAllocationAwardGridSpec; GrantAllocationAwardGridName = "grantAllocationAwardsGrid"; GrantAllocationAwardGridDataUrl = SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(gac => gac.GrantAllocationAwardsGridJsonData(grantAllocation)); GrantAllocationBudgetLineItemsViewData = new GrantAllocationBudgetLineItemsViewData(currentPerson, grantAllocation, grantAllocation.GrantAllocationBudgetLineItems.ToList()); GrantAllocationBudgetVsActualsViewData = new GrantAllocationBudgetVsActualsViewData(currentPerson, grantAllocation); var canEditDocuments = new GrantAllocationEditAsAdminFeature().HasPermission(currentPerson, grantAllocation).HasPermission; GrantAllocationDetailsFileDetailsViewData = new FileDetailsViewData( EntityDocument.CreateFromEntityDocument(new List <IEntityDocument>(grantAllocation.GrantAllocationFileResources)), SitkaRoute <GrantAllocationController> .BuildUrlFromExpression(x => x.NewGrantAllocationFiles(grantAllocation.PrimaryKey)), canEditDocuments, Models.FieldDefinition.GrantAllocation ); List <AgreementGrantAllocation> agreementGrantAllocationsList = grantAllocation.AgreementGrantAllocations.ToList(); CurrentAgreementGrantAllocationsInSortedOrder = agreementGrantAllocationsList; }