private async void getResultPesquisaAsync(Video video) { lstResultPesquisa.Clear(); if (video.nCdApi != 0 && (video.nIdEstado == Enums.Estado.Completo || video.nIdEstado == Enums.Estado.CompletoSemForeignKeys)) { lstVideosQuaseCompletos.Add(video); lstResultPesquisa.Add(video); } lstResultPesquisa.Add(oVideoCarregando); oVideoSelecionado = video.nIdEstado == Enums.Estado.Completo || video.nIdEstado == Enums.Estado.CompletoSemForeignKeys ? video : oVideoCarregando; var lstResultPesquisaTemp = new List <Video>(); // Guarda as informações abaixo para caso for realizada uma Busca personalizada. if (string.IsNullOrWhiteSpace(sDsPastaEditar) || nCdVideo == 0) { sDsPastaEditar = video.sDsPasta; nCdVideo = video.nCdVideo; } if (video.nIdTipoConteudo == Enums.TipoConteudo.Série || video.nIdTipoConteudo == Enums.TipoConteudo.Anime) { var lstSeries = new List <Serie>(); if ((video is Serie && !(video as Serie).bFlNaoEncontrado) || !(video is Serie)) { //data = await APIRequests.GetSeriesAsync(video.Title); lstSeries = await APIRequests.GetSeriesAsync(video.sDsTitulo); } else if (video is Serie && (video as Serie).bFlNaoEncontrado) { var inputMessageBox = new InputMessageBox(inputType.SemResultados); inputMessageBox.InputViewModel.Properties.InputText = video.sDsTitulo; inputMessageBox.ShowDialog(); if (inputMessageBox.DialogResult == true) { lstSeries = await APIRequests.GetSeriesAsync(inputMessageBox.InputViewModel.Properties.InputText); } while (lstSeries.Count == 0) { if ( Helper.MostrarMensagem(Mensagens.Nenhum_resultado_encontrado__deseja_pesquisar_por_outro_nome, Enums.eTipoMensagem.QuestionamentoSimNao, Mensagens.Nenhum_resultado_encontrado) == MessageBoxResult.Yes) { inputMessageBox = new InputMessageBox(inputType.SemResultados); inputMessageBox.InputViewModel.Properties.InputText = video.sDsTitulo; inputMessageBox.ShowDialog(); if (inputMessageBox.DialogResult == true) { lstSeries = await APIRequests.GetSeriesAsync(inputMessageBox.InputViewModel.Properties.InputText); } } else // TODO Fechar tela ao entrar no else { bFechar = true; return; } } } foreach (Serie item in lstSeries) { bool bFlAdicionado = lstResultPesquisa.Select(x => x.nCdApi).Contains(item.nCdApi); if (!bFlAdicionado) { item.nCdVideo = nCdVideo != 0 ? nCdVideo : video.nCdVideo; item.sDsSinopse = oVideoCarregando.sDsSinopse; // Seta como default e será carregado quando e se for selecionado no combo. item.sDsPasta = null; lstResultPesquisaTemp.Add(item); } } } lstResultPesquisaTemp.Add(oVideoBuscaPersonalizada); lstResultPesquisa.Remove(oVideoCarregando); lstResultPesquisaTemp.ForEach(x => lstResultPesquisa.Add(x)); oVideoSelecionado = video.nCdApi != 0 && lstResultPesquisa.Any(x => x.nCdApi == video.nCdApi) ? lstResultPesquisa.First(x => x.nCdApi == video.nCdApi) : lstResultPesquisa[0]; }