public async Task <StatusCodes> CreateItemAsync(GroupModel modelObject, string requestId = "") { _logger.LogInformation($"RequestId: {requestId} - Groups_CreateItemAsync called."); Guard.Against.Null(modelObject, nameof(modelObject), requestId); Guard.Against.NullOrEmpty(modelObject.GroupName, nameof(modelObject.GroupName), requestId); try { var entityObject = MapToEntity(modelObject); var result = await _groupsRepository.CreateItemAsync(entityObject, requestId); Guard.Against.NotStatus201Created(result, "Groups_CreateItemAsync", requestId); _logger.LogInformation($"Group created: {modelObject}"); _groupsRepository.CleanCache(); _logger.LogInformation("Cleaned group cache"); userProfileRepository.CleanCache(); _logger.LogInformation("Cleaned user profile cache"); return(result); } catch (Exception ex) { _logger.LogError($"RequestId: {requestId} - Groups_CreateItemAsync Service Exception: {ex}"); throw new ResponseException($"RequestId: {requestId} - Groups_CreateItemAsync Service Exception: {ex}"); } }