private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Deseja excluir semestre?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {

                try
                {
                    FormSemestre semestreDao = new FormSemestre();
                    semestreDao.excluirSemestre(codigoSemestre);
                    limparCampos();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }

            apresentarSemestre();
            tipoAcao = (int)Acao.nenhum;
            travarCampos(tipoAcao);
        }
        private void btnUsuario_Click(object sender, EventArgs e)
        {
            FormSemestre semestreDao = new FormSemestre();
            ICollection<Semestre> semestres = semestreDao.buscaNomeSemestre(txtPesquisaNome.Text);

            carregaGrid(semestres);
        }
        private void atualizarCampos()
        {
            try
            {

                Semestre semestre = new Semestre();
                FormSemestre semestreDao = new FormSemestre();

                if (codigoSemestre != 0)
                {
                    semestre = semestreDao.buscaSemestre(codigoSemestre);
                    txtNome.Text = semestre.nome.ToString();
                }

                tipoAcao = (int)Acao.nenhum;
                travarCampos(tipoAcao);

            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void apresentarSemestre()
        {
            FormSemestre semestreDao = new FormSemestre();
            ICollection<Semestre> semestres = semestreDao.listarSemestre();

            carregaGrid(semestres);
        }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if(consistir() == false)
            {
                return;
            }

            Semestre semestre = new Semestre();
            FormSemestre semestreDao = new FormSemestre();

            semestre.nome = txtNome.Text;
            semestre.ativo = true;

            try
            {

                if (tipoAcao == (int)Acao.incluir)
                {
                    semestreDao.incluirSemestre(semestre);
                    MessageBox.Show("Usuario salvo com sucesso.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                if (tipoAcao == (int)Acao.alterar)
                {
                    semestre.semestreId = codigoSemestre;
                    semestreDao.alterarSemestre(semestre);
                    MessageBox.Show("Usuario alterado com sucesso.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }
            catch(Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            atualizarCampos();
            apresentarSemestre();
            tipoAcao = (int)Acao.nenhum;
            travarCampos(tipoAcao);
        }
        static void Main(string[] args)
        {
            // From login
            Usuario usuarioLogin = new FormLogin().fazerLogin(14104);
            System.Console.WriteLine(usuarioLogin.nome);
            System.Console.ReadKey();

            // Form Usuario            
            var incluiUsuario = new Usuario
            {
                RA = 1410402,
                nome = "Teste",
                email = "*****@*****.**",
                senha = "123456",
                perfil = Usuario.Perfil.Usuario,
                ativo = true,
                visualizacao = true
            };
            new FormUsuario().incluirUsuario(incluiUsuario);

            var alteraUsuario = new Usuario
            {
                RA = 14104,
                nome = "Teste teste",
                email = "*****@*****.**",
                senha = "123456",
                perfil = Usuario.Perfil.Usuario,
                ativo = true,
                visualizacao = true
            };
            new FormUsuario().alterarUsuario(alteraUsuario);

            new FormUsuario().excluirUsuario(14104);

            ICollection<Usuario> usuarios = new FormUsuario().listarLogin();
            foreach (Usuario usuario in usuarios)
            {
                System.Console.WriteLine(usuario.nome +" - "+ usuario.RA);                
            }
            System.Console.ReadKey();

            var buscaUsuario = new FormUsuario().buscaUsuario(1410403);
            System.Console.WriteLine(buscaUsuario.RA + " - " + buscaUsuario.nome);

            // Form Turma
            var incluiTurma = new Turma
            {
                nome = "teste",
                ativo = true
            };
            new FormTurma().incluirTurma(incluiTurma);

            var alteraTurma = new Turma
            {
                turmaId = 4,
                nome = "teste teste",
                ativo = true
            };
            new FormTurma().alterarTurma(alteraTurma);

            new FormTurma().excluirTurma(2);

            ICollection<Turma> turmas = new FormTurma().listarTurmas();

            foreach (Turma turma in turmas)
            {
                System.Console.WriteLine(turma.turmaId + " - " + turma.nome);
            }
            System.Console.ReadKey();

            var buscaTurma = new FormTurma().buscaTurma(3);
            System.Console.WriteLine(buscaTurma.turmaId + " - " + buscaTurma.nome);

            // Form Semestre
            var incluiSemestre = new Semestre
            {
                nome = "teste",
                ativo = true
            };
            new FormSemestre().incluirSemestre(incluiSemestre);

            var alteraSemestre = new Semestre
            {
                semestreId = 4,
                nome = "teste teste",
                ativo = true
            };
            new FormSemestre().alterarSemestre(alteraSemestre);

            new FormSemestre().excluirSemestre(2);

            ICollection<Semestre> semestres = new FormSemestre().listarSemestre();

            foreach (Semestre semestre in semestres)
            {
                System.Console.WriteLine(semestre.semestreId + " - " + semestre.nome);
            }
            System.Console.ReadKey();
            
            var buscaSemestre = new FormSemestre().buscaSemestre(3);
            System.Console.WriteLine(buscaSemestre.semestreId + " - " + buscaSemestre.nome);
        }
        private void carregarComboSemestre()
        {
            FormSemestre semestreDao = new FormSemestre();
            ICollection<Semestre> semestres = semestreDao.listarSemestre();

            cboSemestre.DataSource = semestres;
            cboSemestre.ValueMember = "semestreId";
            cboSemestre.DisplayMember = "nome";
        }