public async Task <RegistrationResponse> RegisterNewUser([FromBody] RegistrationRequest registrationRequest) { if (await usersClient.IsUserNameExists(registrationRequest.UserName).ConfigureAwait(false)) { return new RegistrationResponse() { Status = RegistrationStatus.UserAlreadyExists, } } ; var newUserId = await usersClient.RegisterNewUserAsync(registrationRequest.UserName, registrationRequest.PasswordHash).ConfigureAwait(false); var newSessionId = await sessionsClient.CreateSessionOnUser(newUserId).ConfigureAwait(false); return(new RegistrationResponse() { Status = RegistrationStatus.Registred, Sid = newSessionId.ToString(), UserName = registrationRequest.UserName }); }