Ejemplo n.º 1
0
        public ActionResult New(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id);

            if (proposal == null)
            {
                return(HttpNotFound());
            }
            ProgrammeRationale pr = null;

            if (proposal.ProgrammeRationaleId != null)
            {
                pr = _context.ProgrammeRationales.SingleOrDefault(m => m.Id == proposal.ProgrammeRationaleId);
            }
            if (pr == null)
            {
                //if section B has not been visited yet
                return(RedirectToAction("Jump", "ProgrammeRationale", new { id = proposal.Id }));
            }
            if (pr.DemandId == null)
            {
                //if section demand has not been visited yet
                return(RedirectToAction("Jump", "Demand", new { id = proposal.Id }));
            }
            if (pr.PsId != null)
            {
                return(HttpNotFound());
            }
            var viewModel = new ProgrammeStudyFormViewModel
            {
                Proposal = proposal,
            };

            return(View("Form", viewModel));
        }
Ejemplo n.º 2
0
        public ActionResult Edit(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(c => c.Id == id);

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

            var pr = _context.ProgrammeRationales.SingleOrDefault(c => c.Id == proposal.ProgrammeRationaleId);

            var programmeStudy = _context.ProgrammeOfStudies.SingleOrDefault(c => c.Id == pr.PsId);

            if (programmeStudy == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new ProgrammeStudyFormViewModel
            {
                Proposal       = proposal,
                ProgrammeStudy = programmeStudy,
            };

            return(View("Form", viewModel));
        }
Ejemplo n.º 3
0
        public ActionResult New(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id);

            if (proposal == null)
            {
                return(HttpNotFound());
            }
            if (!proposal.IsEditable(User.Identity.GetUserId()))
            {
                return(HttpNotFound());
            }
            ProgrammeRationale pr = null;

            if (proposal.ProgrammeRationaleId != null)
            {
                pr = _context.ProgrammeRationales.SingleOrDefault(m => m.Id == proposal.ProgrammeRationaleId);
            }
            if (pr == null)
            {
                //if section B has not been visited yet
                return(RedirectToAction("Jump", "ProgrammeRationale", new { id = proposal.Id }));
            }
            if (pr.DemandId == null)
            {
                //if section demand has not been visited yet
                return(RedirectToAction("Jump", "Demand", new { id = proposal.Id }));
            }
            if (pr.PsId != null)
            {
                return(HttpNotFound());
            }
            proposal.IsInEdit    = true;
            proposal.UserEditing = User.Identity.GetUserId();
            _context.SaveChanges();
            var viewModel = new ProgrammeStudyFormViewModel
            {
                Proposal       = proposal,
                ProgrammeStudy = new ProgrammeOfStudy()
            };

            return(View("Form", viewModel));
        }
Ejemplo n.º 4
0
        public ActionResult Edit(int id)
        {
            var proposal = _context.Proposals.SingleOrDefault(c => c.Id == id);

            if (proposal == null || proposal.Submitted)
            {
                return(HttpNotFound());
            }
            if (!proposal.IsEditable(User.Identity.GetUserId()))
            {
                return(HttpNotFound());
            }
            if (proposal.ProgrammeRationaleId == null)
            {
                return(HttpNotFound());
            }

            var pr = _context.ProgrammeRationales.SingleOrDefault(c => c.Id == proposal.ProgrammeRationaleId);

            var programmeStudy = _context.ProgrammeOfStudies.SingleOrDefault(c => c.Id == pr.PsId);

            if (programmeStudy == null)
            {
                return(HttpNotFound());
            }
            proposal.IsInEdit    = true;
            proposal.UserEditing = User.Identity.GetUserId();
            _context.SaveChanges();
            var viewModel = new ProgrammeStudyFormViewModel
            {
                Proposal       = proposal,
                ProgrammeStudy = programmeStudy,
            };

            return(View("Form", viewModel));
        }
Ejemplo n.º 5
0
        public ActionResult Save(ProgrammeStudyFormViewModel vm)
        {
            var programmeStudy = vm.ProgrammeStudy;
            var proposal       = _context.Proposals.SingleOrDefault(m => m.Id == vm.Proposal.Id);

            if (proposal == null)
            {
                return(HttpNotFound());
            }
            if (!proposal.IsEditable(User.Identity.GetUserId()))
            {
                return(HttpNotFound());
            }
            if (proposal.Submitted)
            {
                return(Content("Proposal already submitted"));
            }
            if (!ModelState.IsValid)
            {
                return(View("Form", programmeStudy));
            }

            if (programmeStudy.Id == 0)
            {
                Thread t = new Thread();
                _context.Threads.Add(t);
                programmeStudy.Thread = t;
                _context.ProgrammeOfStudies.Add(programmeStudy);
                var pr = _context.ProgrammeRationales.SingleOrDefault(m => m.Id == proposal.ProgrammeRationaleId);
                pr.PsId             = programmeStudy.Id;
                pr.ProgrammeOfStudy = programmeStudy;
            }
            else
            {
                var psInDb = _context.ProgrammeOfStudies.SingleOrDefault(m => m.Id == programmeStudy.Id);
                psInDb.KnowledgeUnderstanding  = programmeStudy.KnowledgeUnderstanding;
                psInDb.IntellectualDevelopment = programmeStudy.IntellectualDevelopment;
                psInDb.KeyTransferableSkills   = programmeStudy.KeyTransferableSkills;
                psInDb.OtherSkills             = programmeStudy.OtherSkills;
            }

            _context.SaveChanges();
            var jump = Request["jump"];

            switch (jump)
            {
            case "0":
            {
                // Save pressed -> return form
                return(RedirectToAction("Edit", "ProgrammeStudy", new { id = proposal.Id }));
            }

            case "-1":
            {
                // Previous pressed -> return form
                return(RedirectToAction("Edit", "Demand", new { id = proposal.Id }));
            }

            case "1":
            {
                // Next pressed -> return next page
                //return RedirectToAction("Jump", "TentativePs", new { id = proposal.Id });
                return(RedirectToAction("Jump", "TentativePs", new { id = proposal.Id }));
            }

            case "2":
            {
                // Save and exit
                return(RedirectToAction("CloseEdit", "Proposal", new { id = proposal.Id }));
            }

            case "A":
            {
                // A pressed -> go to Section A
                return(RedirectToAction("Edit", "General", new { id = proposal.Id }));
            }

            case "B":
            {
                // B pressed -> go to Section B
                return(RedirectToAction("Jump", "ProgrammeRationale", new { id = proposal.Id }));
            }

            case "C":
            {
                // C pressed -> go to Section C
                return(RedirectToAction("Jump", "ExternalReview", new { id = proposal.Id }));
            }

            case "D":
            {
                // D pressed -> go to Section D
                return(RedirectToAction("Jump", "IncomeExpenditure", new { id = proposal.Id }));
            }

            default:
            {
                return(RedirectToAction("Index", "Proposal"));
            }
            }
        }