public ItemsViewModel()
        {
            Title            = "Classificação";
            Items            = new ObservableCollection <Classificacao>();
            Jogadores        = new ObservableCollection <Jogador>();
            LoadItemsCommand = new Command(async() =>
            {
                await ExecuteLoadJogadoresCommand();
                await ExecuteLoadClassificacaoCommand();
            });

            MessagingCenter.Subscribe <NewItemPage, Placar>(this, "AddItem", async(obj, item) =>
            {
                var clas = ((await DataStore.GetItemsAsync(true)) ?? new Classificacao[0])
                           .OrderBy(a => a.Posicao)
                           .ToArray();


                var novoPlacar = item as Placar;

                var clasJA = clas.FirstOrDefault(a => a.Jogador == novoPlacar.JogadorA.Nome);
                var clasJB = clas.FirstOrDefault(a => a.Jogador == novoPlacar.JogadorB.Nome);

                //if (novoPlacar.Regra.Nome == RegrasBusiness.AMISTOSO)
                //{
                //    await PlacarDataStore.AddItemAsync(novoPlacar);
                //    return;
                //}

                var ultimaPosicao = clas[clas.Length - 1].Posicao;

                novoPlacar.PosicaoA    = (clasJA?.Posicao) ?? (++ultimaPosicao);
                novoPlacar.PosicaoAntA = (clasJA?.PosicaoAnterior);
                novoPlacar.PosicaoB    = (clasJB?.Posicao) ?? (++ultimaPosicao);
                novoPlacar.PosicaoAntB = (clasJB?.PosicaoAnterior);

                await PlacarDataStore.AddItemAsync(novoPlacar);

                RecalcularClassificacaoAsync(null);
            });
        }
        private async void IncluirPlacar(NewItemPage source, Placar placar)
        {
            var clas = ((await DataStore.GetItemsAsync(true)) ?? new Classificacao[0])
                       .OrderBy(a => a.Posicao)
                       .ToArray();

            var novoPlacar = placar as Placar;

            var clasJA = clas.FirstOrDefault(a => a.Jogador == novoPlacar.JogadorA.Nome);
            var clasJB = clas.FirstOrDefault(a => a.Jogador == novoPlacar.JogadorB.Nome);

            var ultimaPosicao = clas[clas.Length - 1].Posicao;

            novoPlacar.PosicaoA    = (clasJA?.Posicao) ?? (++ultimaPosicao);
            novoPlacar.PosicaoAntA = (clasJA?.PosicaoAnterior);
            novoPlacar.PosicaoB    = (clasJB?.Posicao) ?? (++ultimaPosicao);
            novoPlacar.PosicaoAntB = (clasJB?.PosicaoAnterior);

            await PlacarDataStore.AddItemAsync(novoPlacar);

            RecalcularClassificacaoAsync(null);
        }