async Task ExecuteLoadJogadoresCommand() { if (IsBusy) { return; } IsBusy = true; try { Jogadores.Clear(); var items = await JogadorDataStore.GetItemsAsync(true); foreach (var item in items) { Jogadores.Add(item); } JogadorDataStore.Listen(Jogadores); } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
public FIFACupStats() { StreamReader rd = new StreamReader(CSVFilePath); string linha = null; rd.ReadLine(); var i = 0; while ((linha = rd.ReadLine()) != null) { ++i; var palavras = linha.Split(','); try { var jogador = new Jogador(); jogador.Nacionalidade = palavras[14]; jogador.Club = palavras[3]; jogador.Nome = palavras[2]; jogador.Rescisao = string.IsNullOrEmpty(palavras[18]) ? 0 : Convert.ToDouble(palavras[18].Replace(".", ",")); jogador.Nascimento = Convert.ToDateTime(palavras[8]); jogador.Salario = Convert.ToDouble(palavras[17]); jogador.Idade = Convert.ToInt32(palavras[6]); Jogadores.Add(jogador); } catch (Exception ex) { throw new Exception($"Erro ao criar jogador linha {i}, {palavras[18]}", ex); } } }
public Jogador AdicionarJogador(string id, string name) { Jogador jogador = null; if (Jogadores.Count == 0) { jogador = new JogadorA(); } else if (Jogadores.Count == 1) { jogador = new JogadorB(); } else if (Jogadores.Count < 6) { jogador = new JogadorC(); } if (Jogadores.Count < 6) { jogador.Id = id; jogador.Name = name; Jogadores.Add(jogador); return(jogador); } return(null); }
public void AdicionarJogador(string nomeDoJogador) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nomeDoJogador), "Jogador inicial da partida é obrigatório"); ExcecaoDeDominio.Quando(Jogadores.Count == 4, "Uma partida não pode ter mais que 4 jogadores"); Jogadores.Add(new Jogador(nomeDoJogador, SelecionarEquipeDoJogador())); }
public void QuestaoRepondida(Jogador jogador, Questao questao, DateTime dataHora, string alternativa) { Jogadores.Add(jogador); Questoes.Add(questao); RespostasQuestoes.Add(new RespostaQuestao() { Jogador = jogador, Questao = questao, DataHora = dataHora, Alternativa = alternativa }); }
public void CarregarLista() { var listar = _servico.listar(); if (listar != null) { foreach (var itens in listar) { Jogadores.Add(itens); } } }
/// <summary> /// Salva a pontuação do jogador no arquivo de placar /// </summary> public void SalvarPontuacao() { if (Registrar) { string Aux = File.ReadAllText(FilePath); File.WriteAllText(FilePath, Aux); using (StreamWriter st = File.AppendText(FilePath)) { st.WriteLine(Jogador.Nome + "=" + Jogador.Pontuacao); } Jogadores.Add(new Player(Jogador.Nome, Jogador.Pontuacao)); } }
/// <summary> /// Inclui um novo jogador se houver espaço na mesa. Cada mesa pode ter no máximo nove jogadores /// </summary> /// <param name="nomeJogadorEsperado">Nome do jogador que será incluído</param> /// <returns>Retorna true caso o jogador tenha sido incluído com sucesso. Caso contrário, false </returns> public bool IncluirJogador(string nomeJogador) { if (Jogadores.Count < _quantidadeMaximaDeJogadoresPermitidos && Status == StatusMesa.Aguardando) { int idNovoJogador = (Jogadores.OrderByDescending(j => j.Id).FirstOrDefault()?.Id ?? 0) + 1; Jogadores.Add(new Jogador(idNovoJogador, nomeJogador)); return(true); } else { return(false); } }
/// <summary> /// Cria o arquivo de placares inicial caso o mesmo não exista /// </summary> /// <param name="FilePath"></param> private void CreateScoreFile() { // Se o arquivo não existe, cria-lo, caso contrário, leia-o em busca de perfis if (!File.Exists(FilePath)) { using (StreamWriter st = File.CreateText(FilePath)) { st.WriteLine("[Placares]"); } } else { string Dado = ""; using (StreamReader sr = new StreamReader(File.OpenRead(FilePath))) { Dado = sr.ReadLine(); while (Dado != null) { Dado = sr.ReadLine(); if (Dado != null && !Dado.Equals("[Placares]")) { string[] Split = Dado.Split('='); try { Jogadores.Add(new Player(Split[0], Double.Parse(Split[1]))); }catch (FormatException e) { if ((MessageBox.Show("Foram encontrados alguns dados corrompidos no placar! Deseja chamar o Liminha para reparar o placar? Se escolher \"não\" o placar não irá funcionar!")) == DialogResult.Yes) { RepararArquivoDePlacar(); break; } else { MessageBox.Show("Placar desativado pelo motivo de haver dados corrompidos!"); Registrar = false; } } } } } } }
/// <summary> /// Adiciona um jogador à lista de Jogadores definidos. /// </summary> /// <remarks>Atualiza o CanExecute do botão ComecarJogo.</remarks> /// <param name="jogadorAAdicionar">Jogador a adicionar à lista de Jogadores definidos.</param> private void AdicionarJogador(JogadorWrapperViewModel jogadorAAdicionar) { Jogadores?.Add(jogadorAAdicionar); //Atualiar CanExecute do botão ComecarJogo. ((Command)ComecarJogoCommand).ChangeCanExecute(); }
/// <summary> /// Tenta recuperar o arquivo de placar, reparando ou deletando dados corrompidos /// </summary> private void RepararArquivoDePlacar() { if (!File.Exists(FilePath)) { var Dado = ""; var Pontos = 0.0; var DadosCorrompidos = 0; // Limpa a lista e começa do zero Jogadores.Clear(); // Lê todos os dados do arquivo using (StreamReader sr = new StreamReader(File.OpenRead(FilePath))) { Dado = sr.ReadLine(); var DadoCorrompido = false; while (Dado != null) { // Tenta checar por pontuações corrompidas try { Pontos = Double.Parse(Dado.Split('=')[1]); } catch (FormatException e) { // Tenta corrigir pontuações corrompidas try { Pontos = RemoveLetras(Dado.Split('=')[1]); }catch (FormatException e2) { // Caso não dê para corrigir, trata-o como dado corrompido DadoCorrompido = true; DadosCorrompidos++; } } // Se o dado não estiver mais corrompido adiciona-o a lista if (!DadoCorrompido) { Jogadores.Add(new Player(Dado.Split('=')[0], Pontos)); } } } // Recria o arquivo de placar using (StreamWriter st = File.AppendText(FilePath)) { st.WriteLine("[Placares]"); // Testa se há algum dado salvo if (Jogadores.Count > 0) { // Reescreve os dados salvos foreach (var Jogador in Jogadores) { st.WriteLine(Jogador.Nome + "=" + Jogador.Pontuacao); } MessageBox.Show("Placar recuperado com êxito! Dados Perdidos: " + DadosCorrompidos + "!", "Placar Recuperado!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { // Erro exibido quando todos os dados foram perdidos MessageBox.Show("Falha ao recuperar os dados! Todos os dados estavam corrompidos, portanto o arquivo de placar foi resetado!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public void AdicionarJogador(string jogador) { Jogadores.Add(jogador); }