public PartialViewResult EditRequisitionInformation(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var obligationRequest = obligationRequestPrimaryKey.EntityObject;
            var viewModel         = new EditRequisitionInformationViewModel(obligationRequest);

            return(ViewEditRequisitionInformation(viewModel));
        }
        public PartialViewResult Delete(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var reclamationObligationRequest = obligationRequestPrimaryKey.EntityObject;
            var viewModel = new ConfirmDialogFormViewModel(reclamationObligationRequest.ObligationRequestID);

            return(ViewDelete(reclamationObligationRequest, viewModel));
        }
        public ActionResult EditCostAuthorityObligationRequests(ObligationRequestPrimaryKey reclamationObligationRequestPrimaryKey, EditCostAuthorityObligationRequestsViewModel viewModel)
        {
            var reclamationObligationRequest = reclamationObligationRequestPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                var firmaPage = FirmaPageTypeEnum.AddCostAuthorityToObligationRequest.GetFirmaPage();
                return(ViewEditCostAuthorityObligationRequests(reclamationObligationRequest, viewModel, firmaPage));
            }

            var listOfCostAuthorityIDs = viewModel.CostAuthorityJsonList.Select(x => x.CostAuthorityID).ToList();
            var existingCostAuthorityObligationRequests = reclamationObligationRequest.CostAuthorityObligationRequests;

            foreach (var costAuthorityID in listOfCostAuthorityIDs)
            {
                var costAuthorityJson =
                    viewModel.CostAuthorityJsonList.Single(x => x.CostAuthorityID == costAuthorityID);
                if (!existingCostAuthorityObligationRequests.Select(x => x.CostAuthorityID).Contains(costAuthorityID))
                {
                    var newCostAuthorityReclamationAgreement =
                        new CostAuthorityObligationRequest(costAuthorityID, reclamationObligationRequest.ObligationRequestID)
                    {
                        ProjectedObligation = costAuthorityJson.ProjectedObligation
                        , CostAuthorityObligationRequestNote = costAuthorityJson.Note
                        , TechnicalRepresentativePersonID    = costAuthorityJson.TechnicalRepresentativePersonID
                        , RecipientOrganizationID            = costAuthorityJson.RecipientOrganizationID
                        , BudgetObjectCodeID = costAuthorityJson.BudgetObjectCodeID
                    };
                    reclamationObligationRequest.CostAuthorityObligationRequests.Add(newCostAuthorityReclamationAgreement);
                }
            }
            HttpRequestStorage.DatabaseEntities.SaveChanges();
            ExcelUploadController.DoObligationRequestMatching(obReqLogger);
            return(new ModalDialogFormJsonResult());
        }
 public ActionResult Edit(ObligationRequestPrimaryKey obligationRequestPrimaryKey, EditObligationRequestViewModel viewModel)
 {
     if (!ModelState.IsValid)
     {
         var firmaPage = FirmaPageTypeEnum.ObligationRequestFromGridDialog.GetFirmaPage();
         return(ViewEdit(viewModel, firmaPage));
     }
     viewModel.UpdateModel(obligationRequestPrimaryKey.EntityObject, CurrentFirmaSession);
     if (viewModel.IsModification)
     {
         var obligationRequest        = obligationRequestPrimaryKey.EntityObject;
         var agreement                = HttpRequestStorage.DatabaseEntities.Agreements.Single(x => x.AgreementID == viewModel.AgreementID.Value);
         var costAuthorities          = HttpRequestStorage.DatabaseEntities.CostAuthorities.ToList();
         var agreementCostAuthorities = agreement.AgreementCostAuthorities;
         var listOfCostAuthorityIDs   = agreementCostAuthorities.Select(x => x.CostAuthorityID).ToList();
         var currentListOfCostAuthoritiesOnObligationRequest = obligationRequest
                                                               .CostAuthorityObligationRequests
                                                               .Select(x => x.CostAuthorityID).ToList();
         foreach (var costAuthorityID in listOfCostAuthorityIDs)
         {
             if (!currentListOfCostAuthoritiesOnObligationRequest.Contains(costAuthorityID))
             {
                 var costAuthority = costAuthorities.Single(x => x.CostAuthorityID == costAuthorityID);
                 var newCostAuthorityReclamationAgreement = new CostAuthorityObligationRequest(costAuthority, obligationRequest);
                 obligationRequest.CostAuthorityObligationRequests.Add(newCostAuthorityReclamationAgreement);
             }
         }
     }
     HttpRequestStorage.DatabaseEntities.SaveChanges();
     ExcelUploadController.DoObligationRequestMatching(obReqLogger);
     return(new ModalDialogFormJsonResult());
 }
        public PartialViewResult ConfirmObligationRequestUnmatch(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            ObligationRequest obligationRequest = obligationRequestPrimaryKey.EntityObject;
            var viewData  = new ConfirmObligationRequestUnmatchViewData(CurrentFirmaSession, obligationRequest);
            var viewModel = new ConfirmObligationRequestUnmatchViewModel();

            return(RazorPartialView <ConfirmObligationRequestUnmatch, ConfirmObligationRequestUnmatchViewData, ConfirmObligationRequestUnmatchViewModel>(viewData, viewModel));
        }
        public PartialViewResult Edit(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var obligationRequest      = obligationRequestPrimaryKey.EntityObject;
            var viewModel              = new EditObligationRequestViewModel(obligationRequest);
            var projectStatusFirmaPage = FirmaPageTypeEnum.ObligationRequestFromGridDialog.GetFirmaPage();

            return(ViewEdit(viewModel, projectStatusFirmaPage));
        }
        public PartialViewResult EditCostAuthorityObligationRequests(ObligationRequestPrimaryKey reclamationObligationRequestPrimaryKey)
        {
            var reclamationObligationRequest = reclamationObligationRequestPrimaryKey.EntityObject;
            var viewModel = new EditCostAuthorityObligationRequestsViewModel(reclamationObligationRequest);
            var firmaPage = FirmaPageTypeEnum.AddCostAuthorityToObligationRequest.GetFirmaPage();

            return(ViewEditCostAuthorityObligationRequests(reclamationObligationRequest, viewModel, firmaPage));
        }
 public ActionResult EditRequisitionInformation(ObligationRequestPrimaryKey obligationRequestPrimaryKey, EditRequisitionInformationViewModel viewModel)
 {
     if (!ModelState.IsValid)
     {
         return(ViewEditRequisitionInformation(viewModel));
     }
     viewModel.UpdateModel(obligationRequestPrimaryKey.EntityObject, CurrentFirmaSession);
     HttpRequestStorage.DatabaseEntities.SaveChanges();
     ExcelUploadController.DoObligationRequestMatching(obReqLogger);
     return(new ModalDialogFormJsonResult());
 }
        public ActionResult New(ObligationRequestPrimaryKey obligationRequestPrimaryKey, EditNoteViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel));
            }
            var obligationRequest     = obligationRequestPrimaryKey.EntityObject;
            var obligationRequestNote = ObligationRequestSubmissionNote.CreateNewBlank(obligationRequest);

            viewModel.UpdateModel(obligationRequestNote, CurrentFirmaSession);
            HttpRequestStorage.DatabaseEntities.ObligationRequestSubmissionNotes.Add(obligationRequestNote);
            return(new ModalDialogFormJsonResult());
        }
        public ViewResult ObligationRequestDetail(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var obligationRequest = obligationRequestPrimaryKey.EntityObject;

            var userCanInteractWithSubmissionNotes = new ObligationRequestSubmissionNoteFeature().HasPermissionByFirmaSession(CurrentFirmaSession);

            var obligationRequestNotesViewData = new EntityNotesViewData(
                EntityNote.CreateFromEntityNote(obligationRequest.ObligationRequestSubmissionNotes),
                SitkaRoute <ObligationRequestSubmissionNotesController> .BuildUrlFromExpression(x => x.New(obligationRequest)),
                FieldDefinitionEnum.ObligationRequest.ToType().FieldDefinitionDisplayName,
                userCanInteractWithSubmissionNotes);

            var viewData = new ObligationRequestDetailViewData(CurrentFirmaSession, obligationRequest, userCanInteractWithSubmissionNotes, obligationRequestNotesViewData);

            return(RazorView <ObligationRequestDetail, ObligationRequestDetailViewData>(viewData));
        }
        public ActionResult ConfirmObligationRequestUnmatch(ObligationRequestPrimaryKey obligationRequestPrimaryKey,
                                                            ConfirmObligationRequestUnmatchViewModel viewModel)
        {
            ObligationRequest obligationRequest = obligationRequestPrimaryKey.EntityObject;
            var previouslyMatchedObligation     = obligationRequest.ObligationNumber;

            obligationRequest.ObligationNumber   = null;
            obligationRequest.ObligationNumberID = null;
            obligationRequest.Agreement          = null;
            obligationRequest.AgreementID        = null;

            HttpRequestStorage.DatabaseEntities.SaveChanges(this.CurrentFirmaSession);
            ExcelUploadController.DoObligationRequestMatching(obReqLogger);

            SetMessageForDisplay($"Unmatched Obligation Request {obligationRequest.GetDetailLink()} from Obligation {previouslyMatchedObligation.GetDetailLink()}");

            return(new ModalDialogFormJsonResult());
        }
        public ActionResult Delete(ObligationRequestPrimaryKey obligationRequestPrimaryKey,
                                   ConfirmDialogFormViewModel viewModel)
        {
            var obligationRequest = obligationRequestPrimaryKey.EntityObject;
            var displayName       = $"Obligation Request: {obligationRequest.GetObligationRequestNumber()}";

            if (!ModelState.IsValid)
            {
                return(ViewDelete(obligationRequest, viewModel));
            }

            obligationRequest.DeleteFull(HttpRequestStorage.DatabaseEntities);
            ExcelUploadController.DoObligationRequestMatching(obReqLogger);

            SetMessageForDisplay($"Successfully deleted \"{displayName}\".");

            return(new ModalDialogFormJsonResult());
        }
        public GridJsonNetJObjectResult <CostAuthorityObligationRequestPotentialObligationNumberMatch> PotentialObligationRequestMatchesJsonData(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var obligationRequest        = obligationRequestPrimaryKey.EntityObject;
            var obligationRequestMatches = obligationRequest.CostAuthorityObligationRequests.SelectMany(caor => caor.CostAuthorityObligationRequestPotentialObligationNumberMatches).ToList();
            var gridSpec = new CostAuthorityObligationRequestPotentialObligationNumberMatchGridSpec(CurrentFirmaSession);
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <CostAuthorityObligationRequestPotentialObligationNumberMatch>(obligationRequestMatches, gridSpec);

            return(gridJsonNetJObjectResult);
        }
        public GridJsonNetJObjectResult <CostAuthorityObligationRequest> CostAuthorityObligationRequestsJsonData(ObligationRequestPrimaryKey reclamationObligationRequestPrimaryKey)
        {
            var reclamationObligationRequest = reclamationObligationRequestPrimaryKey.EntityObject;
            var costAuthorityIDList          = reclamationObligationRequest.Agreement != null
                ? reclamationObligationRequest.Agreement.AgreementCostAuthorities.Select(x => x.CostAuthorityID).ToList()
                : new List <int>();

            var gridSpec = new CostAuthorityObligationRequestGridSpec(CurrentFirmaSession, reclamationObligationRequest.ObligationRequestStatus == ObligationRequestStatus.Draft, costAuthorityIDList);
            var costAuthorityObligationRequests = reclamationObligationRequestPrimaryKey.EntityObject
                                                  .CostAuthorityObligationRequests.ToList();
            var gridJsonNetJObjectResult = new GridJsonNetJObjectResult <CostAuthorityObligationRequest>(costAuthorityObligationRequests, gridSpec);

            return(gridJsonNetJObjectResult);
        }
        public PartialViewResult New(ObligationRequestPrimaryKey obligationRequestPrimaryKey)
        {
            var viewModel = new EditNoteViewModel();

            return(ViewEdit(viewModel));
        }