public ActionResult Express(ExpressInterestViewModel model) { if (!ModelState.IsValid) { return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } if (playerHelper.NumberOfUsersWithGivenEmail(model.EmailAddress) > 0) { ModelState.AddModelError("EmailAddress", "An expression of interest with that email address already exists"); return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } var date = new DateTime(); if (!playerHelper.ParseDate(model.SelectedDay, model.SelectedMonth, model.SelectedYear, out date)) { ModelState.AddModelError("DateOfBirth", "You have entered an invalid date."); return(View("~/Views/Player/Interested/Express.cshtml", playerHelper.BuildExpressInterestModel(model))); } model.DateOfBirth = date; MemberRoleDataModel roleDataModel = memberHelper.CreateNewMemberRoleIfNotExist("interested"); var userIdentity = new MemberIdentityDataModel { FirstName = model.FirstName, LastName = model.LastName, DateOfBirth = model.DateOfBirth, Gender = model.SelectedGender, Email = model.EmailAddress.ToLower(), Phone = model.PhoneNumber, Roles = new List <MemberRoleDataModel> { roleDataModel } }; var userId = memberHelper.CreateNewMemberIdentity(userIdentity); playerHelper.CreateNewExpressionOfInterest(model, userId); model.Submitted = true; return(View("~/Views/Player/Interested/Express.cshtml", model)); }
public MemberRoleDataModel CreateNewMemberRoleIfNotExist(string name) { var model = dbContext.MemberRoles.FirstOrDefault(r => r.Name == name); if (model == null) { model = new MemberRoleDataModel() { Name = name }; dbContext.MemberRoles.Add(model); dbContext.SaveChanges(); } return(model); }