示例#1
0
 // Mostrar dados quando um filho está selecionado
 private void listViewFilhos_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         Filhos filhoSelecionado = (Filhos)listViewFilhos.SelectedItems[0].Tag;
         if (filhoSelecionado != null)
         {
             tbNomeFilho.Text = filhoSelecionado.Nome;
             dateTimePickerDataNascimento.Value = filhoSelecionado.DataNascimento;
             if (filhoSelecionado.Sexo == "Feminino")
             {
                 radioButtonF.Checked = true;
             }
             else
             {
                 radioButtonM.Checked = true;
             }
             cbEscola.Text     = filhoSelecionado.Escolas.Nome;
             tbProgenitor.Text = ((Clientes)listViewClientes.SelectedItems[0].Tag).Nome;
         }
     }
     catch
     {
     }
 }
示例#2
0
        // Função que permite verificar se já existe essa inscrição
        private bool inscrito(Eventos eventoSelecionado, Filhos filho)
        {
            var inscrito = (from p in bookidsContainer.InscricoesSet
                            where p.IdFilho == filho.IdPessoa && p.NrEvento == eventoSelecionado.NrEvento
                            select p).ToList();

            if (inscrito.Count == 0)
            {
                return(false);
            }

            return(true);
        }
示例#3
0
        // Permitir adicionar um filho se o cliente estiver selecionado
        private void buttonAdicionarFilho_Click(object sender, EventArgs e)
        {
            try
            {
                Clientes clienteSelecionado = (Clientes)listViewClientes.SelectedItems[0].Tag;
                if (clienteSelecionado != null)
                {
                    if (dadosPreenchidosFilho())
                    {
                        if (dateTimePickerDataNascimento.Value < DateTime.Today)
                        {
                            Filhos novo = new Filhos()
                            {
                                Nome           = tbNomeFilho.Text,
                                Morada         = clienteSelecionado.Morada,
                                Localidade     = clienteSelecionado.Localidade,
                                CodPostal      = clienteSelecionado.CodPostal,
                                Telefone       = clienteSelecionado.Telefone,
                                Telemovel      = clienteSelecionado.Telemovel,
                                Mail           = clienteSelecionado.Mail,
                                DataNascimento = dateTimePickerDataNascimento.Value,
                                Sexo           = radioButtonF.Checked ? radioButtonF.Text : radioButtonM.Text,
                                IdEscola       = ((Escolas)cbEscola.SelectedItem).IdEscola,
                                IdProgenitor   = clienteSelecionado.IdPessoa,
                            };

                            // Adicionar à base de dados
                            bookidsContainer.FilhosSet.Add(novo);

                            // Guardar as alterações feitas
                            bookidsContainer.SaveChanges();

                            adicionaFilho(novo);
                            carregaTodosFilhos(clienteSelecionado.Filhos.ToList <Filhos>());

                            limparDadosFilho();

                            MessageBox.Show("Filho adicionado com sucesso!", "Informação", MessageBoxButtons.OK);
                        }
                        else
                        {
                            MessageBox.Show("Certifique-se de selecionar uma data válida!", "Atenção", MessageBoxButtons.OK);
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("Certifique-se de selecionar o cliente para adicionar o filho", "Atenção", MessageBoxButtons.OK);
            }
        }
示例#4
0
        /// <summary>
        /// Adiciona os dados do filho na list View
        /// </summary>
        /// <param name="filho"></param>
        private void adicionaFilho(Filhos filho)
        {
            var row = new string[]
            {
                filho.Nome,
                (filho.DataNascimento).ToString("dd/mm/yyyy"),
                filho.Sexo,
                filho.Escolas.Nome
            };

            var lvi = new ListViewItem(row);

            lvi.Tag = filho;
            listViewFilhos.Items.Add(lvi);
        }
示例#5
0
        // <--------------- Inscrições --------------->

        // Para increver um filho num Evento
        private void buttonInscrever_Click(object sender, EventArgs e)
        {
            try
            {
                Eventos eventoSelecionado = (Eventos)listViewEventos.SelectedItems[0].Tag;
                if (eventoSelecionado != null)
                {
                    Filhos filhoSelecionado = (Filhos)cbFilhos.SelectedItem;
                    if (filhoSelecionado.Idade() > eventoSelecionado.IdadeInferior && filhoSelecionado.Idade() < eventoSelecionado.IdadeSuperior)
                    {
                        if (!inscrito(eventoSelecionado, ((Filhos)cbFilhos.SelectedItem)))
                        {
                            if (cbFilhos.Text == "")
                            {
                                cbFilhos.Focus();
                                return;
                            }
                            else
                            {
                                Inscricoes nova = new Inscricoes()
                                {
                                    Confirmada = false,
                                    IdFilho    = ((Filhos)cbFilhos.SelectedItem).IdPessoa,
                                    NrEvento   = eventoSelecionado.NrEvento
                                };

                                bookidsContainer.InscricoesSet.Add(nova);
                                bookidsContainer.SaveChanges();
                                checkedListBoxFilhos.DataSource = eventoSelecionado.Inscricoes.ToList <Inscricoes>();
                                MessageBox.Show("Inscrição adicionada com sucesso!", "Informação", MessageBoxButtons.OK);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Esse Filho já foi inscrito!", "Informação", MessageBoxButtons.OK);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Esse Filho não tem idade para o evento!", "Informação", MessageBoxButtons.OK);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Certifique-se de selecionar o Evento que pretende fazer modificações, ou, verifique se esse Filho já foi inscrito!", "Aviso", MessageBoxButtons.OK);
            }
        }
示例#6
0
        // Alterar dados do filho selecionado
        private void buttonAlterarFilho_Click(object sender, EventArgs e)
        {
            try
            {
                Clientes cliente = (Clientes)listViewClientes.SelectedItems[0].Tag;
                if (cliente != null)
                {
                    Filhos filhoSelecionado = (Filhos)listViewFilhos.SelectedItems[0].Tag;
                    if (filhoSelecionado != null)
                    {
                        if (dateTimePickerDataNascimento.Value < DateTime.Today)
                        {
                            filhoSelecionado.Nome           = tbNomeFilho.Text;
                            filhoSelecionado.Morada         = tbMoradaCliente.Text;
                            filhoSelecionado.Localidade     = tbLocalidadeCliente.Text;
                            filhoSelecionado.CodPostal      = tbCodPostalCliente.Text;
                            filhoSelecionado.Telefone       = tbTelefoneCliente.Text;
                            filhoSelecionado.Telemovel      = tbTelemovelCliente.Text;
                            filhoSelecionado.Mail           = tbMailCliente.Text;
                            filhoSelecionado.DataNascimento = dateTimePickerDataNascimento.Value;
                            filhoSelecionado.Sexo           = radioButtonF.Checked ? radioButtonF.Text : radioButtonM.Text;
                            filhoSelecionado.IdEscola       = ((Escolas)cbEscola.SelectedItem).IdEscola;
                            filhoSelecionado.IdProgenitor   = cliente.IdPessoa;

                            bookidsContainer.SaveChanges();

                            carregaTodosFilhos(cliente.Filhos.ToList <Filhos>());

                            limparDadosFilho();

                            MessageBox.Show("Dados do filho alterados com sucesso!", "Informação", MessageBoxButtons.OK);
                        }
                        else
                        {
                            MessageBox.Show("Certifique-se de selecionar uma data válida!", "Atenção", MessageBoxButtons.OK);
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("Selecione primeiro o filho para alterar os seus dados!", "Aviso", MessageBoxButtons.OK);
            }
        }
示例#7
0
        // Butão que permite apagar o filho selecionado do cliente selecionado
        private void buttonApagarFilho_Click(object sender, EventArgs e)
        {
            try
            {
                Clientes cliente = (Clientes)listViewClientes.SelectedItems[0].Tag;
                if (cliente != null)
                {
                    Filhos filhoSelecionado = (Filhos)listViewFilhos.SelectedItems[0].Tag;
                    if (filhoSelecionado != null)
                    {
                        if (MessageBox.Show("Esta operação puderá não ser possível pois, o filho pode estar inscrito em eventos. Se for o caso, terá de apagar as inscrições primeiro.\n\nMesmo assim quer tentar?", "Atenção", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            List <Inscricoes> listaInscricoes = filhoSelecionado.Inscricoes.ToList <Inscricoes>();

                            if (listaInscricoes.Count == 0)
                            {
                                bookidsContainer.FilhosSet.Remove(filhoSelecionado);
                                bookidsContainer.SaveChanges();

                                carregaTodosFilhos(cliente.Filhos.ToList <Filhos>());

                                limparDadosFilho();

                                MessageBox.Show("Filho apagado com sucesso!", "Informação", MessageBoxButtons.OK);
                            }
                            else
                            {
                                MessageBox.Show("Não foi possível apagar o filho!", "Aviso", MessageBoxButtons.OK);
                            }
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("Selecione primeiro o filho que pretende apagar!", "Aviso", MessageBoxButtons.OK);
            }
        }