public async Task <PlayfieldState> CreatePlayfieldStateAsync(CreatePlayfieldState createPlayfieldState)
        {
            var playfieldState = new PlayfieldState(createPlayfieldState.State);

            playfieldState.GenerateBaseOptions();

            context.PlayfieldStates.Add(playfieldState);
            await context.SaveChangesAsync().ConfigureAwait(false);

            return(playfieldState);
        }
        public async Task <IActionResult> CreatePlayfieldState(CreatePlayfieldStateRequestDto createPlayfieldStateDto)
        {
            var createPlayfieldState = new CreatePlayfieldState()
            {
                State = createPlayfieldStateDto.State
            };

            var createdPlayfieldState = await this.playfieldStatesService.CreatePlayfieldStateAsync(createPlayfieldState);

            // https://docs.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-3.1
            return(CreatedAtAction(nameof(GetById), new { id = createdPlayfieldState.Id }, createdPlayfieldState));
        }