コード例 #1
0
        private void cadastrar_Click(object sender, EventArgs e)
        {
            Filme filme = new Filme();
            //armazenando os valor digitados pelo usuario no objeto da classe Filme
            filme.Nome = nome_filme.Text;
            filme.Genero = lista_genero.SelectedItem.ToString();
            filme.Data_Assistido = data.Value;
            filme.Local = local.Text;

            /*essa condição verifica se a lista do genero do filme existe, se sim o filme só será adicionado a lista,
            se não será criada uma nova lista no dicionario e o filme adicionado nela*/
            if (dicionario_filmes.ContainsKey(lista_genero.SelectedIndex))
            {
                List<Filme> l = dicionario_filmes[lista_genero.SelectedIndex];
                l.Add(filme);
            }
            else
            {
                List<Filme> lista_filme = new List<Filme>();
                lista_filme.Add(filme);
                dicionario_filmes.Add(lista_genero.SelectedIndex, lista_filme);
            }

            //agora os valore são adicionado ao listview, utilizando como base os valores do objeto Filme
            ListViewItem novo_item = new ListViewItem();
            novo_item.Text = filme.Nome;
            novo_item.Group = listView1.Groups[lista_genero.SelectedIndex];
            novo_item.SubItems.Add(filme.Data_Assistido.ToShortDateString());
            novo_item.SubItems.Add(filme.Local);
            listView1.Items.Add(novo_item);
        }
コード例 #2
0
        //------------------------tabcontrol para pesquisa-------------------------//

        #region Pesquisa

        /*quando o botão de pesquisa é disparado, a lista de pesquisa é atribuida com os valores dos filmes armazenados no dicionario
         * para agilizar a pesquisa, caso o checkbox de genero esteja marcado, a lista de pesquisa será atribuida com os valores
         * da lista contida na posição do dicionario equivalente ao genero selecionado*/
        private void pesquisa_Click(object sender, EventArgs e)
        {
            if ((ck_box_nome.Checked == false) && (ck_box_categoria.Checked == false) && (ck_box_data.Checked == false) && (ck_box_local.Checked == false))
            {
                errorProvider1.SetError(pesquisa, "Nenhum parametro selecionado");
            }
            else
            {
                //verifica se o checkbox do genero está marcado
                if (ck_box_categoria.Checked == true)
                {
                    //verifica se a lista desejada contem no dicionario
                    if (dicionario_filmes.ContainsKey(pesq_categoria.SelectedIndex))
                    {
                        //atribui os valores do dicionario na lista de pesquisa
                        int          auxiliar = pesq_categoria.SelectedIndex;
                        List <Filme> lista    = dicionario_filmes[auxiliar];
                        lista_pesquisa.AddRange(lista);
                    }
                    else
                    {
                        //essa mensagem será apresentada caso não tenha um filme cadastrado pra tal genero
                        //MessageBox.Show("Não existe filme para tal genero", "Atenção", MessageBoxButtons.OK);
                    }
                }
                else
                {
                    //atribuição da lista de pesquisa com os valores do dicionario completo
                    foreach (List <Filme> l in dicionario_filmes.Values)
                    {
                        lista_pesquisa.AddRange(l);
                    }
                }

                //verifica se a lista de pesquisa não está vazia
                if (lista_pesquisa.Count == 0)
                {
                    //MessageBox.Show("Não foi cadastrado nenhum filme", "Atenção", MessageBoxButtons.OK);
                }
                else
                {
                    //o FOR é utilizado para percorrer toda a lista de pesquisa
                    for (int i = 0; i < lista_pesquisa.Count; ++i)
                    {
                        Filme obj_pesquisa = lista_pesquisa[i];

                        /*nessa condição é verificado se o checkbox de nome esta ativo e se o nome no textbox é diferente aos objetos da lista
                         * caso algum objeto coresponda a essas condições ele será removido da lista de pesquisa
                         * obs: não importa se o usuario entrou com letras maiusculas ou minusculas*/
                        if ((ck_box_nome.Checked == true) && (obj_pesquisa.Nome.ToUpper() != pesq_nome.Text.ToUpper()))
                        {
                            lista_pesquisa.Remove(obj_pesquisa);
                            i--;
                        }

                        /*nessa condição é verificado se o checkbox de data esta ativo e se a data em que o filme foi assistido está
                         * fora do intervalo fornecido pelo usuario,
                         * caso algum objeto coresponda a essas condições ele será removido da lista de pesquisa*/
                        if ((ck_box_data.Checked == true) && ((obj_pesquisa.Data_Assistido.Date > data_inicial.Value) && (obj_pesquisa.Data_Assistido.Date > data_final.Value)))
                        {
                            lista_pesquisa.Remove(obj_pesquisa);
                            i--;
                        }

                        /*nessa condição é verificado se o checkbox de local esta ativo e se o local no textbox é diferente aos objetos da lista
                         * caso algum objeto coresponda a essas condições ele será removido da lista de pesquisa
                         * obs: não importa se o usuario entrou com letras maiusculas ou minusculas*/
                        if ((ck_box_local.Checked == true) && (obj_pesquisa.Local.ToUpper() != pesq_local.Text.ToUpper()))
                        {
                            lista_pesquisa.Remove(obj_pesquisa);
                            i--;
                        }
                    }
                }

                //a lista de pesquisa é apresentada no listview
                foreach (Filme obj_apresentacao in lista_pesquisa)
                {
                    ListViewItem listview_pesquisa = new ListViewItem();
                    listview_pesquisa.Group = listView2.Groups[obj_apresentacao.Genero];
                    listview_pesquisa.Text  = obj_apresentacao.Nome;
                    listview_pesquisa.SubItems.Add(obj_apresentacao.Data_Assistido.ToShortDateString());
                    listview_pesquisa.SubItems.Add(obj_apresentacao.Local);
                    listView2.Items.Add(listview_pesquisa);
                }

                /*o botão de pesuisa é travado para forçar o usuario a limpar os parametros de pesquisa e o botão limpar é liberado*/
                pesquisa.Enabled        = false;
                limpar_pesquisa.Enabled = true;
            }
        }