public void CadastroNovoEmprestimo(tb_emprestimo dto, string ra, string email)
        {
            try
            {
                DateTime ontem = DateTime.Today;
                ontem = ontem.AddDays(-1);
                if (dto.dt_devolucao.Day - DateTime.Today.Day < 0)
                {
                    throw new ArgumentException("Impossivel devolver um livro ontem!");
                }

                ValidarTexto val = new ValidarTexto();
                val.ValidarEmail(email);
                val.ValidarNome(dto.nm_funcionario);

                AzureBiblioteca db   = new AzureBiblioteca();
                tb_turma_aluno  data = db.tb_turma_aluno.Where(x => x.cd_ra == ra).ToList().Single();

                CriarNotificacao(data, email);

                dto.tb_turma_aluno_id_turma_aluno = data.id_aluno;
                dto.tb_notificacao_id_notificacao = idNot;
                EmprestimoDB.CadastroNovoEmprestimo(dto);
            }
            catch (ArgumentException ex)
            {
                System.Windows.Forms.MessageBox.Show($"{ex.Message}", "Biblioteca",
                                                     MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show($"Ocorreu um erro inexperado: {ex.Message}", "Biblioteca",
                                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void CriarNotificacao(tb_turma_aluno data, string email)
        {
            AzureBiblioteca db    = new AzureBiblioteca();
            tb_aluno_dados  dados = new tb_aluno_dados();

            try
            {
                dados = db.tb_aluno_dados.Where(x => x.tb_aluno_id_aluno == data.id_aluno).ToList().Single();

                tb_notificacao not = new tb_notificacao();
                not.bt_email5DIa     = false;
                not.bt_emailAtrasado = false;
                not.bt_emailDia      = false;
                not.tb_aluno_dados_id_aluno_dados = dados.id_aluno_dados;

                db.tb_notificacao.Add(not);
                db.SaveChanges();

                tb_notificacao idN = db.tb_notificacao.OrderByDescending(o => o.id_notificacao).First();

                idNot = idN.id_notificacao;
            }
            catch (Exception ex)
            {
                if (ex.HResult == -2146233079)
                {
                    tb_aluno_dados ad = new tb_aluno_dados();
                    ad.ds_email          = email;
                    ad.tb_aluno_id_aluno = data.id_aluno;

                    db.tb_aluno_dados.Add(ad);
                    db.SaveChanges();

                    tb_aluno_dados id = db.tb_aluno_dados.OrderByDescending(o => o.id_aluno_dados).First();

                    tb_notificacao not = new tb_notificacao();
                    not.bt_email5DIa     = false;
                    not.bt_emailAtrasado = false;
                    not.bt_emailDia      = false;
                    not.tb_aluno_dados_id_aluno_dados = id.id_aluno_dados;

                    db.tb_notificacao.Add(not);
                    db.SaveChanges();

                    tb_notificacao idN = db.tb_notificacao.OrderByDescending(o => o.id_notificacao).First();

                    idNot = idN.id_notificacao;
                    return;
                }
            }
        }
        private void CriarNotificacao(tb_turma_aluno data)
        {
            try
            {
                AzureBiblioteca db    = new AzureBiblioteca();
                tb_aluno_dados  dados = db.tb_aluno_dados.Where(x => x.tb_aluno_id_aluno == data.id_aluno).ToList().Single();

                if (dados.ds_email.Count() > 0)
                {
                    txtEmail.Text = dados.ds_email;
                }
            }
            catch (Exception)
            {
                txtEmail.Clear();
                return;
            }
        }
Beispiel #4
0
 private void ConsultarAluno()
 {
     if (rdnaluno.Checked == true)
     {
         if (txtaluno != null)
         {
             validar.ValidarRA(txtaluno.Text);
             try
             {
                 tb_turma_aluno aluno = db.tb_turma_aluno.Where(x => x.cd_ra == txtaluno.Text).ToList().Single();
                 lblAluno.Text = aluno.tb_aluno.nm_aluno;
                 idaluno       = aluno.tb_aluno.id_aluno;
             }
             catch
             {
                 MessageBox.Show("Esse RA é invalido.", "Biblioteca", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
        private void txtRA_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                if (txtRA.Text.Length > 8)
                {
                    AzureBiblioteca db   = new AzureBiblioteca();
                    tb_turma_aluno  data = db.tb_turma_aluno.Where(x => x.cd_ra == txtRA.Text).ToList().Single();

                    if (data.nr_chamada != null)
                    {
                        txtRA.BackColor = Color.Green;

                        txtAluno.Text = data.tb_aluno.nm_aluno;
                        txtN.Text     = data.nr_chamada.ToString();
                        txtTurma.Text = data.tb_turma.nm_turma;

                        CriarNotificacao(data);
                    }
                }
                else
                {
                    txtRA.BackColor = Color.Red;
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("A sequência não contém elementos"))
                {
                    txtRA.BackColor = Color.Red;
                }
                else
                {
                    MessageBox.Show($"Ocorreu um erro não identificado: {ex.Message}", "Biblioteca",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }