コード例 #1
0
        public ActionResult InPrinciple(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id);

            if (proposal == null || !proposal.Submitted || !proposal.HasFacultyApproval())
            {
                return(HttpNotFound());
            }

            var ipp         = _context.InPrincipal_Pvc.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var pvcApproval = ipp.PvcApproval;

            var ips            = _context.InPrincipal_Senate.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var senateDecision = (ips == null) ? null : ips.SenateDecision;

            var ipc             = _context.InPrincipal_Council.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var councilDecision = (ipc == null) ? null : ipc.CouncilDecision;

            var viewModel = new InPrincipleIndexViewModel
            {
                PvcApproval     = pvcApproval,
                SenateDecision  = senateDecision,
                CouncilDecision = councilDecision,
                Proposal        = proposal
            };

            return(View(viewModel));
        }
コード例 #2
0
        public ActionResult InPrinciple(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id);

            if (proposal == null || !proposal.Submitted || !proposal.HasFacultyApproval())
            {
                return(HttpNotFound());
            }
            string email = null;

            if (User.IsInRole(RoleName.ER))
            {
                email = User.Identity.GetUserName();
            }
            if (!proposal.IsViewable(User.Identity.GetUserId(), email))
            {
                return(HttpNotFound());
            }
            var ipp         = _context.InPrincipal_Pvc.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var pvcApproval = ipp.PvcApproval;

            var ips            = _context.InPrincipal_Senate.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var senateDecision = (ips == null) ? null : ips.SenateDecision;

            var ipc             = _context.InPrincipal_Council.SingleOrDefault(m => m.InPrincipalId == proposal.InPrincipalId);
            var councilDecision = (ipc == null) ? null : ipc.CouncilDecision;

            var viewModel = new InPrincipleIndexViewModel
            {
                PvcApproval     = pvcApproval,
                SenateDecision  = senateDecision,
                CouncilDecision = councilDecision,
                Proposal        = proposal,
            };
            ApplicationDbContext adb = new ApplicationDbContext();

            if (pvcApproval != null)
            {
                viewModel.PvcSignedBy = null;
                if (pvcApproval.SignedBy != null)
                {
                    viewModel.PvcSignedBy = adb.Users.SingleOrDefault(m => m.Id == pvcApproval.SignedBy).Email;
                }
            }
            else
            {
                viewModel.PvcSignedBy = null;
            }

            if (senateDecision != null)
            {
                viewModel.SenateSignedBy = null;
                if (senateDecision.SignedBy != null)
                {
                    viewModel.SenateSignedBy = adb.Users.SingleOrDefault(m => m.Id == senateDecision.SignedBy).Email;
                }
            }
            else
            {
                viewModel.SenateSignedBy = null;
            }

            if (councilDecision != null)
            {
                viewModel.CouncilSignedBy = null;
                if (councilDecision.SignedBy != null)
                {
                    viewModel.CouncilSignedBy = adb.Users.SingleOrDefault(m => m.Id == councilDecision.SignedBy).Email;
                }
            }
            else
            {
                viewModel.CouncilSignedBy = null;
            }
            return(View(viewModel));
        }