public PartialViewResult EditGrantModification(GrantModificationPrimaryKey grantModificationPrimaryKey)
        {
            var grantModification = grantModificationPrimaryKey.EntityObject;
            var viewModel         = new EditGrantModificationViewModel(grantModification);

            return(ViewEditGrantModification(viewModel, EditGrantModificationType.Existing));
        }
        private PartialViewResult ViewEditGrantModification(EditGrantModificationViewModel viewModel, EditGrantModificationType editGrantModificationType)
        {
            var grantModificationStatuses = HttpRequestStorage.DatabaseEntities.GrantModificationStatuses;
            var grantModificationPurposes = GrantModificationPurpose.All;

            var viewData = new EditGrantModificationViewData(grantModificationStatuses, grantModificationPurposes, editGrantModificationType);

            return(RazorPartialView <EditGrantModification, EditGrantModificationViewData, EditGrantModificationViewModel>(viewData, viewModel));
        }
        public ActionResult EditGrantModification(GrantModificationPrimaryKey grantModificationPrimaryKey, EditGrantModificationViewModel viewModel)
        {
            var grantModification = grantModificationPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditGrantModification(viewModel, EditGrantModificationType.Existing));
            }

            var allGrantModificationGrantModificationPurposes = HttpRequestStorage.DatabaseEntities.GrantModificationGrantModificationPurposes.ToList();

            viewModel.UpdateModel(grantModification, CurrentPerson, allGrantModificationGrantModificationPurposes);
            SetMessageForDisplay($"{FieldDefinition.GrantModification.GetFieldDefinitionLabel()} \"{grantModification.GrantModificationName}\" has been updated.");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult NewGrantModificationForAGrant(GrantPrimaryKey grantPrimaryKey, EditGrantModificationViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewEditGrantModification(viewModel, EditGrantModificationType.New));
            }
            var grantModificationStatus = HttpRequestStorage.DatabaseEntities.GrantModificationStatuses.Single(g => g.GrantModificationStatusID == viewModel.GrantModificationStatusID);
            var grant             = HttpRequestStorage.DatabaseEntities.Grants.FirstOrDefault(x => x.GrantID == viewModel.GrantID);
            var grantModification = GrantModification.CreateNewBlank(grant, grantModificationStatus);
            var allGrantModificationGrantModificationPurposes = HttpRequestStorage.DatabaseEntities.GrantModificationGrantModificationPurposes.ToList();

            viewModel.UpdateModel(grantModification, CurrentPerson, allGrantModificationGrantModificationPurposes);
            SetMessageForDisplay($"{FieldDefinition.GrantModification.GetFieldDefinitionLabel()} \"{grantModification.GrantModificationName}\" has been created.");
            return(new ModalDialogFormJsonResult());
        }
        public PartialViewResult NewGrantModificationForAGrant(GrantPrimaryKey grantPrimaryKey)
        {
            var viewModel = new EditGrantModificationViewModel(grantPrimaryKey.EntityObject);

            return(ViewEditGrantModification(viewModel, EditGrantModificationType.New));
        }