Пример #1
0
        public PartialViewResult Edit(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreement = agreementPrimaryKey.EntityObject;
            var viewModel = new EditAgreementViewModel(agreement);

            return(ViewEdit(viewModel, EditAgreementType.ExistingAgreement));
        }
Пример #2
0
        public PartialViewResult EditAgreementGrantAllocations(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreement = agreementPrimaryKey.EntityObject;
            var viewModel = new EditAgreementGrantAllocationsViewModel(agreement);

            return(ViewEditAgreementGrantAllocations(viewModel));
        }
Пример #3
0
        public PartialViewResult NewAgreementPerson(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreementID = agreementPrimaryKey.EntityObject.AgreementID;
            var viewModel   = new EditAgreementPersonViewModel(agreementID);

            return(ViewEditAgreementPerson(viewModel));
        }
Пример #4
0
        public ActionResult DeleteAgreement(AgreementPrimaryKey agreementPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var agreement = agreementPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewDeleteAgreement(agreement, viewModel));
            }

            Check.Ensure(agreement.AgreementCanBeDeleted(), $"Agreement {agreement.AgreementNumber} can't be deleted.");

            // Unhook ObligationNumber from the Reclamation.Agreement object we are deleting
            foreach (var obligationNumber in agreement.ObligationNumbersWhereYouAreTheReclamationAgreement)
            {
                obligationNumber.ReclamationAgreement   = null;
                obligationNumber.ReclamationAgreementID = null;
            }
            // We do NOT want to DeleteFull here, since we never want to delete when the Agreement has associations with any
            // other objects.
            string agreementNumber = agreement.AgreementNumber;

            agreement.Delete(HttpRequestStorage.DatabaseEntities);
            SetMessageForDisplay($"Successfully deleted Agreement \"{agreementNumber}\".");
            return(new ModalDialogFormJsonResult());
        }
Пример #5
0
        public PartialViewResult DeleteAgreement(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreement = agreementPrimaryKey.EntityObject;
            var viewModel = new ConfirmDialogFormViewModel(agreement.AgreementID);

            return(ViewDeleteAgreement(agreement, viewModel));
        }
Пример #6
0
        public ViewResult AgreementDetail(AgreementPrimaryKey agreementPrimaryKey)
        {
            var userHasAgreementAdminPermissions = new FirmaAdminFeature().HasPermissionByPerson(CurrentPerson);
            var agreement = agreementPrimaryKey.EntityObject;
            var viewData  = new DetailViewData(CurrentPerson, agreement, userHasAgreementAdminPermissions);

            return(RazorView <Detail, DetailViewData>(viewData));
        }
Пример #7
0
        public PartialViewResult EditBasics(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreement = agreementPrimaryKey.EntityObject;

            var viewModel = new AgreementEditViewModel(agreement);

            return(AgreementViewEdit(viewModel, CurrentFirmaSession, agreement));
        }
Пример #8
0
        public GridJsonNetJObjectResult <Project> AgreementProjectsGridJsonData(AgreementPrimaryKey agreementPrimaryKey)
        {
            var reclamationAgreement = agreementPrimaryKey.EntityObject;
            var gridSpec             = new BasicProjectInfoGridSpec(CurrentFirmaSession, true, reclamationAgreement);
            //var projectTaxonomyBranches = taxonomyBranchPrimaryKey.EntityObject.GetAssociatedProjects(CurrentPerson);
            var projectReclamationAgreements = reclamationAgreement.GetAssociatedProjects();
            var gridJsonNetJObjectResult     = new GridJsonNetJObjectResult <Project>(projectReclamationAgreements, gridSpec);

            return(gridJsonNetJObjectResult);
        }
Пример #9
0
        public PartialViewResult EditAgreementGrantAllocationRelationships(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreementId = agreementPrimaryKey.EntityObject.AgreementID;
            var agreement   = HttpRequestStorage.DatabaseEntities.Agreements.FirstOrDefault(ag => ag.AgreementID == agreementId);

            Check.EnsureNotNull(agreement);

            var viewModel = new EditAgreementGrantAllocationsViewModel(agreement);

            return(ViewEditAgreementGrantAllocations(viewModel));
        }
Пример #10
0
        public ActionResult Edit(AgreementPrimaryKey agreementPrimaryKey, EditAgreementViewModel viewModel)
        {
            var agreement = agreementPrimaryKey.EntityObject;

            Check.Require(agreement.AgreementID == viewModel.AgreementID, "URL AgreementID does not match Form AgreementID. Should not happen.");
            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel, EditAgreementType.ExistingAgreement));
            }
            viewModel.UpdateModel(agreement, CurrentPerson);
            return(new ModalDialogFormJsonResult());
        }
