public HttpResponseMessage RegisterUser(UserModel model) { return(this.ExecuteOperationAndHandleExceptions(() => { this.ValidateUser(model); this.ValidateEmail(model.Email); var context = new TasksManagerDbContext(); var dbUser = GetUserByUsernameOrEmail(model, context); if (dbUser != null) { throw new InvalidOperationException("This user already exists in the database"); } dbUser = new User() { Username = model.Username, Email = model.Email, AuthenticationCode = model.AuthCode }; context.Users.Add(dbUser); context.SaveChanges(); var responseModel = new RegisterUserResponseModel() { Id = dbUser.Id, Username = dbUser.Username, }; var response = this.Request.CreateResponse(HttpStatusCode.Created, responseModel); return response; })); }
public HttpResponseMessage RegisterUser(UserModel model) { return this.ExecuteOperationAndHandleExceptions(() => { this.ValidateUser(model); this.ValidateEmail(model.Email); var context = new ApplicationDbContext(); var dbUser = this.GetUserByUsernameOrEmail(model, context); if (dbUser != null) { throw new InvalidOperationException("This user already exists in the database"); } dbUser = new User() { Username = model.Username, Email = model.Email, AuthenticationCode = model.AuthCode }; context.Users.Add(dbUser); context.SaveChanges(); var responseModel = new RegisterUserResponseModel() { Id = dbUser.Id, Username = dbUser.Username, AccessToken=dbUser.AccessToken }; var response = this.Request.CreateResponse(HttpStatusCode.Created, responseModel); return response; }); }