public ActionResult Add(UniversityCreateViewModel model) { var universityWithNameExists = this.universities.All().Any(u => u.Name == model.Name); if (universityWithNameExists) { this.ModelState.AddModelError("Existing university", "There is already a university with this name."); } var countryExists = this.countries.All().Any(c => c.Id == model.CountryId); if (!countryExists) { this.ModelState.AddModelError("Nonexisting country", "No such country exists - if you are sure of what you're doing, contact administrator."); } if (this.ModelState.IsValid) { var directorId = this.User.Identity.GetUserId(); this.universities.Create(directorId, model.Name, model.TuitionFee, model.CountryId); return this.RedirectToAction("Index", "Home", null); } model.Countries = new SelectList(this.GetCountries(), "Id", "Name", model.CountryId); return this.View(model); }
public void TestRouteDirectorUniversitiesAddPost() { const string Url = "/Director/Universities/Add"; var model = new UniversityCreateViewModel() { Name = "Something", TuitionFee = 500 }; var jsonBody = JsonConvert.SerializeObject(model); this.RouteCollection .ShouldMap(Url) .WithJsonBody(jsonBody) .To<UniversitiesController>(c => c.Add(model)); }
public ActionResult Add() { var model = new UniversityCreateViewModel(); model.Countries = new SelectList(this.GetCountries(), "Id", "Name", model.CountryId); return this.View(model); }