public void TestRouteStudentApplicationsSubmit() { const string Url = "/Student/Applications/Submit"; var model = new ApplicationInputViewModel() { MajorId = 1, UniversityId = 1 }; var jsonBody = JsonConvert.SerializeObject(model); this.RouteCollection .ShouldMap(Url) .WithJsonBody(jsonBody) .To<ApplicationsController>(c => c.Submit(model)); }
public Application(ApplicationInputViewModel obj) { ApplicationName = obj.ApplicationName; Description = obj.Description; CreateUserId = obj.CreateUserId; CreateDate = obj.CreateDate; if (obj.UpdateUserId != null) { UpdateUserId = obj.UpdateUserId; } if (obj.UpdateDate != null) { UpdateDate = obj.UpdateDate; } }
public ActionResult Submit(ApplicationInputViewModel model) { var studentId = this.User.Identity.GetUserId(); var hasApplied = this.applications .All() .Where(a => a.UniversityId == model.UniversityId && a.StudentId == studentId) .Any(); if (hasApplied) { return this.PartialView("_AlreadyApplied"); } var eligiblity = this.studentInfos.IsEligibleToApply(studentId, model.UniversityId); if (!eligiblity.IsEligible) { this.ModelState.AddModelError("Eligiblity", eligiblity.Message); } else { var major = this.majors.GetById(model.MajorId); if (major == null) { this.ModelState.AddModelError("Major", "There is no such major."); } } if (this.ModelState.IsValid) { this.applications.Create(studentId, model.UniversityId, model.MajorId); return this.PartialView("_SuccessfullySubmitted"); } return this.PartialView("_Error", model); }
public ActionResult ApplicationForm(int id) { var model = new ApplicationInputViewModel(); var majorsList = this.Cache.Get("Majors", () => this.majors.All().ToList(), 60 * 60); model.Majors = new SelectList(majorsList, "Id", "Name", model.MajorId); model.UniversityId = id; return this.PartialView("_ApplicationForm", model); }