private void atualizandoStatusSolicitacoes() { var dataAtual = DateTime.Now; var ssDAO = new SolicitacaoSaidaDAO(); var solicitacoesSaida = getSolicitacaoesHoje(); //verificando se solicitação está expirada, se sim, atualiza seu status foreach (SolicitacaoSaida solicitacao in solicitacoesSaida) { //verificando se solicitacao ja estourou o tempo de expiração if (solicitacao.status == StatusSolicitacao.aberto && solicitacao.abertura.AddMinutes(tempoExpiraçãoSolicitacao) < dataAtual) { try { solicitacao.status = StatusSolicitacao.expirado; ssDAO.atualizar(solicitacao); } catch (Exception) { return; } } } }
private void relatorioSolicitacaoSaida_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { int eixoX = 105; string expirado; // titulo e.Graphics.DrawString("Relatório mensal de solicitações de saída antecipada de aluno", new Font("Arial", 12, FontStyle.Bold), new SolidBrush(Color.Black), new Point(20, 30)); //headers e.Graphics.DrawString("Prontuário", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(20, 85)); e.Graphics.DrawString("Nome", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(107, 85)); e.Graphics.DrawString("Abertura", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(325, 85)); e.Graphics.DrawString("Encerramento", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(490, 85)); e.Graphics.DrawString("Saida. Sup.", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(640, 85)); e.Graphics.DrawString("Status", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), new Point(740, 85)); string encerramento = ""; string saidaSupervisionada = "Não"; IQueryable<SolicitacaoSaida> solicitacoes = null; try { var sDAO = new SolicitacaoSaidaDAO(); solicitacoes = sDAO.get(s => s.abertura.Year.ToString() == cmbRelAno.SelectedItem.ToString() && s.abertura.Month.ToString() == cmbRelMes.SelectedItem.ToString()); } catch (Exception) { mensagem("Erro ao gerar relatório"); } foreach (SolicitacaoSaida s in solicitacoes) { if (s.encerramento != null) { encerramento = s.encerramento.Value.ToString("dd/mm/yyy hh:mm:ss"); } else { encerramento = ""; } if (s.saidaSupervisionada == true) { saidaSupervisionada = "Sim"; } else { saidaSupervisionada = "Não"; } e.Graphics.DrawString(s.aluno.prontuario.prontuario, new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(20, eixoX)); e.Graphics.DrawString(s.aluno.nome, new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(107, eixoX)); e.Graphics.DrawString(s.abertura.ToString("dd/mm/yyy hh:mm:ss"), new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(325, eixoX)); e.Graphics.DrawString(encerramento, new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(490, eixoX)); e.Graphics.DrawString(saidaSupervisionada, new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(640, eixoX)); e.Graphics.DrawString(s.status.ToString(), new Font("Arial", 11, FontStyle.Regular), new SolidBrush(Color.Black), new Point(740, eixoX)); eixoX += 15; } }
private static IQueryable<SolicitacaoSaida> getSolicitacaoesHoje() { var ssDAO = new SolicitacaoSaidaDAO(); var dataAtual = DateTime.Now; //buscando todas as solicitações de hoje return ssDAO.get(s => s.abertura.DayOfYear == dataAtual.DayOfYear && s.abertura.Year == dataAtual.Year); }
private void preencherGridsSolicitacoes() { dgvSolicitacoesAbertas.Rows.Clear(); dgvSolicitacoesAbertas.Refresh(); dgvSolicitacoesExpiradas.Rows.Clear(); dgvSolicitacoesExpiradas.Refresh(); dgvSolicitacoesFinalizadas.Rows.Clear(); dgvSolicitacoesFinalizadas.Refresh(); atualizandoStatusSolicitacoes(); var ssDAO = new SolicitacaoSaidaDAO(); //buscando todas as solicitações de hoje IQueryable<SolicitacaoSaida> solicitacoesSaida = getSolicitacaoesHoje(); //inserindo cada uma em seu devido grid de acordo com seu status (aberto, experida, expirado) foreach (SolicitacaoSaida solicitacao in solicitacoesSaida) { if (solicitacao.status == StatusSolicitacao.aberto) { string saidaSupervisionada = null; if (solicitacao.saidaSupervisionada == true) { saidaSupervisionada = "Sim"; } else { saidaSupervisionada = "Não"; } dgvSolicitacoesAbertas.Rows.Add(solicitacao.idSolicitacao, solicitacao.aluno.prontuario.prontuario, solicitacao.aluno.nome, saidaSupervisionada, solicitacao.assistenteAluno.nome); } else if (solicitacao.status == StatusSolicitacao.expirado) { dgvSolicitacoesExpiradas.Rows.Add(solicitacao.idSolicitacao, solicitacao.aluno.prontuario.prontuario, solicitacao.aluno.nome, solicitacao.assistenteAluno.nome); } else if (solicitacao.status == StatusSolicitacao.encerrado) { dgvSolicitacoesFinalizadas.Rows.Add(solicitacao.idSolicitacao, solicitacao.aluno.prontuario.prontuario, solicitacao.aluno.nome, solicitacao.assistenteAluno.nome); } } }
private void btnGerarSolicitacaoAluno_Click(object sender, EventArgs e) { if (MessageBox.Show("Deseja realmete gerar solicitação?", "Dúvida", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (String.IsNullOrEmpty(txtMotivoAluno.Text)) { mensagem("Por favor. Insirar o Motivo"); } else { if (ckbSolicitacaoSaida.Checked == true) { try { bool saidaSupervisionada = true; if (rdbSimSaidaSupervisionada.Checked == true) { saidaSupervisionada = true; } else { saidaSupervisionada = false; } var s = new SolicitacaoSaida() { abertura = DateTime.Now, aluno = aluno, assistenteAluno = (Funcionario)acessoPessoa, motivo = txtMotivoAluno.Text, status = StatusSolicitacao.aberto, saidaSupervisionada = saidaSupervisionada }; var solicitacaoSaidaDao = new SolicitacaoSaidaDAO(); if (solicitacaoSaidaDao.adicionar(s)) { mensagem("Solicitação de saída gerada com sucesso!"); gerarSolicitacoes1(); preencherGridsSolicitacoes(); } else { mensagem("Falha ao gerar solicitação de saida. Tente novamente"); gerarSolicitacoes1(); } } catch (Exception ex) { mensagem("Falha ao gerar solicitação. Detalhes: " + ex); } } else { var s = new SolicitacaoEntrada() { abertura = DateTime.Now, aluno = aluno, assistenteAluno = (Funcionario)acessoPessoa, motivo = txtMotivoAluno.Text }; var sDao = new SolicitacaoEntradaDAO(); if (sDao.adicionar(s)) { mensagem("Solicitação de entrada concedida com sucesso!"); gerarSolicitacoes1(); } else { mensagem("Falha ao conceder solicitação de entrada. Tente novamente!"); gerarSolicitacoes1(); } } } } else { return; } }
private void btnFinalizarSolicitacao_Click(object sender, EventArgs e) { if (MessageBox.Show("Deseja realmente finalizar essa solicitação?", "Dúvida", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (dgvSolicitacoesAbertas.SelectedRows.Count == 0) { mensagem("Por favor selecione a linha que corresponde a solicitação desejada"); } else { var ssDAO = new SolicitacaoSaidaDAO(); var ss = ssDAO.find(Convert.ToInt32(dgvSolicitacoesAbertas.CurrentRow.Cells[0].Value)); ss.encerramento = DateTime.Now; ss.status = StatusSolicitacao.encerrado; ss.porteiro = (PessoaFisica)acessoPessoa; try { if (ssDAO.atualizar(ss)) { mensagem("Solicitação finalizada com sucesso! Agora o aluno pode ser dispensado!"); preencherGridsSolicitacoes(); } else { mensagem("Falha ao finalizar solicitação"); } } catch (Exception ex) { mensagem("Falhar ao finalizar solicitação. Detalhes: " + ex); } } } else { return; } }