public frmAdicionarConteudo(Enums.TipoConteudo tipoConteudo, bool bIsProcurarConteudo = false)
        {
            InitializeComponent();

            var inputMessageBox = new InputMessageBox(inputType.AdicionarConteudo);

            inputMessageBox.ShowDialog();

            if (inputMessageBox.DialogResult == true)
            {
                Video serie = new Serie();
                serie.nIdTipoConteudo = tipoConteudo;
                serie.sDsTitulo       = inputMessageBox.InputViewModel.Properties.InputText;

                AdicionarConteudoViewModel = new AdicionarConteudoViewModel(serie, tipoConteudo);
                AdicionarConteudoViewModel.bProcurarConteudo = bIsProcurarConteudo;
                AdicionarConteudoViewModel.ActionClose       = dialogResult =>
                {
                    DialogResult = dialogResult;
                    Close();
                };
            }
            else
            {
                Close();
                return;
            }

            DataContext = AdicionarConteudoViewModel;
        }
Example #2
0
        private async Task OnExecuteCreateActivity()
        {
            var inputMsgBox = new InputMessageBox
            {
                Owner = Application.Current.MainWindow,
                WindowStartupLocation = WindowStartupLocation.CenterOwner,
                Message   = "Please type in the name of the activity",
                Title     = "Add Activity",
                TitleIcon = new MaterialDesignIcon(MaterialDesignIconCode.Plus)
            };

            if (inputMsgBox.ShowDialog() != true)
            {
                return;
            }
            var name = inputMsgBox.Text;

            using (var cmd = await _databaseService.CreateCommand(SqlQueries.Activity.Insert))
            {
                cmd.AddParameterWithValue("@name", name);

                var id = Convert.ToInt64(await cmd.ExecuteScalarAsync());
                Activitys.Insert(0, new ActivityTimeSlot(id, name, 0, 0D));
            }

            CurrentActivityName = null;
        }
Example #3
0
        private void numberOfThreadsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            InputMessageBox box           = new InputMessageBox();
            string          numThreadsVal = box.ShowDialog("Enter the number of threads", _testFile.NumberOfThreads.ToString());
            int             numVal        = 10;

            if (!String.IsNullOrEmpty(numThreadsVal) && int.TryParse(numThreadsVal, out numVal))
            {
                _testFile.NumberOfThreads = numVal;
                _testFile.Save();
            }
        }
        /*
         * 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();
        }
        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];
        }