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));
        }
示例#2
0
        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);
        }