コード例 #1
0
        } // Fim rmvConvidado();

        public static string addNewCompromisso(DTO_Compromisso obj_dtoCompromisso)
        {
            DAL_Conexao myDBConnection = new DAL_Conexao();

            try
            {
                string script = "INSERT INTO tbl_compromisso " +
                                "   (cod_compromisso, assunto, data_compromisso, horario, descricao, estaAtivo) " +
                                "VALUES " +
                                "   (DEFAULT, @assunto, @dataCompromisso, @horario, @descricao, @estaAtivo);";

                MySqlCommand cmd = new MySqlCommand(script, myDBConnection.conectar());

                cmd.Parameters.AddWithValue("@assunto", obj_dtoCompromisso.assunto);
                cmd.Parameters.AddWithValue("@dataCompromisso", obj_dtoCompromisso.dataCompromisso);
                cmd.Parameters.AddWithValue("@horario", obj_dtoCompromisso.horario);
                cmd.Parameters.AddWithValue("@descricao", obj_dtoCompromisso.descricao);
                cmd.Parameters.AddWithValue("@estaAtivo", obj_dtoCompromisso.estaAtivo);

                cmd.ExecuteNonQuery();

                return("Compromisso criado com sucesso.");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (myDBConnection.conectar().State != ConnectionState.Closed)
                {
                    myDBConnection.conectar().Close();
                }
            }
        }
