public DatabaseResponse Post(UserRequest request, string username) { var user = this.GetLMConnectUser(); var database = request.GetDatabase(user); if (user == null) { var owner = NotRegisteredUser.FromRequest(this.Request.Content.Headers); if (owner != null) { // user to be registered user = new LMConnect.Key.User { Username = owner.Username, Password = owner.Password }; this.Repository.Add(user); } else { return ThrowHttpReponseException<DatabaseResponse>( "No user for database.", HttpStatusCode.BadRequest); } } if (database != null) { user.Databases.Add(database); this.Repository.Save(database); return new DatabaseResponse(database); } return ThrowHttpReponseException<DatabaseResponse>( "No database to register", HttpStatusCode.BadRequest); }
public UserResponse Post(UserRequest request) { var user = this.Repository.Query<LMConnect.Key.User>() .FirstOrDefault(u => u.Username == request.name && u.Password == request.Password); if (user == null) { user = request.GetUser(); this.Repository.Add(user); } var database = request.GetDatabase(user); if (database != null) { user.Databases.Add(database); } this.Repository.Save(user); return new UserResponse(user); }