/// <summary> /// Setup view model after post, where user select fruit data (For edit view - httppost) /// </summary> /// <param name="postedRaces"></param> /// <returns></returns> private UltimateViewModel GetRacesModel(UltimateViewModel ultimate, PostedRaces postedRaces) { //Setup properties var rvm = ultimate.RacesViewModel; var selectedRaces = rvm.SelectedRaces; var postedRaceIds = new string[0]; postedRaces = rvm.PostedRaces; if (postedRaces == null) { postedRaces = new PostedRaces(); } //Save selected ids (if array of posted exists and not empty) if (postedRaces.RaceIDs != null && postedRaces.RaceIDs.Any()) { postedRaceIds = postedRaces.RaceIDs; } //Create list of fruits (if any selected ids saved) //if (postedRaceIds.Any()) //{ // //selectedRaces = RaceRepository.GetAll().Where(x => postedRaceIds.Any(s => x.Id.ToString().Equals(s))).ToList(); // selectedRaces = db.Races.Where(x => postedRaceIds.Any(s => x.Id.ToString().Equals(s))).ToList(); //} //Setup view model rvm.AvailableRaces = db.Races.ToList();//RaceRepository.GetAll().ToList(); rvm.SelectedRaces = selectedRaces; rvm.PostedRaces = postedRaces; ultimate.RacesViewModel = rvm; return(ultimate); }
/// <summary> /// Initial view model of all races (edit view - httpget) /// </summary> /// <param name="ultimate"></param> /// <returns>UltimateViewModel</returns> private UltimateViewModel GetRacesInitialModel(UltimateViewModel ultimate, int?thisId) { //setup properties var rvm = ultimate.RacesViewModel; var postedRaces = rvm.PostedRaces; //setup view model rvm.AvailableRaces = db.Races.ToList(); //return everything to model ultimate.RacesViewModel = rvm; return(ultimate); }
// GET: Student/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } UltimateViewModel ultimate = new UltimateViewModel(); var rvm = new RacesViewModel(); rvm.SelectedRaces = new List <Races>(); Student student = db.Students.Find(id); if (student == null) { return(HttpNotFound()); } //View Bags for Dropdowns ViewBag.GendersIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Gender"), "Id", "Name"); ViewBag.DegreeProgramsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name"); ViewBag.TracksIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Track"), "Id", "Name"); ViewBag.PlansIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Plan"), "Id", "Name"); ViewBag.DegreeStartSemsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Season"), "Id", "Name"); ViewBag.CitizenshipStatsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "CitizenshipStatus"), "Id", "Name"); ViewBag.EmploymentStatsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "EmploymentStatus"), "Id", "Name"); ViewBag.MsctrFacultyIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty").OrderBy(o => o.DisplayOrder), "Id", "Name"); ViewBag.MsctrFacultyIdBag2 = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty" && o.Name != "Other").OrderBy(o => o.DisplayOrder), "Id", "Name"); ViewBag.Student = student; ViewBag.StudentID = student.Id; ViewBag.Age = student.Age; ViewBag.StudentCVs = db.Files.Where(g => g.CurriculumVitae.StudentID == id); //Initialize selectedRaces var racesToPost = new List <Races>(); foreach (var item in student.PersonRaces.Where(x => x.StudentID == id && x.IsSelectedPR.Equals(true))) { racesToPost.Add(item.Race); } //setup ultimate view model rvm.SelectedRaces = racesToPost; ultimate.RacesViewModel = rvm; ultimate.Student = student; return(View(GetRacesInitialModel(ultimate, id))); }
/// <summary> /// Initial view model of all races (create view - httpget) /// </summary> /// <returns>UltimateViewModel</returns> private UltimateViewModel GetRacesInitialModel() { //setup properties var model = new UltimateViewModel(); var rvm = new RacesViewModel(); var selectedRaces = new List <Races>(); //setup view model rvm.AvailableRaces = RaceRepository.GetAll().ToList(); rvm.SelectedRaces = selectedRaces; //return everything to model model.RacesViewModel = rvm; return(model); }
// GET: Student/Create public ActionResult Create() { ViewBag.ConcentrationId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Concentration"), "Id", "Name"); ViewBag.DegreeProgramId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name"); ViewBag.GenderId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Gender"), "Id", "Name"); //ViewBag.RaceEthnicityId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Race/Ethnicity"), "Id", "Name"); ViewBag.RaceEthnicity = new SelectList(db.Graduate_Races, "Id", "Name"); ViewBag.TrackId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Track"), "Id", "Name"); ViewBag.DegreeId = new SelectList(db.Graduate_PrevDegree, "Id", "Title"); UltimateViewModel ultimate = new UltimateViewModel(); RacesViewModel rvm = ultimate.Races_ViewModel; rvm.AvailableRaces = db.Graduate_Races.ToList(); rvm.SelectedRaces = new List <Graduate_Races>(); rvm.PostedRaces = new PostedRaces { RaceIDs = new string[0] }; //AddRaceVM addRaceModel = new AddRaceVM(); //var allRaces = db.Graduate_Races.ToList(); //var checkBoxListItems = new List<CheckBoxListItem>(); //foreach (var race in allRaces) //{ // checkBoxListItems.Add(new CheckBoxListItem() // { // ID = race.Id, // Display = race.Name, // IsChecked = false //On the add view, no races are selected by default // }); //} //addRaceModel.Races = checkBoxListItems; //ultimate.AddRace_ViewModel = addRaceModel; ultimate.Races_ViewModel = rvm; return(View(ultimate)); }
public ActionResult Ultimate(UltimateViewModel model = null) { return(this.View(model ?? new UltimateViewModel())); }
public ActionResult Create(/*[Bind(Include = "Id,StudentNumber,FirstName,MiddleName,LastName,SchoolEmail,OtherEmail,Phone,GenderId,DegreeId,RaceOther,DegreeProgramId,ConcentrationId,TrackId,DegreeStart,DegreeEnd")]*/ UltimateViewModel ultimate) { if (ModelState.IsValid) { try { db.Graduate_Student.Add(ultimate.Graduate_Student_Model); db.SaveChanges(); } catch (DbEntityValidationException ex) { foreach (var entityValidationErrors in ex.EntityValidationErrors) { foreach (var validationError in entityValidationErrors.ValidationErrors) { Response.Write("Property: " + validationError.PropertyName + "Error: " + validationError.ErrorMessage); Response.Write("<script>alert('WARNING! THE SYSTEM HAS FOUND A VALIDATION ERROR! Please inspect the validation error!')</script>"); } } } return(RedirectToAction("Index")); } ViewBag.ConcentrationId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Concentration"), "Id", "Name", ultimate.Graduate_Student_Model.ConcentrationId); ViewBag.DegreeProgramId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name", ultimate.Graduate_Student_Model.DegreeProgramId); ViewBag.GenderId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Gender"), "Id", "Name", ultimate.Graduate_Student_Model.GenderId); //ViewBag.RaceEthnicityId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Race/Ethnicity"), "Id", "Name", graduate_Student.RaceEthnicityId); ViewBag.RaceEthnicity = new SelectList(db.Graduate_Races, "Id", "Name"); ViewBag.TrackId = new SelectList(db.Graduate_CommonFields.Where(o => o.Category == "Track"), "Id", "Name", ultimate.Graduate_Student_Model.TrackId); ViewBag.DegreeId = new SelectList(db.Graduate_PrevDegree, "Id", "Title", ultimate.Graduate_Student_Model.DegreeId); return(View(ultimate)); }
public ActionResult Edit(/*[Bind(Include = "Id,StudentNumber,FirstName,MiddleName,LastName,SchoolEmail,OtherEmail,Phone,GendersId,RaceOther,DegreeProgramsId,TracksId,DegreeStart,DegreeEnd")] Student student*/ UltimateViewModel ultimate, PostedRaces postedRaces) { try { if (ModelState.IsValid) { db.Entry(ultimate.Student).State = EntityState.Modified; //Initiate postedRaces; postedRaces = ultimate.RacesViewModel.PostedRaces; //Create current/previously-checked race list var currPRList = db.PersonRaces.Where(s => s.StudentID == ultimate.Student.Id && s.IsSelectedPR.Equals(true)).ToList(); var currRaceList = new List <Races>(); foreach (var item in currPRList) { currRaceList.Add(item.Race); } //Create new checked race list var newList = new List <Races>(); foreach (var item in postedRaces.RaceIDs) { int raceId = Int32.Parse(item); var race = db.Races.Where(s => s.Id == raceId).ToList().Single(); newList.Add(race); } //Iterate through new items; if there are no new items in current list, add them foreach (var nItem in newList) { if (!currRaceList.Contains(nItem)) { var personRace = new PersonRaces(); int raceId = nItem.Id; var race = db.Races.Where(s => s.Id == raceId).ToList().Single(); personRace.Student = ultimate.Student; personRace.Race = race; personRace.IsSelectedPR = true; db.PersonRaces.Add(personRace); db.SaveChanges(); } } //Iterate through the current items; if there are no item in new list, delete them foreach (var cItem in currRaceList) { if (!newList.Contains(cItem)) { var race = db.Races.Where(s => s.Id == cItem.Id).ToList().Single(); var prEntity = db.PersonRaces.SingleOrDefault(s => s.StudentID == ultimate.Student.Id && s.RaceID == cItem.Id && s.IsSelectedPR.Equals(true)); prEntity.IsSelectedPR = false; db.SaveChanges(); } } ultimate.RacesViewModel.SelectedRaces = newList; db.SaveChanges(); return(RedirectToAction("Edit", "Student", new { id = ultimate.Student.Id })); } } catch (DataException /*dex*/) { //Log the error (uncomment dex cariable name and ad a line here to write a log. ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, please see your system administrator."); } //View Bags for Dropdowns ViewBag.GendersIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Gender"), "Id", "Name"); ViewBag.DegreeProgramsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name"); ViewBag.DegreeProgramsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name"); ViewBag.TracksIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Track"), "Id", "Name"); ViewBag.DegreeStartSemsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Season"), "Id", "Name"); ViewBag.CitizenshipStatsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "CitizenshipStatus"), "Id", "Name"); ViewBag.MsctrFacultyIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty").OrderBy(o => o.DisplayOrder), "Id", "Name"); ViewBag.MsctrFacultyIdBag2 = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty" && o.Name == "Other").OrderBy(o => o.DisplayOrder), "Id", "Name"); return(View(GetRacesModel(ultimate, postedRaces))); }
public ActionResult Create(/*[Bind(Include = "StudentNumber,FirstName,MiddleName,LastName,SchoolEmail,OtherEmail,Phone,GendersId,RaceOther,DegreeProgramsId,TracksId,DegreeStart,DegreeEnd")] Student student,*/ UltimateViewModel ultimate) { try { if (ModelState.IsValid) { //Add recorded student db.Students.Add(ultimate.Student); ultimate.RacesViewModel.AvailableRaces = db.Races.ToList(); //For current student, add to personRaceTable, student id number and postedRace number foreach (var item in ultimate.RacesViewModel.PostedRaces.RaceIDs) { var personRace = new PersonRaces(); int raceId = Int32.Parse(item); var race = db.Races.Where(s => s.Id == raceId).ToList().Single(); personRace.Student = ultimate.Student; personRace.Race = race; personRace.IsSelectedPR = true; db.PersonRaces.Add(personRace); db.SaveChanges(); } db.SaveChanges(); return(RedirectToAction("Edit", "Student", new { id = ultimate.Student.Id })); //return RedirectToAction("Index"); } } catch (DataException /*dex*/) { //Log the error (uncomment dex cariable name and add a line here to write a log. ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, please see your system administrator."); } //View Bags for Dropdowns ViewBag.GendersIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Gender"), "Id", "Name"); ViewBag.DegreeProgramsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "DegreeProgram"), "Id", "Name"); ViewBag.TracksIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Track"), "Id", "Name"); ViewBag.PlansIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Plan"), "Id", "Name"); ViewBag.DegreeStartSemsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "Season"), "Id", "Name"); ViewBag.CitizenshipStatsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "CitizenshipStatus"), "Id", "Name"); ViewBag.EmploymentStatsIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "EmploymentStatus"), "Id", "Name"); ViewBag.MsctrFacultyIdBag = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty").OrderBy(o => o.DisplayOrder), "Id", "Name"); ViewBag.MsctrFacultyIdBag2 = new SelectList(db.CommonFields.Where(o => o.Category == "MsctrFaculty" && o.Name != "Other").OrderBy(o => o.DisplayOrder), "Id", "Name"); return(View(GetRacesModel(ultimate))); }