public ActionResult Create(ProjectOffering model) { // Make sure the user is logged in and that they have permission if (!IsUserLoggedIn) { return(RedirectToLogin()); } if (!UserHasPermission(PermissionName.ProjectOffering)) { return(RedirectToPermissionDenied()); } if (ModelState.IsValid) { try { //Validate values of Project and UnitOffering db.GetProject(model.ProjectId); db.GetUnitOffering(model.UnitOfferingId); ProjectOfferingProcessor.InsertProjectOffering( model.ProjectId, model.UnitOfferingId); // If Insert successful return to index return(RedirectToAction("Index")); } catch (Exception e) { // Show DataLayer errors ModelState.AddModelError("", e.Message); } } else { // Show ModelState errors var errors = ModelState.Values.SelectMany(v => v.Errors); } var projectOffering = new ProjectOffering( ); // Generate drop down lists for each field. ViewBag.UnitofferingId = new SelectList(projectOffering.GetUnitOfferings( ), "UnitOfferingId", "UnitName", null); ViewBag.ProjectId = new SelectList(projectOffering.GetProjects( ), "ProjectId", "Name", null); // Navigate to View return(View( )); }
public ActionResult Delete(ProjectOffering projectOffering) { // Make sure the user is logged in and that they have permission if (!IsUserLoggedIn) { return(RedirectToLogin()); } if (!UserHasPermission(PermissionName.ProjectOffering)) { return(RedirectToPermissionDenied()); } try { if (db.GetProjectOffering(projectOffering.ProjectOfferingId) == null) { throw new DataException("This Project Offering does not exist."); } var existingTeams = TeamProcessor.SelectTeamsForProjectOfferingId(projectOffering.ProjectOfferingId); foreach (var team in existingTeams) { TeamProcessor.DeleteTeam(team.TeamId); } int rowsDeleted = ProjectOfferingProcessor.DeleteProjectOffering(projectOffering.ProjectOfferingId); if (rowsDeleted <= 0) { throw new DataException("Unable to Delete ProjectOffering."); } // If delete successful return to Index return(RedirectToAction("Index")); } catch (Exception e) { // Show any errors ModelState.AddModelError("", e.Message); } // If unsuccessful return to View return(View(db)); }
public ActionResult Details(int?id) { // Make sure the user is logged in and that they have permission if (!IsUserLoggedIn) { return(RedirectToLogin()); } if (!UserHasPermission(PermissionName.ProjectOffering)) { return(RedirectToPermissionDenied()); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { int projectOfferingId = ( int )id; var projectOfferingModel = ProjectOfferingProcessor.SelectProjectOfferingForProjectOfferingId(projectOfferingId); if (projectOfferingModel == null) { return(RedirectToIndexIdNotFound(projectOfferingId)); } var project = ProjectProcessor.GetProject(projectOfferingModel.ProjectId); var unitOffering = UnitOfferingProcessor.SelectUnitOfferingForUnitOfferingId(projectOfferingModel.UnitOfferingId); var teams = TeamProcessor.SelectTeamsForProjectOfferingId(projectOfferingModel.ProjectOfferingId); var projectOffering = new ProjectOffering(projectOfferingModel, project, unitOffering, teams); return(View(projectOffering)); } catch (Exception e) { return(RedirectToIndex(e)); } }
public ActionResult Create( ) { // Make sure the user is logged in and that they have permission if (!IsUserLoggedIn) { return(RedirectToLogin()); } if (!UserHasPermission(PermissionName.ProjectOffering)) { return(RedirectToPermissionDenied()); } ViewBag.Message = "Create New Unit"; var projectOffering = new ProjectOffering( ); // Generate drop down lists for each field. ViewBag.UnitofferingId = new SelectList(projectOffering.GetUnitOfferings( ), "UnitOfferingId", "UnitName", null); ViewBag.ProjectId = new SelectList(projectOffering.GetProjects( ), "ProjectId", "Name", null); // Navigate to View return(View( )); }