Пример #11
0
        public ActionResult DeleteAgreement(AgreementPrimaryKey agreementPrimaryKey, ConfirmDialogFormViewModel viewModel)
        {
            var agreement = agreementPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewDeleteAgreement(agreement, viewModel));
            }

            var message = $"{FieldDefinition.Agreement.GetFieldDefinitionLabel()} \"{agreement.AgreementTitle}\" successfully deleted.";

            agreement.DeleteFull(HttpRequestStorage.DatabaseEntities);

            SetMessageForDisplay(message);
            return(new ModalDialogFormJsonResult());
        }
Пример #12
0
        public ActionResult EditBasics(AgreementPrimaryKey agreementPrimaryKey, AgreementEditViewModel viewModel)
        {
            var agreement = agreementPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(AgreementViewEdit(viewModel, CurrentFirmaSession, agreement));
            }

            viewModel.UpdateModelAndSaveChanges(agreement, CurrentFirmaSession, HttpRequestStorage.DatabaseEntities);

            SetMessageForDisplay($"Agreement {agreement.GetDetailLinkUsingAgreementNumber()} saved.");

            // They may have edited the Agreement Number, so we need to redirect in case this has happened.
            string redirectUrl = SitkaRoute <AgreementController> .BuildAbsoluteUrlHttpsFromExpression(x => x.AgreementDetail(viewModel.AgreementNumber));

            return(new ModalDialogFormJsonResult(redirectUrl));
        }
Пример #13
0
        public ActionResult NewAgreementPerson(AgreementPrimaryKey agreementPrimaryKey, EditAgreementPersonViewModel viewModel)
        {
            var agreementID = agreementPrimaryKey.EntityObject.AgreementID;

            if (!ModelState.IsValid)
            {
                return(ViewEditAgreementPerson(viewModel));
            }

            var agreementPerson = new AgreementPerson(agreementID, viewModel.PersonID,
                                                      viewModel.AgreementPersonRoleID);

            viewModel.UpdateModel(agreementPerson);
            HttpRequestStorage.DatabaseEntities.AgreementPeople.Add(agreementPerson);
            HttpRequestStorage.DatabaseEntities.SaveChanges();
            SetMessageForDisplay($"Agreement Contact '{agreementPerson.Person.FullNameFirstLastAndOrg}' successfully added to this agreement.");

            return(new ModalDialogFormJsonResult());
        }
Пример #14
0
        public ActionResult EditAgreementGrantAllocationRelationships(AgreementPrimaryKey agreementPrimaryKey, EditAgreementGrantAllocationsViewModel viewModel)
        {
            // Find relevant agreement
            var agreement = agreementPrimaryKey.EntityObject;

            Check.EnsureNotNull(agreement);

            if (!ModelState.IsValid)
            {
                return(ViewEditAgreementGrantAllocations(viewModel));
            }
            var grantAllocationsCurrentlyOnAgreement = agreement.AgreementGrantAllocations.Select(x => x.GrantAllocationID).ToList();
            var grantAllocationsFromPost             = viewModel.GrantAllocationJsons.Select(x => x.GrantAllocationID).ToList();
            var countAdded   = grantAllocationsFromPost.Except(grantAllocationsCurrentlyOnAgreement).Count();
            var countDeleted = grantAllocationsCurrentlyOnAgreement.Except(grantAllocationsFromPost).Count();

            viewModel.UpdateModel(agreement);

            HttpRequestStorage.DatabaseEntities.SaveChanges();
            var finalMessage = MakeGrantAllocationSuccessMessage(countAdded, countDeleted, agreement);

            SetMessageForDisplay(finalMessage);
            return(new ModalDialogFormJsonResult());
        }
Пример #15
0
        public GridJsonNetJObjectResult <AgreementPerson> AgreementPersonGridJsonData(AgreementPrimaryKey agreementPrimaryKey)
        {
            var agreementID              = agreementPrimaryKey.EntityObject.AgreementID;
            var gridSpec                 = new AgreementPersonGridSpec(CurrentPerson);
            var agreement                = HttpRequestStorage.DatabaseEntities.Agreements.FirstOrDefault(x => x.AgreementID == agreementID);
            var agreementPeople          = agreement.AgreementPeople.OrderBy(x => x.Person.LastName).ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <AgreementPerson>(agreementPeople, gridSpec);

            return(gridJsonNetJObjectResult);
        }
Пример #16
0
        public GridJsonNetJObjectResult <CostAuthority> AgreementCostAuthorityGridJsonData(AgreementPrimaryKey agreementPrimaryKey)
        {
            var gridSpec = new BasicCostAuthorityGridSpec(CurrentPerson);
            var projectReclamationAgreements = agreementPrimaryKey.EntityObject.GetReclamationCostAuthorities();
            var gridJsonNetJObjectResult     = new GridJsonNetJObjectResult <CostAuthority>(projectReclamationAgreements, gridSpec);

            return(gridJsonNetJObjectResult);
        }