private void ProcessTurnInternal(int gameId, ProcessTurnDto processTurnDtoData) { var gameService = _services.Resolve<IGameService>(); gameService.LoadGame(new LoadGameData { GameId = gameId }); var actionData = processTurnDtoData.ToData(); gameService.ProcessTurn(actionData); gameService.SaveGame(); }
public static ICollection<string> IsValid(ProcessTurnDto dtoData) { var output = new List<string>(); if(dtoData == null) { AddError(output, nameof(ProcessTurnDto)); return output; } if(dtoData.Actions == null) { AddError(output, nameof(ProcessTurnDto), nameof(dtoData.Actions)); } foreach(var action in dtoData.Actions) { if(!Utilities.ContainsValue(action.ActionTypeId, ActionType.None)) { AddError(output, nameof(ProcessTurnDto), nameof(action.ActionTypeId), action.ActionTypeId); } if(action.Data == null || !action.Data.Any()) { AddError(output, nameof(ProcessTurnDto), nameof(action.Data), action.Data?.Count); } foreach(var data in action.Data) { if(data.Value == null) { AddError(output, nameof(ProcessTurnDto), nameof(action.Data), data.Value); } } } return output; }