public ActionResult Index(int id) { var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id); if (proposal == null || proposal.Submitted) { return(HttpNotFound()); } if (!proposal.IsEditable(User.Identity.GetUserId())) { return(HttpNotFound()); } var ie = _context.IncomeExpenditures.SingleOrDefault(m => m.Id == proposal.IncomeExpenditureId); var statements = ie.GetStatements(); proposal.IsInEdit = true; proposal.UserEditing = User.Identity.GetUserId(); _context.SaveChanges(); var viewModel = new IncomeExpenditureIndexViewModel { Proposal = proposal, Statements = statements }; return(View(viewModel)); }
public ActionResult Index(int id) { var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id); if (proposal == null || proposal.Submitted) { return(HttpNotFound()); } var ie = _context.IncomeExpenditures.SingleOrDefault(m => m.Id == proposal.IncomeExpenditureId); var statements = ie.GetStatements(); var viewModel = new IncomeExpenditureIndexViewModel { Proposal = proposal, Statements = statements }; return(View(viewModel)); }
public ActionResult Submit(int id) { var proposal = _context.Proposals.SingleOrDefault(m => m.Id == id); string errorMessage = null; if (proposal == null) { return(HttpNotFound()); } if (proposal.GeneralId == null) { errorMessage = "Section A not filled in yet."; } else if (proposal.ProgrammeRationaleId == null) { errorMessage = "Section B not filled in yet."; } else if (proposal.ExternalReviewId == null) { errorMessage = "Section C not filled in yet."; } else if (proposal.IncomeExpenditureId == null) { errorMessage = "Section D not filled in yet."; } else { var general = proposal.General; var pr = proposal.ProgrammeRationale; var er = proposal.ExternalReview; var ie = proposal.IncomeExpenditure; if (general.GetErrorMessage() != null) { errorMessage = general.GetErrorMessage(); } else if (pr.GetErrorMessage() != null) { errorMessage = pr.GetErrorMessage(); } else if (er.GetErrorMessage() != null) { errorMessage = er.GetErrorMessage(); } else if (ie.GetErrorMessage() != null) { errorMessage = ie.GetErrorMessage(); } } if (errorMessage != null) { // an error is present var ie = _context.IncomeExpenditures.SingleOrDefault(m => m.Id == proposal.IncomeExpenditureId); var statements = ie.GetStatements(); var viewModel = new IncomeExpenditureIndexViewModel { Proposal = proposal, Statements = statements, ErrorMessage = errorMessage }; return(View("../IncomeExpenditure/Index", viewModel)); } else { proposal.Submitted = true; _context.SaveChanges(); return(RedirectToAction("Index", "Proposal")); } }