internal int CreateUniversity(NewUniversityViewModel model, string userId) { using (var db = new ErasmusDbContext()) { var user = db.Users.SingleOrDefault(x => x.Id == userId); var uni = db.Universities.Add(new University() { Name = model.Name, Address = model.Address, City = model.City, Country = model.Country, ErasmusCode = model.ErasmusCode }); db.SaveChanges(); user.UniversityId = uni.Id; db.SaveChanges(); db.UserPermissions.Add(new UserPermissions() { UserId = userId, UniversityId = uni.Id }); db.SaveChanges(); return(uni.Id); } }
public ActionResult NewUniversity(NewUniversityViewModel model) { try { if (ModelState.IsValid) { var uniId = _uniAdminBusinessLogic.CreateUniversity(model, User.Identity.GetUserId()); ViewData.Add("LastActionResult", "University created"); var Identity = User.Identity as ClaimsIdentity; Identity.RemoveClaim(Identity.FindFirst("UniversityId")); Identity.AddClaim(new Claim("UniversityId", uniId.ToString())); var authenticationManager = System.Web.HttpContext.Current.GetOwinContext().Authentication; authenticationManager.AuthenticationResponseGrant = new AuthenticationResponseGrant(new ClaimsPrincipal(Identity), new AuthenticationProperties() { IsPersistent = true }); return(RedirectToActionPermanent("Universities")); } return(View(model)); } catch (Exception e) { return(Json(new { result = "ERROR", message = e.Message }, JsonRequestBehavior.AllowGet)); } }
public NewUniversityViewModel GetNewUniversityViewModel() { var model = new NewUniversityViewModel(); using (var db = new ErasmusDbContext()) { model.Faculties = new SelectList(db.Faculties.Where(x => x.UniversityId == null).ToList().Select(x => new KeyValueIntStr() { Key = x.Id, Value = x.Name }), "Key", "Value"); } return(model); }
public ActionResult NewUniversity(NewUniversityViewModel model) { try { if (ModelState.IsValid) { _adminBusinessLogic.CreateUniversity(model); ViewData.Add("LastActionResult", "University created"); return(RedirectToActionPermanent("Universities")); } return(View(model)); } catch (Exception e) { return(Json(new { result = "ERROR", message = e.Message }, JsonRequestBehavior.AllowGet)); } }
public void CreateUniversity(NewUniversityViewModel model) { using (var db = new ErasmusDbContext()) { var faculties = db.Faculties.Where(x => model.SelectedFaculties.Contains(x.Id)).ToList(); if (faculties.Count != model.SelectedFaculties.Count) { throw new ValidationException("Some faculties were not found."); } db.Universities.Add(new University() { Faculties = faculties, Name = model.Name, Address = model.Address, City = model.City, Country = model.Country, ErasmusCode = model.ErasmusCode }); db.SaveChanges(); } }