Exemple #1
0
        public ActionResult Details(int id)
        {
            var senate = _context.SenateDecisions.SingleOrDefault(m => m.Id == id);

            if (senate == null)
            {
                return(HttpNotFound());
            }

            //get proposal
            var ips      = _context.InPrincipal_Senate.SingleOrDefault(m => m.SenateDecisionId == senate.Id);
            var proposal = _context.Proposals.SingleOrDefault(m => m.InPrincipalId == ips.InPrincipalId);

            if (proposal == null || !proposal.Submitted || !proposal.HasFacultyApproval())
            {
                return(HttpNotFound());
            }
            var viewModel = new SenateDecisionFormViewModel
            {
                Proposal       = proposal,
                SenateDecision = senate
            };

            return(View("Form", viewModel));
        }
Exemple #2
0
        public ActionResult Save(SenateDecisionFormViewModel vm)
        {
            var proposal = vm.Proposal;

            proposal = _context.Proposals.SingleOrDefault(m => m.Id == proposal.Id);
            if (proposal == null || !proposal.Submitted || !proposal.HasFacultyApproval())
            {
                return(HttpNotFound());
            }
            var senate = vm.SenateDecision;

            if (!ModelState.IsValid)
            {
                //return form
                var viewModel = new SenateDecisionFormViewModel
                {
                    Proposal       = proposal,
                    SenateDecision = senate
                };
                return(View("Form", viewModel));
            }
            if (senate.Selection == true)
            {
                //if a is chosen
                var pvc = proposal.GetPvcApproval();
                if (pvc.CouncilRef == false)
                {
                    //not referred to council
                    proposal.InPrincipalApproved = true;
                }
                else
                {
                    var council = proposal.GetCouncilDecision();
                    if (council.SignedBy != null)
                    {
                        if (council.Selection == true)
                        {
                            //council also approved
                            proposal.InPrincipalApproved = true;
                        }
                        else
                        {
                            proposal.InPrincipalApproved = false;
                        }
                    }
                }
            }
            else
            {
                //if b is chosen
                proposal.InPrincipalApproved = false;
            }

            var senateInDb = _context.SenateDecisions.SingleOrDefault(m => m.Id == senate.Id);

            senateInDb.SignedBy   = "DeanXYZ";
            senateInDb.SignedDate = DateTime.Now;
            senateInDb.Selection  = senate.Selection;

            _context.SaveChanges();
            return(RedirectToAction("InPrinciple", "Proposal", new { id = proposal.Id }));
        }