private Task UpdateGameStateForReadData(string id, GameStateModel state) { IRepository <Game> repository = Repository; UpdateGameStateDataModel gameState = new UpdateGameStateDataModel { Status = state.Status, RedCastleAmount = state.Castles?.Count(e => e.Army == Army.Red) ?? 0, BlueCastleAmount = state.Castles?.Count(e => e.Army == Army.Blue) ?? 0, NeutrualCastleAmount = state.Castles?.Count(e => e.Army == Army.Neutrual) ?? 0 }; return(repository.UpdateStateAsync(id, gameState)); }
public static Task UpdateStateAsync(this IRepository <Game> repository, string id, UpdateGameStateDataModel state) { return(repository.Collection.UpdateOneAsync(e => e.Id == id, Builders <Game> .Update.Set(e => e.Status, state.Status).Set(e => e.RedCastleAmount, state.RedCastleAmount).Set(e => e.BlueCastleAmount, state.BlueCastleAmount).Set(e => e.NeutrualCastleAmount, state.NeutrualCastleAmount))); }