public List <GameResult> Convert(SaveGameResultMessage source, List <GameResult> destination, ResolutionContext context) { return(source.gameWinPoints?.Select(x => new GameResult() { PlayerID = source.PlayerID, GameID = x.GameID, WinPoints = x.WinPoints, GameTimestamp = x.GameTimestamp.Ticks, })?.ToList() ?? new List <GameResult>()); }
public async Task <ServiceResult> Save(SaveGameResultMessage message) { var gameResults = Mapper.Map <List <GameResult> >(message); var errorMessages = new List <string>(); var allValid = true; gameResults.ForEach(x => { var result = Validator.Validate(x); errorMessages.AddRange(result.Errors?.Select(e => e.ErrorMessage)); allValid = allValid && result.IsValid; }); if (!allValid) { return(new ServiceResult().Invalid().WithErrors(errorMessages)); } var response = MemoryStorageService.StoreInMemory(gameResults); return(response); }
public async Task <ServiceResult> Insert([FromServices] IGameResultService service, SaveGameResultMessage message) { return(await service.Save(message)); }