public GrantModificationDetailViewData(Person currentPerson, Models.GrantModification grantModification, EntityNotesViewData internalGrantModificationNotesViewData) : base(currentPerson) { Check.EnsureNotNull(currentPerson); Check.EnsureNotNull(grantModification); GrantModification = grantModification; PageTitle = grantModification.GrantModificationName; BreadCrumbTitle = $"{Models.FieldDefinition.GrantModification.GetFieldDefinitionLabel()} Detail"; InternalGrantModificationNotesViewData = internalGrantModificationNotesViewData; ParentGrantUrl = SitkaRoute <GrantController> .BuildUrlFromExpression(gc => gc.GrantDetail(grantModification.GrantID)); BackToParentGrantUrlText = $"Back to {Models.FieldDefinition.Grant.GetFieldDefinitionLabel()}: {grantModification.Grant.GrantName}"; EditGrantModificationBasicsUrl = SitkaRoute <GrantModificationController> .BuildUrlFromExpression(gmc => gmc.EditGrantModification(grantModification.PrimaryKey)); UserHasEditGrantModificationPermissions = new GrantModificationEditAsAdminFeature().HasPermissionByPerson(currentPerson); var canEditDocuments = new GrantModificationEditAsAdminFeature().HasPermission(currentPerson, grantModification).HasPermission; GrantModificationDetailFileDetailsViewData = new FileDetailsViewData( EntityDocument.CreateFromEntityDocument(new List <IEntityDocument>(grantModification.GrantModificationFileResources)), SitkaRoute <GrantModificationController> .BuildUrlFromExpression(x => x.NewGrantModificationFiles(grantModification.PrimaryKey)), canEditDocuments, Models.FieldDefinition.GrantModification ); var relevantGrant = grantModification.Grant; GrantAllocationGridSpec = new GrantAllocationGridSpec(currentPerson, GrantAllocationGridSpec.GrantAllocationGridCreateButtonType.Shown, relevantGrant); GrantAllocationGridName = "grantAllocationsGridName"; GrantAllocationGridDataUrl = SitkaRoute <GrantController> .BuildUrlFromExpression(tc => tc.GrantAllocationGridJsonDataByGrantModification(grantModification)); }
public void UpdateModel(Models.GrantModification grantModification, Person currentPerson, List <GrantModificationGrantModificationPurpose> allGrantModificationGrantModificationPurposes) { grantModification.GrantModificationName = GrantModificationName; grantModification.GrantModificationStatusID = GrantModificationStatusID; grantModification.GrantModificationStartDate = GrantModificationStartDate; grantModification.GrantModificationEndDate = GrantModificationEndDate; grantModification.GrantModificationDescription = GrantModificationDescription; grantModification.GrantID = GrantID; grantModification.GrantModificationAmount = GrantModificationAmount; if (GrantModificationFileResourceData?[0] != null) { var fileResources = GrantModificationFileResourceData.Select(fileData => FileResource.CreateNewFromHttpPostedFile(fileData, currentPerson)); foreach (var fileResource in fileResources) { HttpRequestStorage.DatabaseEntities.FileResources.Add(fileResource); var grantModificationFileResource = new GrantModificationFileResource(grantModification, fileResource, fileResource.OriginalCompleteFileName); grantModification.GrantModificationFileResources.Add(grantModificationFileResource); } } var existingRecordsToClear = HttpRequestStorage.DatabaseEntities.GrantModificationGrantModificationPurposes .Where(gmgmp => gmgmp.GrantModificationID == grantModification.GrantModificationID).ToList(); HttpRequestStorage.DatabaseEntities.GrantModificationGrantModificationPurposes.RemoveRange(existingRecordsToClear); var grantModificationPurposesUpdated = GrantModificationPurposeIDs.Select(x => new GrantModificationGrantModificationPurpose(grantModification.GrantModificationID, x)).ToList(); HttpRequestStorage.DatabaseEntities.GrantModificationGrantModificationPurposes.AddRange(grantModificationPurposesUpdated); }
public DuplicateGrantModificationViewData(IEnumerable <Models.GrantModificationStatus> grantModificationStatuses, List <GrantModificationPurpose> grantModificationPurposes, Models.GrantModification grantModificationToDuplicate, List <Models.GrantAllocation> grantAllocations) { GrantModificationStatuses = grantModificationStatuses.ToSelectListWithEmptyFirstRow(x => x.GrantModificationStatusID.ToString(CultureInfo.InvariantCulture), y => y.GrantModificationStatusName); GrantModificationPurposes = grantModificationPurposes.ToSelectList(x => x.GrantModificationPurposeID.ToString(CultureInfo.InvariantCulture), y => y.GrantModificationPurposeName); GrantModificationToDuplicate = grantModificationToDuplicate; GrantAllocations = grantAllocations.ToSelectList(x => x.GrantAllocationID.ToString(CultureInfo.InvariantCulture), y => y.GrantAllocationName, true); }
public DuplicateGrantModificationViewModel(Models.GrantModification grantModificationToDuplicate) { GrantID = grantModificationToDuplicate.GrantID; GrantModificationStatusID = grantModificationToDuplicate.GrantModificationStatusID; GrantModificationName = $"{grantModificationToDuplicate.GrantModificationName} - Copy"; GrantModificationAmount = 0; GrantModificationPurpose = grantModificationToDuplicate.GrantModificationGrantModificationPurposes.Select(x => x.GrantModificationPurposeID).ToList(); }
public void UpdateModel(Models.GrantModification grantModification) { grantModification.GrantModificationName = GrantModificationName; grantModification.GrantModificationAmount = GrantModificationAmount; //because this is only used for duplication we can just create the GM-GMP without merging foreach (var purpose in GrantModificationPurpose.Select(purposeID => Models.GrantModificationPurpose.All.Single(x => x.GrantModificationPurposeID == purposeID))) { GrantModificationGrantModificationPurpose.CreateNewBlank(grantModification, purpose); } }
public EditGrantModificationViewModel(Models.GrantModification grantModification) { GrantModificationName = grantModification.GrantModificationName; GrantModificationStatusID = grantModification.GrantModificationStatusID; GrantModificationStartDate = grantModification.GrantModificationStartDate; GrantModificationEndDate = grantModification.GrantModificationEndDate; GrantModificationDescription = grantModification.GrantModificationDescription; GrantModificationAmount = grantModification.GrantModificationAmount; GrantID = grantModification.GrantID; GrantModificationPurposeIDs = grantModification.GrantModificationGrantModificationPurposes.Select(x => x.GrantModificationPurposeID).ToList(); }
public GrantModificationJson(Models.GrantModification grantModification) { GrantModificationID = grantModification.GrantModificationID; GrantID = grantModification.GrantID; }