public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName = model.Email, Email = model.Email
            };

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

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }

            using (budgetTrackerEntities db = new budgetTrackerEntities()) {
                db.UserInfoes.Add(new UserInfo()
                {
                    Name    = user.UserName,
                    Balance = 0,
                    User_Id = user.Id
                });
                try {
                    db.SaveChanges();
                    return(Ok());
                } catch (Exception e)
                {
                    UserManager.Delete(user);
                    return(BadRequest(e.Message));
                }
            }
        }
Beispiel #2
0
        public static UserInfo GetUser(this ApiController controller, budgetTrackerEntities context)
        {
            var id = controller.User.Identity.GetUserId();

            return(context.UserInfoes.FirstOrDefault(ui => ui.User_Id == id));
        }