Esempio n. 1
0
        private bool ConfirmAccount(string confirmationToken)
        {
            MwaDBContext context = new MwaDBContext();
            MechWarrior  user    = context.Users.SingleOrDefault(u => u.ConfirmationToken == confirmationToken);

            if (user != null)
            {
                user.IsConfirmed = true;
                DbSet <MechWarrior> dbSet = context.Set <MechWarrior>();
                dbSet.Attach(user);
                context.Entry(user).State = EntityState.Modified;
                context.SaveChanges();

                return(true);
            }
            return(false);
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> RegisterExternal(RegisterExternalBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);

            if (externalLogin == null)
            {
                return(InternalServerError());
            }

            var user = new MechWarrior
            {
                UserName      = model.UserName,
                Email         = model.Email,
                FactionName   = model.FactionName,
                RegimentName  = model.RegimentName,
                BattalionName = model.BattalionName,
                CompanyName   = model.CompanyName,
                LanceName     = model.LanceName,
                RankName      = model.RankName,
                ImageUrl      = model.ImageUrl
            };

            user.Logins.Add(new IdentityUserLogin
            {
                LoginProvider = externalLogin.LoginProvider,
                ProviderKey   = externalLogin.ProviderKey
            });
            IdentityResult result = await UserManager.CreateAsync(user);

            IHttpActionResult errorResult = GetErrorResult(result);

            if (errorResult != null)
            {
                return(errorResult);
            }

            return(Ok());
        }
Esempio n. 3
0
        public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            string confirmationToken = CreateConfirmationToken();
            var    user = new MechWarrior
            {
                UserName          = model.UserName,
                Email             = model.Email,
                FactionName       = model.FactionName,
                RegimentName      = model.RegimentName,
                BattalionName     = model.BattalionName,
                CompanyName       = model.CompanyName,
                LanceName         = model.LanceName,
                RankName          = model.RankName,
                ImageUrl          = model.ImageUrl,
                ConfirmationToken = confirmationToken,
                IsConfirmed       = false
            };



            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                SendEmailConfirmation(model.Email, model.UserName, confirmationToken);
                return(Ok());
            }
            IHttpActionResult errorResult = GetErrorResult(result);

            if (errorResult != null)
            {
                return(errorResult);
            }


            return(Ok());
        }