/// <summary> /// Lista de doenças. /// </summary> private void ListarDoencas() { var doencaRepositorio = new DoencaRepositorio(); List <Doenca> listaDoencas = doencaRepositorio.Listar(); var listaDeDoencas = listaDoencas.OrderBy(y => y.Nome).ToList(); this.cmbDoenca.Items.Clear(); //binding this.cmbDoenca.DataSource = listaDeDoencas; this.cmbDoenca.DisplayMember = "Nome"; this.cmbDoenca.ValueMember = "CodigoDoenca"; if (this.cmbDoenca.Items.Count > 0) { this.cmbDoenca.SelectedIndex = -1; } }
private void btnInserir_Click(object sender, EventArgs e) { // valida os campos if (!this.ValidarCampos()) { return; } this.Cursor = Cursors.WaitCursor; //criar doenca try { var doencaRepositorio = new DoencaRepositorio(); if (txtNome.Text != null) { var doenca = new Doenca(); doenca.Nome = txtNome.Text.ToString(); doenca.CodigoDoenca = doencaRepositorio.Criar(doenca); this.Cursor = Cursors.Default; MessageBox.Show(this, "A doença [" + doenca.Nome + "] foi cadastrada com sucesso!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.txtNome.Focus(); } } catch (Exception ex) { this.MostrarErro(ex); } finally { this.Cursor = Cursors.Default; txtNome.Clear(); } }
private void btnOK_Click(object sender, EventArgs e) { // valida os campos if (!this.ValidarCampos()) { return; } this.Cursor = Cursors.WaitCursor; try { //repositório var incidenciaDoencaEmUnidadeSaude = new DoencaEmUnidadeSaudeRepositorio(); //repositorio var incidenciaDoencaPorAno = new DoencaRepositorio(); //recupera informações para o relatório var listaIncidenciaDoencaEmUnidadeSaude = incidenciaDoencaEmUnidadeSaude.ListarDoencasERegionais((int)this.cmbDoenca.SelectedValue, this.dtDe.Value.Year, this.dtAte.Value.Year); var listaDeIncidenciaDoencaEmUnidadeSaude = listaIncidenciaDoencaEmUnidadeSaude.OrderBy(y => y.DescricaoDoenca).ToList(); //recupera lista de incidencia da doenca por ano var listaIncidenciaPorAno = incidenciaDoencaPorAno.ListarIncidenciaDoencaPorAno((int)this.cmbDoenca.SelectedValue, this.dtDe.Value.Year, this.dtAte.Value.Year); //ordena a lista por ano var listaDeIncidenciaPorAno = listaIncidenciaPorAno.OrderBy(w => w.Ano).ToList(); var incidencia = listaIncidenciaPorAno.OrderBy(x => x.Incidencia).ToList(); //define os datasources do relatório var localReport = new LocalReport(); localReport.ReportEmbeddedResource = "GestaoSMSAddin.DataAccess.Reports.DoencaEmUnidadesSaudeRpt.rdlc"; localReport.DataSources.Clear(); localReport.DataSources.Add(new ReportDataSource("DoencaEmUnidadesSaude", listaDeIncidenciaDoencaEmUnidadeSaude)); localReport.DataSources.Add(new ReportDataSource("Doenca", listaDeIncidenciaPorAno)); localReport.Refresh(); // parâmetros do relatório string descricaoDoenca = this.cmbDoenca.Text; string ano = DateTime.Now.Year.ToString(); string soma = listaIncidenciaDoencaEmUnidadeSaude.Sum(w => w.Incidencia).ToString(); var rptParameter1 = new ReportParameter("descricaoDoenca", descricaoDoenca); var rptParameter2 = new ReportParameter("ano", ano); var rptParameter3 = new ReportParameter("somaIncidencia", soma); localReport.SetParameters( new ReportParameter[] { rptParameter1, rptParameter2, rptParameter3 }); if (this.dtDe.Value.Year == this.dtAte.Value.Year) { string anoIncidencia = this.dtAte.Value.Year.ToString(); var rptParameter4 = new ReportParameter("anoIncidencia", anoIncidencia); localReport.SetParameters( new ReportParameter[] { rptParameter4 }); } else { string anoIncidencia = this.dtDe.Value.Year.ToString() + " - " + this.dtAte.Value.Year.ToString(); var rptParameter4 = new ReportParameter("anoIncidencia", anoIncidencia); localReport.SetParameters( new ReportParameter[] { rptParameter4 }); } //nome do relatório string nomePdfRelatorio = System.IO.Path.Combine(System.IO.Path.GetTempPath(), Guid.NewGuid().ToString() + ".pdf"); //criação de arquivo do relatório byte[] pdfBytes = localReport.Render("PDF"); var binaryWriter = new BinaryWriter(new FileStream(nomePdfRelatorio, FileMode.CreateNew, FileAccess.Write)); binaryWriter.Write(pdfBytes, 0, pdfBytes.Length); binaryWriter.Close(); //mostra o arquivo de relatório ao usuário Process.Start(nomePdfRelatorio); } catch (Exception ex) { this.MostrarErro(ex); } finally { this.Cursor = Cursors.Default; } }