コード例 #2
0
        private void btnCompromissoRmv_Click(object sender, EventArgs e)
        {
            // Remove o registro selecionado
            DataGridViewRow mySelectedRow = dataGridViewCompromissos.CurrentRow;

            if (mySelectedRow.Selected) // Se a linha estiver selecionada...
            {
                // Avise o usuário sobre a operação, permita-o escolher continuar ou não. Se continuar, delete o compromisso.
                DialogResult myAlert = MessageBox.Show("A exclusão é permanente, o compromisso será completamente removido.\nTem certeza que deseja continuar?", "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (myAlert == DialogResult.Yes)
                {
                    DTO_Compromisso obj_dtoCompromisso = new DTO_Compromisso();
                    BLL_Compromisso obj_bllCompromisso = new BLL_Compromisso();

                    // Index da linha selecionada para realizar a exclusão "Cells[0]" deve ser o cod_compromisso no dataGridViewCompromissos.
                    obj_dtoCompromisso.codCompromisso = int.Parse(mySelectedRow.Cells[0].Value.ToString());

                    string retornoBLL = obj_bllCompromisso.validarRmvCompromisso(obj_dtoCompromisso);

                    MessageBox.Show(retornoBLL, "CONCLUSÃO", MessageBoxButtons.OK);
                    atualizarCompromisso();
                }
                //else
                //{
                //MessageBox.Show("Sábia decisão...");
                //}

                //dataGridViewCompromissos.Rows.Remove(mySelectedRow);    // Ao clicar, remove a linha selecionada.
            }
        }
コード例 #3
0
        private void btnSalvarNewCompromisso_Click(object sender, EventArgs e)
        {
            // Avisa o usuário sobre a operação, permita-o escolher continuar ou não. Se continuar, salve o compromisso.
            DialogResult myAlert = MessageBox.Show("Deseja realmente salvar o compromisso?", "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (myAlert == DialogResult.Yes)
            {
                DTO_Compromisso obj_dtoCompromisso = new DTO_Compromisso();
                BLL_Compromisso obj_bllCompromisso = new BLL_Compromisso();

                // Armazena os dados atuais no objeto, isso é necessário para realizar a atualização.
                obj_dtoCompromisso.codCompromisso = int.Parse(lblHiddenCod.Text);
                obj_dtoCompromisso.assunto        = txbAssuntoCompromisso.Text;
                obj_dtoCompromisso.descricao      = txbDescricaoCompromisso.Text;

                string selectedDataCompromisso             = monthCalendarCompromisso.SelectionRange.Start.ToString();
                System.Globalization.CultureInfo myCulture = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name.ToString());
                DateTime dataCompromisso = DateTime.Parse(selectedDataCompromisso, myCulture);

                obj_dtoCompromisso.dataCompromisso = dataCompromisso.ToString("yyyy-MM-dd"); // Data validada.
                obj_dtoCompromisso.horario         = mtxbHorarioCompromisso.Text;
                obj_dtoCompromisso.estaAtivo       = chkBoxAtivo.Checked;

                // Inicia as validações dos dados do objeto por meio da BLL_Compromisso e salva os dados na base de dados.
                string retornoBLL = obj_bllCompromisso.validarNewCompromisso(obj_dtoCompromisso);

                MessageBox.Show(retornoBLL);

                this.Close();
            }
        }
コード例 #4
0
        public static string removerCompromisso(DTO_Compromisso obj_dtoCompromisso)
        {
            DAL_Conexao myDBConnection = new DAL_Conexao();

            try
            {
                string script = "DELETE FROM tbl_compromisso " +
                                "WHERE cod_compromisso = @codCompromisso;";

                MySqlCommand cmd = new MySqlCommand(script, myDBConnection.conectar());

                cmd.Parameters.AddWithValue("@codCompromisso", obj_dtoCompromisso.codCompromisso);

                cmd.ExecuteNonQuery();

                return("Compromisso removido com sucesso!");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (myDBConnection.conectar().State != ConnectionState.Closed)
                {
                    myDBConnection.conectar().Close();
                }
            }
        }   // Fim removerCompromisso();
コード例 #5
0
        public string validarRmvCompromisso(DTO_Compromisso obj_dtoCompromisso)
        {
            if (String.IsNullOrEmpty(obj_dtoCompromisso.codCompromisso.ToString()))
            {
                return("Compromisso não selecionado");
            }

            // return: "Compromisso removido com sucesso";
            return(DAL_Compromisso.removerCompromisso(obj_dtoCompromisso));
        }
コード例 #6
0
        public string validarNewCompromisso(DTO_Compromisso obj_dtoCompromisso)
        {
            string[] horario = obj_dtoCompromisso.horario.Split(':');
            int      hora    = int.Parse(horario[0]);
            int      minuto  = int.Parse(horario[1]);
            int      segundo = int.Parse(horario[2]);

            obj_dtoCompromisso.assunto.Trim();
            obj_dtoCompromisso.descricao.Trim();

            if (obj_dtoCompromisso.codCompromisso == 0)
            {
                return("Compromisso não definido, algo está errado! Avise o administrador.");
            }
            if (obj_dtoCompromisso.assunto.Length > 50)
            {
                return("O assunto pode possuir no máximo 50 caracteres.");
            }
            if (String.IsNullOrEmpty(obj_dtoCompromisso.assunto))
            {
                return("O assunto não pode ficar vazio.");
            }
            if (String.IsNullOrEmpty(obj_dtoCompromisso.dataCompromisso))
            {
                return("Por favor, selecione uma data para o seu compromisso.");
            }
            if (String.IsNullOrEmpty(obj_dtoCompromisso.horario))
            {
                return("O horário não foi definido, por favor digite o horário.");
            }
            if (hora > 23 || hora < 0)
            {
                return("Hora inválida, corrija por favor.");
            }
            if (minuto > 59 || minuto < 0)
            {
                return("Minuto inválido, corrija por favor.");
            }
            if (segundo > 59 || segundo < 0)
            {
                return("Segundos inválidos, corrija por favor.");
            }
            if (obj_dtoCompromisso.descricao.Length > 255)
            {
                return("A descrição do compromisso pode possuir no máximo 255 caracteres.");
            }

            // return: "Compromisso criado com sucesso.";
            return(DAL_Compromisso.addNewCompromisso(obj_dtoCompromisso));
        }
コード例 #7
0
        // Ao clicar em "btnSalvarEdicao" o usuário realizará a alteração dos dados do compromisso atual de acordo com as alterações realizadas na tela.
        private void btnSalvarEdicao_Click(object sender, EventArgs e)
        {
            // Avisa o usuário sobre a operação, permita-o escolher continuar ou não. Se continuar, altere o compromisso.
            DialogResult myAlert = MessageBox.Show("O compromisso será alterado.\nTem certeza que deseja continuar?", "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (myAlert == DialogResult.Yes)
            {
                DTO_Compromisso obj_dtoCompromisso = new DTO_Compromisso();
                BLL_Compromisso obj_bllCompromisso = new BLL_Compromisso();

                // Armazena os dados atuais no objeto, isso é necessário para realizar a atualização.
                obj_dtoCompromisso.codCompromisso = int.Parse(lblHiddenCod.Text);
                obj_dtoCompromisso.assunto        = txbAssuntoCompromisso.Text;
                obj_dtoCompromisso.descricao      = txbDescricaoCompromisso.Text;

                string selectedDataCompromisso             = monthCalendarCompromisso.SelectionRange.Start.ToString();
                System.Globalization.CultureInfo myCulture = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name.ToString());
                DateTime dataCompromisso = DateTime.Parse(selectedDataCompromisso, myCulture);

                obj_dtoCompromisso.dataCompromisso = dataCompromisso.ToString("yyyy-MM-dd"); // Data validada.
                obj_dtoCompromisso.horario         = mtxbHorarioCompromisso.Text;
                obj_dtoCompromisso.estaAtivo       = chkBoxAtivo.Checked;
                obj_dtoCompromisso.Convidados      = (List <DTO_Convidado>) this.dataGridViewConvidadosCompromisso.DataSource; // É opcional passar a lista atual de convidados.

                // Inicia as validações dos dados do objeto por meio da BLL_Compromisso e salva os dados na base de dados.
                string retornoBLL = obj_bllCompromisso.validarAltCompromisso(obj_dtoCompromisso);

                MessageBox.Show(retornoBLL);

                // Volta os botões ao estado anterior à edição.
                this.btnEditarCompromisso.Enabled = true;
                this.btnEditarCompromisso.Visible = true;

                this.btnVoltarCompromisso.Enabled = true;
                this.btnVoltarCompromisso.Visible = true;

                this.btnSalvarEdicao.Visible = false;
                this.btnSalvarEdicao.Enabled = false;

                this.btnCancelarEdicao.Visible = false;
                this.btnCancelarEdicao.Enabled = false;

                this.txbAssuntoCompromisso.ReadOnly   = true;
                this.txbDescricaoCompromisso.ReadOnly = true;
                this.monthCalendarCompromisso.Enabled = false;
                this.mtxbHorarioCompromisso.ReadOnly  = true;
                this.chkBoxAtivo.AutoCheck            = false;
            }
        }
コード例 #8
0
        private void btnEditarCompromisso_Click(object sender, EventArgs e)
        {
            //MessageBox.Show(teste);

            // Reconfiguração da tela para o modo de edição.
            this.btnEditarCompromisso.Enabled = false;
            this.btnEditarCompromisso.Visible = false;

            this.btnVoltarCompromisso.Enabled = false;
            this.btnVoltarCompromisso.Visible = false;

            this.btnSalvarEdicao.Visible = true;
            this.btnSalvarEdicao.Enabled = true;

            this.btnCancelarEdicao.Visible = true;
            this.btnCancelarEdicao.Enabled = true;

            //this.btnConvidarContato.Visible = true;
            //this.btnRmvConvidado.Visible = true;

            this.txbAssuntoCompromisso.ReadOnly   = false;
            this.txbDescricaoCompromisso.ReadOnly = false;
            this.monthCalendarCompromisso.Enabled = true;
            this.mtxbHorarioCompromisso.ReadOnly  = false;
            this.chkBoxAtivo.AutoCheck            = true;

            // Coleta os dados atuais do item descrito no momento que o botão de edição é clicado.
            // Isso garante que poderemos voltar essas informações caso o usuário cancele a edição.
            lastAssunto   = txbAssuntoCompromisso.Text;
            lastDescricao = txbDescricaoCompromisso.Text;
            lastHorario   = mtxbHorarioCompromisso.Text;
            lastAtivo     = chkBoxAtivo.Checked;

            lastDataCompromisso = monthCalendarCompromisso.SelectionRange.Start.ToString();
            System.Globalization.CultureInfo myCulture = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name.ToString());
            DateTime myLastDataCompromisso             = DateTime.Parse(lastDataCompromisso, myCulture);

            DTO_Compromisso myCompromisso = new DTO_Compromisso();

            myCompromisso.codCompromisso = int.Parse(lblHiddenCod.Text);
            lastConvidados.Convidados    = BLL_Compromisso.verificarListaCompromisso(myCompromisso);

            //MessageBox.Show("Atenção: A lista de contatos é salva automaticamente, diferentemente dos outros campos, ela não voltará atrás ao cancelar a edição.", "ATENÇÃO", MessageBoxButtons.OK ,MessageBoxIcon.Warning);

            //MessageBox.Show("Assunto: " + lastAssunto + "\nDescricao: " + lastDescricao + "\nHorario: " + lastHorario + "\nData: " + myLastDataCompromisso.ToString() + "\nConvidados: " + lastConvidados.GetType());
        }
