public void Execute(SetUserNameRequest request) { using (var db = databaseFactory.CreateNew()) { var result = db.PogoUsers.SingleOrDefault(x => x.UserId == request.UserId); if (result != null) { result.IngameName = request.Name.Length < 200 ? request.Name : request.Name.Substring(0, 200); db.SaveChanges(); } } }
/** * Set user name. */ internal async Task <APIGatewayProxyResponse> SetUserName(IDataStores dataStores, IDictionary <string, string> requestHeaders, JObject requestBody) { Debug.Untested(); Debug.AssertValid(dataStores); Debug.AssertValid(requestHeaders); Debug.AssertValidOrNull(requestBody); try { // Log call LoggingHelper.LogMessage($"UserIdentityService::SetUserName()"); // Get the NoSQL DB client AmazonDynamoDBClient dbClient = (AmazonDynamoDBClient)dataStores.GetNoSQLDataStore().GetDBClient(); Debug.AssertValid(dbClient); // Check inputs SetUserNameRequest setUserNameRequest = UserIdentityService_SetUserName_LogicLayer.CheckValidSetUserNameRequest(requestBody); Debug.AssertValid(setUserNameRequest); // Check authenticated endpoint security string loggedInUserId = await APIHelper.CheckLoggedIn(dbClient, requestHeaders); Debug.AssertID(loggedInUserId); // Perform logic await UserIdentityService_SetUserName_LogicLayer.SetUserName(dbClient, loggedInUserId, setUserNameRequest); // Respond return(new APIGatewayProxyResponse { StatusCode = APIHelper.STATUS_CODE_NO_CONTENT }); } catch (Exception exception) { Debug.Tested(); return(APIHelper.ResponseFromException(exception)); } }
/** * Set user name. */ public static async Task SetUserName(AmazonDynamoDBClient dbClient, string loggedInUserId, SetUserNameRequest setUserNameRequest) { Debug.Tested(); Debug.AssertValid(dbClient); Debug.AssertID(loggedInUserId); Debug.AssertValid(setUserNameRequest); Debug.AssertString(setUserNameRequest.givenName); Debug.AssertString(setUserNameRequest.familyName); // Load the user User user = await IdentityServiceLogicLayer.FindUserByID(dbClient, loggedInUserId); Debug.AssertValid(user); // Make changes (if necessary) if ((user.GivenName != setUserNameRequest.givenName) || (user.FamilyName != setUserNameRequest.familyName) || (user.FullName != setUserNameRequest.fullName) || (user.PreferredName != setUserNameRequest.preferredName)) { user.GivenName = setUserNameRequest.givenName; user.FamilyName = setUserNameRequest.familyName; user.FullName = setUserNameRequest.fullName; user.PreferredName = setUserNameRequest.preferredName; // Save the user await IdentityServiceDataLayer.SaveUser(dbClient, user); } }