コード例 #1
0
 public async Task <RoundState[]> GetStatusAsync(CancellationToken cancellationToken)
 {
     using (await AsyncLock.LockAsync(cancellationToken).ConfigureAwait(false))
     {
         return(Rounds.Select(x => RoundState.FromRound(x)).ToArray());
     }
 }
コード例 #2
0
 public void DisposeAllAliceClients()
 {
     lock (StateLock)
     {
         foreach (var aliceClient in Rounds?.Select(x => x?.Registration?.AliceClient))
         {
             aliceClient?.Dispose();
         }
     }
 }
コード例 #3
0
 public Tableau VersModeleTableau()
 {
     return(new Tableau
     {
         Id = Id,
         Nom = Nom,
         Niveau = Niveau,
         Rounds = Rounds.Select(r => r.VersModeleRound())
     });
 }
コード例 #4
0
        public bool AnyCoinsQueued()
        {
            lock (StateLock)
            {
                if (WaitingList.Any())
                {
                    return(true);
                }

                foreach (var coins in Rounds.Select(x => x.CoinsRegistered))
                {
                    if (coins.Any())
                    {
                        return(true);
                    }
                }

                return(false);
            }
        }
コード例 #5
0
ファイル: RoundSchedule.cs プロジェクト: b1ff/RoundScheduler
        private void SaveRounds()
        {
            if (Rounds.IsNullOrEmpty())
            {
                return;
            }

            var fileName = FileDialogService.FileNameFromSaveFileDialog(ProgramTexts.FileDialog_XmlFileFilter);

            if (fileName.IsNullOrEmpty())
            {
                return;
            }

            using (var sw = new StreamWriter(fileName))
            {
                var roundsToSerialize = Rounds.Select(x => new RoundSerializable(x)).ToList();
                _roundsSerializer.Serialize(sw, roundsToSerialize);
            }
        }