コード例 #9
0
        }   // Fim removerCompromisso();

        public static List <DTO_Convidado> listarConvidados(DTO_Compromisso obj_dtoCompromisso)
        {
            var lista = new List <DTO_Convidado>();

            DAL_Conexao myDBConnection = new DAL_Conexao();

            try
            {
                string script = "SELECT * FROM tbl_convidado_compromisso " +
                                "WHERE cod_compromisso = @codCompromisso;";

                MySqlCommand cmd = new MySqlCommand(script, myDBConnection.conectar());

                cmd.Parameters.AddWithValue("@codCompromisso", obj_dtoCompromisso.codCompromisso);

                MySqlDataReader dados = cmd.ExecuteReader();

                //Console.WriteLine(cmd.CommandText + "\n" + obj_dtoCompromisso.codCompromisso);

                while (dados.Read())
                {
                    if (dados.HasRows)
                    {
                        lista.Add(new DTO_Convidado()
                        {
                            nomeContato    = dados["nome_contato"].ToString(),
                            codCompromisso = int.Parse(dados["cod_compromisso"].ToString()),
                            estaConfirmado = bool.Parse(dados["estaConfirmado"].ToString())
                        });
                    }
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (myDBConnection.conectar().State != ConnectionState.Closed)
                {
                    myDBConnection.conectar().Close();
                }
            }
        } // Fim listarConvidados();
コード例 #10
0
        } // Fim listarConvidados();

        public static string alterarCompromisso(DTO_Compromisso obj_dtoCompromisso)
        {
            DAL_Conexao myDBConnection = new DAL_Conexao();

            try
            {
                string script = "UPDATE tbl_compromisso " +
                                "SET assunto = @assunto, " +
                                "    data_compromisso = @dataCompromisso, " +
                                "    horario = @horario, " +
                                "    descricao = @descricao, " +
                                "    estaAtivo = @estaAtivo " +
                                "WHERE cod_compromisso = @codCompromisso;";

                MySqlCommand cmd = new MySqlCommand(script, myDBConnection.conectar());

                cmd.Parameters.AddWithValue("@assunto", obj_dtoCompromisso.assunto);
                cmd.Parameters.AddWithValue("@dataCompromisso", obj_dtoCompromisso.dataCompromisso);
                cmd.Parameters.AddWithValue("@horario", obj_dtoCompromisso.horario);
                cmd.Parameters.AddWithValue("@descricao", obj_dtoCompromisso.descricao);
                cmd.Parameters.AddWithValue("@estaAtivo", obj_dtoCompromisso.estaAtivo);
                cmd.Parameters.AddWithValue("@codCompromisso", obj_dtoCompromisso.codCompromisso);

                cmd.ExecuteNonQuery();

                return("Compromisso Alterado!");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (myDBConnection.conectar().State != ConnectionState.Closed)
                {
                    myDBConnection.conectar().Close();
                }
            }
        } // Fim alterarCompromisso();
