public async Task CmdrPicked(PickBanLockModel cmdrLock) { await Clients.OthersInGroup(cmdrLock.Guid.ToString()).SendAsync("CmdrPicked", cmdrLock); GroupStates.AddOrUpdate(cmdrLock.Guid, new PickBanModel() { Guid = cmdrLock.Guid }, (key, oldvalue) => { oldvalue.Picks[cmdrLock.i] = cmdrLock.cmdr; oldvalue.Pos = cmdrLock.i; return(oldvalue); }); }
public async Task CmdrPicked(PickBanLockModel cmdrLock) { Models.AddOrUpdate( cmdrLock.Guid, new HubModel(cmdrLock.Guid, cmdrLock.cmdr, cmdrLock.i), (key, oldvalue) => { oldvalue.SetCmdr(cmdrLock.cmdr, cmdrLock.i); return oldvalue; } ); await Clients.OthersInGroup(cmdrLock.Guid.ToString()).SendAsync("CmdrLocked", Models[cmdrLock.Guid].ViewModel(false)); if (Models[cmdrLock.Guid].Picks.Where(x => !String.IsNullOrEmpty(x)).Count() >= 2) { Models[cmdrLock.Guid].FillWithRandom(random, true); await Clients.Group(cmdrLock.Guid.ToString()).SendAsync("CmdrLocked", Models[cmdrLock.Guid].ViewModel(true)); } }