public void Execute(object parameter) { var ProcurarConteudoViewModel = parameter as ProcurarConteudoViewModel; var frmBarraProgresso = new frmBarraProgresso(); frmBarraProgresso.BarraProgressoViewModel.dNrProgressoMaximo = ProcurarConteudoViewModel.lstConteudos.Where(x => x.bFlSelecionado).Count(); frmBarraProgresso.BarraProgressoViewModel.sDsTarefa = "Salvando..."; frmBarraProgresso.BarraProgressoViewModel.Worker.DoWork += (s, ev) => { var seriesService = App.Container.Resolve <SeriesService>(); //if (ProcurarConteudoViewModel.lstConteudos.Where(x => x.bFlSelecionado && !x.bFlNaoEncontrado).Count() == 0) //{ // Helper.MostrarMensagem("Para realizar a operação, selecione ao menos um registro.", Enums.eTipoMensagem.Alerta); //} foreach (Video item in ProcurarConteudoViewModel.lstConteudos) { if (item.bFlSelecionado && !item.bFlNaoEncontrado) { switch (item.nIdTipoConteudo) { case Enums.TipoConteudo.Série: case Enums.TipoConteudo.Anime: { frmBarraProgresso.BarraProgressoViewModel.sDsTexto = "Salvando \"" + item.sDsTitulo + "\" (" + (frmBarraProgresso .BarraProgressoViewModel .dNrProgressoAtual + 1) + "/" + frmBarraProgresso .BarraProgressoViewModel .dNrProgressoMaximo + ")..."; if (item.nIdEstado != Enums.Estado.Completo) { Serie serie = APIRequests.GetSerieInfoAsync(item.nCdApi, Properties.Settings.Default .pref_IdiomaPesquisa).Result; serie.nIdTipoConteudo = item.nIdTipoConteudo; serie.sDsPasta = item.sDsPasta; serie.sAliases = item.sAliases; serie.lstSerieAlias = item.lstSerieAlias; serie.sDsTitulo = item.sDsTitulo; serie.SetEstadoEpisodio(); seriesService.Adicionar(serie); } else { (item as Serie).SetEstadoEpisodio(); seriesService.Adicionar((Serie)item); } frmBarraProgresso.BarraProgressoViewModel.dNrProgressoAtual++; if (frmBarraProgresso.BarraProgressoViewModel.dNrProgressoAtual == frmBarraProgresso.BarraProgressoViewModel.dNrProgressoMaximo) { frmBarraProgresso.BarraProgressoViewModel.sDsTexto = "Concluído."; } break; } case Enums.TipoConteudo.Filme: throw new NotImplementedException(); // TODO Filmes } } } Helper.MostrarMensagem("Séries inseridas com sucesso.", Enums.eTipoMensagem.Informativa); }; frmBarraProgresso.BarraProgressoViewModel.Worker.RunWorkerCompleted += (s, ev) => ProcurarConteudoViewModel.ActionFechar(); frmBarraProgresso.BarraProgressoViewModel.Worker.RunWorkerAsync(); frmBarraProgresso.ShowDialog(ProcurarConteudoViewModel.Owner); }
public static IList <Serie> RetornarListaSeries() { _lstSeries = new List <Serie>(); _lstEpisodios = new List <Episodio>(); var lstIntIdsSeries = new List <int> { 257655, 273181, 205281, 121361, 274431, 281485, 263365, 281662, 268592, 80379, 279121, 258744, 153021, 264492, 267440, 289679, 88031, 295068, 289882, 114801, 79151, 85249, 295224, 249827, 79824, 278155, 81797, 293088, 259640, 251085, 281249 }; foreach (int item in lstIntIdsSeries) { Serie serie = APIRequests.GetSerieInfoAsync(item, "en").Result; serie.nCdVideo = _lstSeries.Any() ? _lstSeries.Last().nCdVideo + 1 : 1; serie.nIdTipoConteudo = Enums.TipoConteudo.Série; serie.SetDefaultFolderPath(); _lstSeries.Add(serie); foreach (Episodio episodio in serie.lstEpisodios) { episodio.nCdEpisodio = _lstEpisodios.Any() ? _lstEpisodios.Last().nCdEpisodio : 1; episodio.nCdVideo = serie.nCdVideo; episodio.oSerie = serie; _lstEpisodios.Add(episodio); } } return(_lstSeries); }
/* * private async void getResultPesquisaAsync(string title) * { * lstResultPesquisa.Clear(); * * lstResultPesquisa.Add(oVideoCarregando); * oVideoSelecionado = oVideoCarregando; * List<Video> lstResultPesquisaTemp = new List<Video>(); * * if (nIdTipoConteudo == Enums.TipoConteudo.Série || nIdTipoConteudo == Enums.TipoConteudo.Anime) * { * List<Serie> lstSeries = await APIRequests.GetSeriesAsync(title); * * if (lstSeries.Count == 0) // Verificar a primeira vez se é null para não exibir a mensagem quando não encontra resultados na tela de procurar conteúdo. * { * InputMessageBox InputMessageBox = new InputMessageBox(inputType.SemResultados); * InputMessageBox.InputViewModel.Properties.InputText = title; * InputMessageBox.ShowDialog(); * if (InputMessageBox.DialogResult == true) * { * lstSeries = await APIRequests.GetSeriesAsync(InputMessageBox.InputViewModel.Properties.InputText); * } * * while (lstSeries.Count == 0) * { * if (MessageBox.Show("Nenhum resultado encontrado, deseja pesquisar por outro nome?", "Nenhum resultado encontrado - " + Properties.Settings.Default.AppName, MessageBoxButton.YesNo) == MessageBoxResult.Yes) * { * InputMessageBox = new InputMessageBox(inputType.SemResultados); * InputMessageBox.InputViewModel.Properties.InputText = title; * 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 (var item in lstSeries) * { * if (!string.IsNullOrWhiteSpace(sDsPastaEditar)) // Verifica se é edição para setar o folderpath igual. * { * item.sDsPasta = sDsPastaEditar; * } * else * { * item.SetDefaultFolderPath(); * } * * item.nCdVideo = nCdVideo; * item.nIdTipoConteudo = nIdTipoConteudo; * * bool bFlAdicionado = lstResultPesquisaTemp.Select(x => x.nCdApi).Contains(item.nCdApi); * * if (!bFlAdicionado) * { * item.sDsSinopse = oVideoCarregando.sDsSinopse; * lstResultPesquisaTemp.Add(item); * } * } * } * * lstResultPesquisa.Remove(oVideoCarregando); * lstResultPesquisaTemp.Add(oVideoBuscaPersonalizada); * lstResultPesquisaTemp.ForEach(x => lstResultPesquisa.Add(x)); * oVideoSelecionado = lstResultPesquisa[0]; * } */ private async void AlterarVideoAsync(Video oVideoSelecionadoTemp) { if (oVideoSelecionado == null || oVideoSelecionado == oVideoCarregando || oVideoSelecionado.nIdEstado == Enums.Estado.Completo || oVideoSelecionado.nIdEstado == Enums.Estado.CompletoSemForeignKeys) { return; } if (lstResultPesquisa.Count > 0 && oVideoSelecionado == oVideoBuscaPersonalizada) { var inputMessageBox = new InputMessageBox(inputType.AdicionarConteudo); inputMessageBox.ShowDialog(); if (inputMessageBox.DialogResult == true) { getResultPesquisaAsync(new Serie { sDsTitulo = inputMessageBox.InputViewModel.Properties.InputText }); return; } else { _oVideoSelecionado = lstResultPesquisa.FirstOrDefault(x => x.nCdApi == oVideoSelecionadoTemp?.nCdApi); if (oVideoSelecionado == null) { ActionClose(false); } else { OnPropertyChanged(nameof(oVideoSelecionado)); } return; } } else if (lstVideosQuaseCompletos != null && lstVideosQuaseCompletos.Count > 0) { lstVideosQuaseCompletos .Where( x => x.nCdApi == oVideoSelecionado.nCdApi && (x.nIdEstado == Enums.Estado.Completo || x.nIdEstado == Enums.Estado.CompletoSemForeignKeys)) .ToList() .ForEach(x => { _oVideoSelecionado = x; OnPropertyChanged(nameof(oVideoSelecionado)); return; }); //foreach (var item in listaVideosQuaseCompletos) //{ // if (item.IDApi == SelectedVideo.IDApi && (item.Estado == Enums.Estado.Completo || item.Estado == Enums.Estado.CompletoSemForeignKeys)) // { // //Data = item; // _SelectedVideo = item; OnPropertyChanged("SelectedVideo"); // return; // } //} } Serie serie = await APIRequests.GetSerieInfoAsync(oVideoSelecionado.nCdApi, Properties.Settings.Default.pref_IdiomaPesquisa); serie.sDsTitulo = oVideoSelecionado.sDsTitulo; // Para manter os titulos no idioma original, ao invés das traduções do SBT (tipo "Os Seguidores" pro The Following ¬¬) serie.nIdTipoConteudo = nIdTipoConteudo; if (oVideoSelecionado.sDsPasta != null) { serie.sDsPasta = oVideoSelecionado.sDsPasta; } else if (sDsPastaEditar != null) { serie.sDsPasta = sDsPastaEditar; } else { serie.SetDefaultFolderPath(); } serie.sAliases = oVideoSelecionado.sAliases; if (nCdVideo > 0) { serie.nCdVideo = nCdVideo; } lstResultPesquisa.Where(x => x.nCdApi == oVideoSelecionado.nCdApi) .ToList() .ForEach(x => { x.Clone(serie); }); lstVideosQuaseCompletos.Add(serie); _oVideoSelecionado = serie; OnPropertyChanged(nameof(oVideoSelecionado)); // Para forçar a habilitação do botão de configurar conteúdo (As vezes continua desabilitado até que haja interação na UI, com esse método isso não acontece). CommandManager.InvalidateRequerySuggested(); }