コード例 #11
0
        private void btnCompromissoDetalhes_Click(object sender, EventArgs e)
        {
            this.Hide();

            // Instânciamento das classes utilizadas.

            Compromisso     telaDetCompromisso = new Compromisso();
            DTO_Compromisso obj_dtoCompromisso = new DTO_Compromisso();
            BLL_Compromisso obj_bllCompromisso = new BLL_Compromisso();
            DataGridViewRow mySelectedRow      = dataGridViewCompromissos.CurrentRow;

            // Guarda os dados selecionados no DTO.

            CultureInfo myCulture       = new CultureInfo(CultureInfo.CurrentCulture.Name.ToString());
            DateTime    dataCompromisso = DateTime.Parse(mySelectedRow.Cells[2].Value.ToString(), myCulture); // Cells[2] = dataCompromisso (dd/mm/yyyy) - validation needed.

            //MessageBox.Show(dataCompromisso.ToString("yyyy-MM-dd"));

            obj_dtoCompromisso.codCompromisso  = int.Parse(mySelectedRow.Cells[0].Value.ToString());  // Cells[0] = codCompromisso.
            obj_dtoCompromisso.assunto         = mySelectedRow.Cells[1].Value.ToString();             // Cells[1] = assunto.
            obj_dtoCompromisso.dataCompromisso = dataCompromisso.ToString("yyyy-MM-dd");              // Data validada.
            obj_dtoCompromisso.horario         = mySelectedRow.Cells[3].Value.ToString();             // Cells[3] = horario (hh:mm:ss).
            obj_dtoCompromisso.descricao       = mySelectedRow.Cells[4].Value.ToString();             // Cells[4] = descricao.
            obj_dtoCompromisso.estaAtivo       = bool.Parse(mySelectedRow.Cells[5].Value.ToString()); // Cells[5] = estaAtivo default 1 (true).

            // Define a exibição dos dados na UI Compromisso.

            telaDetCompromisso.Text = "Assunto do Compromisso: " + obj_dtoCompromisso.assunto;
            telaDetCompromisso.txbAssuntoCompromisso.Text   = obj_dtoCompromisso.assunto;
            telaDetCompromisso.txbDescricaoCompromisso.Text = obj_dtoCompromisso.descricao;
            telaDetCompromisso.monthCalendarCompromisso.SetDate(dataCompromisso);
            telaDetCompromisso.mtxbHorarioCompromisso.Text = obj_dtoCompromisso.horario;
            telaDetCompromisso.chkBoxAtivo.Checked         = obj_dtoCompromisso.estaAtivo;
            telaDetCompromisso.lblHiddenCod.Text           = obj_dtoCompromisso.codCompromisso.ToString();

            // Verifica se existem convidados nesse compromisso e atualiza a GridView da tela Compromisso de acordo...
            obj_dtoCompromisso.Convidados = BLL_Compromisso.verificarListaCompromisso(obj_dtoCompromisso);  // Deve retornar uma lista de convidados.

            List <DTO_Convidado> myConvidados = obj_dtoCompromisso.Convidados;                              // Atribui a lista de convidados do nosso obj_dtoCompromisso a uma variável.

            telaDetCompromisso.dataGridViewConvidadosCompromisso.DataSource = myConvidados;                 // Passa a lista para a DataTable da dataGridView.

            telaDetCompromisso.dataGridViewConvidadosCompromisso.Columns["codCompromisso"].Visible = false; // Oculta um campo indesejado.


            // Desabilita inicialmente a edição dos detalhes.

            //telaDetCompromisso.btnConvidarContato.Enabled = false;
            //telaDetCompromisso.btnRmvConvidado.Enabled = false;
            telaDetCompromisso.txbAssuntoCompromisso.ReadOnly   = true;
            telaDetCompromisso.txbDescricaoCompromisso.ReadOnly = true;
            telaDetCompromisso.monthCalendarCompromisso.Enabled = false;
            telaDetCompromisso.mtxbHorarioCompromisso.ReadOnly  = true;
            telaDetCompromisso.chkBoxAtivo.AutoCheck            = false;
            telaDetCompromisso.btnEditarCompromisso.Enabled     = true;
            telaDetCompromisso.btnEditarCompromisso.Visible     = true;

            // Exibe a tela com os detalhes.

            telaDetCompromisso.ShowDialog();
            atualizarCompromisso();
            this.Show();
        }
コード例 #12
0
 public static List <DTO_Convidado> verificarListaCompromisso(DTO_Compromisso obj_dtoCompromisso)
 {
     // return: Lista de convidados da base de dados relacionada ao compromisso.
     return(DAL_Compromisso.listarConvidados(obj_dtoCompromisso));
 }