private async Task <ActionResult> Editar(Ministerio ministerio) { db.Entry(ministerio).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
private void lstBoxPessoa_SelectedValueChanged(object sender, EventArgs e) { Ministerio p = null; if (modelo != null) { p = (Ministerio)modelo; } else { p = (Ministerio)ModeloNovo; } try { if (condicao) { SelectedObjectCollection valor = lstBoxPessoa.SelectedItems; var objetos = valor.Cast <Pessoa>().ToList(); p.Pessoa = new List <PessoaMinisterio>(); foreach (var item in objetos) { p.Pessoa.Add(new PessoaMinisterio { PessoaId = item.Id, Pessoa = item, MinisterioId = p.Id, Ministerio = p }); } } } catch (Exception ex) { MessageBox.Show("Um erro aconteceu " + ex.Message); } }
private async Task <ActionResult> Create(Ministerio ministerio) { db.ministerio.Add((Ministerio)ministerio); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IHttpActionResult> PutMinisterio(int id, Ministerio ministerio) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != ministerio.IdMinisterio) { return(BadRequest()); } db.Entry(ministerio).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MinisterioExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private async Task <ActionResult> Create(Ministerio ministerio) { modelocrud.EntityCrud = true; db.ministerio.Add((Ministerio)ministerio); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public ConfirmMinistryView(Ministerio ministerio) { InitializeComponent(); viewmodel = new JoinViewModel(); viewmodel.Ministerio = ministerio; BindingContext = viewmodel; Api = new ApiServices(); }
public async Task <ActionResult> DeleteConfirmed(int id) { Ministerio ministerio = await db.ministerio.FindAsync(id); db.ministerio.Remove(ministerio); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
private async Task <ActionResult> Editar(Ministerio ministerio) { modelocrud.EntityCrud = true; db.Entry(ministerio).State = EntityState.Modified; db.DadoAlterado.Add(new DadoAlterado { Entidade = ministerio.GetType().Name, IdDado = ministerio.Id }); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IHttpActionResult> GetMinisterio(int id) { Ministerio ministerio = await db.ministerio.FindAsync(id); if (ministerio == null) { return(NotFound()); } return(Ok(ministerio)); }
public async Task <IHttpActionResult> PostMinisterio(Ministerio ministerio) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ministerio.Add(ministerio); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = ministerio.IdMinisterio }, ministerio)); }
// GET: Ministerio/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Ministerio ministerio = await db.ministerio.FindAsync(id); if (ministerio == null) { return(HttpNotFound()); } return(View(ministerio)); }
public async Task <IHttpActionResult> DeleteMinisterio(int id) { Ministerio ministerio = await db.ministerio.FindAsync(id); if (ministerio == null) { return(NotFound()); } db.ministerio.Remove(ministerio); await db.SaveChangesAsync(); return(Ok(ministerio)); }
public async Task <ActionResult> DeleteConfirmed(int id) { modelocrud.EntityCrud = true; Ministerio ministerio = await db.ministerio.FindAsync(id); db.ministerio.Remove(ministerio); await db.SaveChangesAsync(); db.DadoExcluido.Add(new DadoExcluido { Entidade = ministerio.GetType().Name, IdDado = id }); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public DetalheMinisterioViewModel(Ministerio ministerio) { this.Ministerio = ministerio; ParticiparCommand = new Command(() => { MessagingCenter.Send(ministerio, "Participar"); }); CelulasCommand = new Command(() => { MessagingCenter.Send(ministerio, "Celulas"); }); PessoasCommand = new Command(() => { MessagingCenter.Send(ministerio, "Pessoas"); }); }
public async Task <IHttpActionResult> DeleteMinisterio(int id) { Ministerio ministerio = await db.ministerio.FindAsync(id); if (ministerio == null) { return(NotFound()); } db.ministerio.Remove(ministerio); await db.SaveChangesAsync(); db.DadoExcluido.Add(new DadoExcluido { Entidade = ministerio.GetType().Name, IdDado = id }); await db.SaveChangesAsync(); return(Ok(ministerio)); }
public ActionResult ParticiparMinisterio(int Id) { var usermaneger = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var users = usermaneger.Users.ToList(); var user = users.FirstOrDefault(u => u.UserName == User.Identity.GetUserName()); if (user != null) { Pessoa pessoa = banco.pessoas.First(m => m.Codigo == user.Codigo); Ministerio ministerio = banco.ministerio.Find(Id); ministerio.RemoverDaLista("PessoaMinisterio", ministerio, new VisitanteLgpd(), pessoa.IdPessoa + ", "); ministerio.alterar(Id); } ViewBag.mensagem = "Parabêns você esta participando do ministério!!!"; return(View("Index")); }
private void DadoMinisterio_Load(object sender, EventArgs e) { this.Text = " - Dados de Ministério"; lstBoxPessoa.DataSource = modelocrud.Modelos.OfType <Pessoa>().OrderBy(m => m.Id).ToList(); if (modelocrud.Modelos.OfType <Pessoa>().ToList().Count > 0) { lstBoxPessoa.SetSelected(0, false); } Ministerio p = null; if (modelo != null) { p = (Ministerio)modelo; } else { p = (Ministerio)ModeloNovo; } try { txt_nome_ministerio.Text = p.Nome; } catch (Exception ex) { MessageBox.Show(modeloErro.exibirMensagemErro(ex, 2)); } try { txt_proposito.Text = p.Proposito; } catch (Exception ex) { MessageBox.Show(modeloErro.exibirMensagemErro(ex, 2)); } try { if (p.Ministro_ != null) { var indice = lstBoxPessoa.Items.IndexOf(modelocrud.Modelos.OfType <Pessoa>().First(m => m.Id == p.Ministro_)); lstBoxPessoa.SetSelected(indice, true); } else { ckBoxNulo.Checked = true; } } catch (Exception ex) { MessageBox.Show(modeloErro.exibirMensagemErro(ex, 2)); } condicao = true; }
// GET: Ministerio/Create public ActionResult Create(string tipo) { Ministerio ministerio = null; if (tipo == "Lider_Celula") { ministerio = new Lider_Celula(); } if (tipo == "Lider_Celula_Treinamento") { ministerio = new Lider_Celula_Treinamento(); } if (tipo == "Lider_Ministerio") { ministerio = new Lider_Ministerio(); } if (tipo == "Lider_Ministerio_Treinamento") { ministerio = new Lider_Ministerio_Treinamento(); } if (tipo == "Supervisor_Celula") { ministerio = new Supervisor_Celula(); } if (tipo == "Supervisor_Celula_Treinamento") { ministerio = new Supervisor_Celula_Treinamento(); } if (tipo == "Supervisor_Ministerio") { ministerio = new Supervisor_Ministerio(); } if (tipo == "Supervisor_Ministerio_Treinamento") { ministerio = new Supervisor_Ministerio_Treinamento(); } return(View(ministerio)); }
public ActionResult ParticiparMinisterio(int Id) { var usermaneger = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var users = usermaneger.Users.ToList(); var user = users.FirstOrDefault(u => u.UserName == User.Identity.GetUserName()); if (user != null) { Pessoa pessoa = banco.pessoas.First(m => m.Codigo == user.Codigo); Ministerio ministerio = banco.ministerio.Find(Id); PessoaMinisterio pm = new PessoaMinisterio { PessoaId = pessoa.Id, MinisterioId = ministerio.Id }; banco.PessoaMinisterio.Add(pm); banco.SaveChanges(); } ViewBag.mensagem = "Parabêns você esta participando do ministério!!!"; return(View("Index")); }
public async void ParticiparMinisterio(Ministerio Ministerio) { HttpClient cliente = new HttpClient(); var json = JsonConvert.SerializeObject(new { MinisterioId = Ministerio.IdMinisterio, PessoaId = App.UserCurrent.IdPessoa }); var conteudo = new StringContent(json, Encoding.UTF8, "application/json"); var resposta = await cliente.PostAsync(URL_POST_PARTICIPARMINISTERIO, conteudo); if (resposta.IsSuccessStatusCode) { MessagingCenter.Send <Ministerio>(Ministerio, "SucessoParticiparMinisterio"); } else { MessagingCenter.Send <ArgumentException>(new ArgumentException(), "FalhaParticiparMinisterio"); } }
internal async void SairMinisterio(Ministerio Ministerio) { HttpClient cliente = new HttpClient(); var resultadoLista = await cliente.GetStringAsync (URL_POST_PARTICIPARMINISTERIO + "?$filter=MinisterioId eq " + Ministerio.IdMinisterio.ToString() + "&$filter=PessoaId eq " + App.UserCurrent.IdPessoa.ToString()); var listaPessoaMinisterio = JsonConvert.DeserializeObject <PessoaMinisterio[]>(resultadoLista); var resposta = await cliente.DeleteAsync(URL_DELETE_PARTICIPARMINISTERIO + listaPessoaMinisterio[0].Id.ToString()); if (resposta.IsSuccessStatusCode) { MessagingCenter.Send <Ministerio>(Ministerio, "SucessoSairMinisterio"); } else { MessagingCenter.Send <ArgumentException>(new ArgumentException(), "FalhaSairMinisterio"); } }
private async void FormularioListView_Load(object sender, EventArgs e) { this.Size = new Size(700, 350); if (Modelo is MudancaEstado) { botaoAtualizar.Visible = false; botaoDeletar.Visible = false; } lista = new List <modelocrud>(); if (Modelo != null) { lista = await Task.Run(() => Modelo.recuperar(null)); if (Modelo is business.classes.Abstrato.Pessoa) { Mudanca.Visible = true; } } else { if (Tipo == "Celula") { lista = await Task.Run(() => business.classes.Abstrato.Celula.recuperarTodasCelulas()); } if (Tipo == "Ministerio") { lista = await Task.Run(() => Ministerio.recuperarTodosMinisterios()); } if (Tipo == "Pessoa") { lista = await Task.Run(() => business.classes.Abstrato.Pessoa.recuperarTodos()); Mudanca.Visible = true; } if (Tipo == "PessoaDado") { lista = lista.OfType <PessoaDado>().Select(m => (modelocrud)m).ToList(); } if (Tipo == "PessoaLgpd") { lista = lista.OfType <PessoaLgpd>().Select(m => (modelocrud)m).ToList(); } if (Tipo == "MembroLgpd") { lista = lista.OfType <MembroLgpd>().Select(m => (modelocrud)m).ToList(); } if (Tipo == "Membro") { lista = lista.OfType <Membro>().Select(m => (modelocrud)m).ToList(); } } ListView.Dock = DockStyle.Left; if (lista != null) { foreach (var v in lista) { ListView.Items.Add(v.ToString()); } } }
private void PessoasCelulasMinisterio_Load(object sender, EventArgs e) { this.Text = " - Celulas e pessoas do ministério."; this.Proximo.Location = new Point(600, 150); this.Atualizar.Location = new Point(600, 250); this.Deletar.Location = new Point(600, 350); lstBoxCelula.DataSource = modelocrud.Modelos.OfType <Celula>().OrderBy(m => m.Id).ToList(); if (modelocrud.Modelos.OfType <Celula>().ToList().Count > 0) { lstBoxCelula.SetSelected(0, false); } lstBoxPessoa.DataSource = modelocrud.Modelos.OfType <Pessoa>().OrderBy(m => m.Id).ToList(); if (modelocrud.Modelos.OfType <Pessoa>().ToList().Count > 0) { lstBoxPessoa.SetSelected(0, false); } Ministerio p = null; if (modelo != null) { p = (Ministerio)modelo; } else { p = (Ministerio)ModeloNovo; } try { foreach (var item in p.Pessoa) { var indice = lstBoxPessoa.Items.IndexOf(item.Pessoa); lstBoxPessoa.SetSelected(indice, true); } } catch (Exception ex) { var msg = modeloErro.exibirMensagemErro(ex, 2); if (msg != "") { MessageBox.Show(msg); } } try { foreach (var item in p.Celulas) { var indice = lstBoxCelula.Items.IndexOf(item.Celula); lstBoxCelula.SetSelected(indice, true); } } catch (Exception ex) { var msg = modeloErro.exibirMensagemErro(ex, 2); if (msg != "") { MessageBox.Show(msg); } } condicao = true; }
private async void FazerMudanca_Click(object sender, EventArgs e) { if (ModeloNovo is Pessoa) { Pessoa p = (Pessoa)ModeloNovo; FormProgressBar2 frm = new FormProgressBar2(); try { if (BDcomum.TestarConexao()) { frm.StartPosition = FormStartPosition.CenterScreen; frm.Text = "Aguarde o processamento ..."; frm.Show(); await new FrmPrincipal().AtualizarDadosRemotos(); p.MudarEstado(ModeloVelho.Id, ModeloNovo); frm.Dispose(); } else { if (!frm.IsDisposed) { frm.Dispose(); } MessageBox.Show("Conecte-se a internet."); } } catch (Exception ex) { MessageBox.Show(p.exibirMensagemErro(ex, 2)); } } if (ModeloNovo is Ministerio) { Ministerio p = (Ministerio)ModeloNovo; FormProgressBar2 frm = new FormProgressBar2(); try { if (BDcomum.TestarConexao()) { frm.StartPosition = FormStartPosition.CenterScreen; frm.Text = "Aguarde o processamento ..."; frm.Show(); await new FrmPrincipal().AtualizarDadosRemotos(); p.MudarEstado(ModeloVelho.Id, ModeloNovo); frm.Dispose(); } else { if (!frm.IsDisposed) { frm.Dispose(); } MessageBox.Show("Conecte-se a internet."); } } catch (Exception ex) { MessageBox.Show(p.exibirMensagemErro(ex, 2)); } } }
public PessoasCelulasMinisterio(Ministerio p, bool Deletar, bool Atualizar, bool Detalhes) : base(p, Deletar, Atualizar, Detalhes) { InitializeComponent(); }
private void Atualizar_Click(object sender, EventArgs e) { if (modelo is Celula) { var p = (Celula)modelo; if (!string.IsNullOrEmpty(AddNaListaCelulaMinisterios)) { var listaMinisterio = Ministerio.recuperarTodosMinisterios() .OfType <Ministerio>().ToList(); var arr = AddNaListaCelulaMinisterios.Replace(" ", "").Split(','); foreach (var item in arr) { try { if (listaMinisterio.FirstOrDefault(i => i.IdMinisterio == int.Parse(item)) == null) { AddNaListaCelulaMinisterios.Replace(item, ""); } } catch { } } p.RemoverDaLista("MinisterioCelula", p, new Lider_Celula(), AddNaListaCelulaMinisterios); } } if (modelo is Ministerio) { var p = (Ministerio)modelo; if (!string.IsNullOrEmpty(AddNaListaMinisterioPessoas)) { p.RemoverDaLista("PessoaMinisterio", p, new Visitante(), AddNaListaMinisterioPessoas); } if (!string.IsNullOrEmpty(AddNaListaMinisterioCelulas)) { p.RemoverDaLista("MinisterioCelula", p, new Celula_Adolescente(), AddNaListaMinisterioCelulas); } } if (modelo is business.classes.Abstrato.Pessoa) { var p = (Pessoa)modelo; if (!string.IsNullOrEmpty(AddNaListaPessoaMinsterios)) { p.RemoverDaLista("PessoaMinisterio", p, new Lider_Celula(), AddNaListaPessoaMinsterios); } if (!string.IsNullOrEmpty(AddNaListaPessoaReunioes)) { p.RemoverDaLista("ReuniaoPessoa", p, new Reuniao(), AddNaListaPessoaReunioes); } } if (modelo is business.classes.Reuniao) { var p = (business.classes.Reuniao)modelo; if (!string.IsNullOrEmpty(AddNaListaReuniaoPessoas)) { p.RemoverDaLista("ReuniaoPessoa", p, new Visitante(), AddNaListaReuniaoPessoas); } } var id = 0; if (modelo is Pessoa) { var p = (Pessoa)modelo; id = p.IdPessoa; } if (modelo is Ministerio) { var p = (Ministerio)modelo; id = p.IdMinisterio; } if (modelo is Celula) { var p = (Celula)modelo; id = p.IdCelula; } if (modelo is Reuniao) { var p = (Reuniao)modelo; id = p.IdReuniao; } modelo.alterar(id); MessageBox.Show("Informação atualizada com sucesso."); }
//identificar e notificar novos registros. private async Task Notificar() { var lc = await Task.Run(() => Celula.recuperarTodasCelulas()); var lm = await Task.Run(() => Ministerio.recuperarTodosMinisterios()); var lp = await Task.Run(() => Pessoa.recuperarTodos()); var lr = await Task.Run(() => new Reuniao().recuperar(null)); ListaPessoas = lp.OfType <Pessoa>().Where(p => p.Codigo > UltimoRegistroPessoa).ToList(); ListaMinisterios = lm.OfType <Ministerio>().Where(m => m.IdMinisterio > UltimoRegistroMinisterio).ToList(); ListaCelulas = lc.OfType <Celula>().Where(c => c.IdCelula > UltimoRegistroCelula).ToList(); ListaReunioes = lr.OfType <Reuniao>().Where(r => r.IdReuniao > UltimoRegistroReuniao).ToList(); if (ListaPessoas != null) { if (ListaPessoas.Count != 0) { foreach (var p in ListaPessoas) { notifyIcon.ShowBalloonTip(2000, "Info", "Novo registro de uma pessoa. ID: " + p.Codigo, ToolTipIcon.Info); } ListaPessoas.Clear(); UltimoRegistroPessoa = lp.OfType <Pessoa>().OrderBy(m => m.IdPessoa).Last().Codigo; } } if (ListaReunioes != null) { if (ListaReunioes.Count != 0) { foreach (var p in ListaReunioes) { notifyIcon.ShowBalloonTip(2000, "Info", "Novo registro de uma reunião. ID: " + p.IdReuniao, ToolTipIcon.Info); } ListaReunioes.Clear(); UltimoRegistroReuniao = lr.OfType <Reuniao>().Last().IdReuniao; } } if (ListaMinisterios != null) { if (ListaMinisterios.Count != 0) { foreach (var p in ListaMinisterios) { notifyIcon.ShowBalloonTip(2000, "Info", "Novo registro de um ministério. ID: " + p.IdMinisterio, ToolTipIcon.Info); } ListaMinisterios.Clear(); UltimoRegistroMinisterio = lm.OfType <Ministerio>().Last().IdMinisterio; } } if (ListaCelulas != null) { if (ListaCelulas.Count != 0) { foreach (var p in ListaCelulas) { notifyIcon.ShowBalloonTip(2000, "Info", "Novo registro de uma celula. ID: " + p.IdCelula, ToolTipIcon.Info); } ListaCelulas.Clear(); UltimoRegistroCelula = lc.OfType <Celula>().Last().IdCelula; } } }
public async Task imprimir(modelocrud modelo, string tipo) { List <modelocrud> lista = new List <modelocrud>(); PdfPTable table = null; var valorTipo = ""; var porcentagem = ""; var ListaPessoas = await Task.Run(() => Pessoa.recuperarTodos()); int totalPessoas = ListaPessoas.Count; var ListaMinisterios = await Task.Run(() => Ministerio.recuperarTodosMinisterios()); int totalMinisterios = ListaMinisterios.Count; var ListaCelulas = await Task.Run(() => Celula.recuperarTodasCelulas()); int totalCelulas = ListaCelulas.Count; if (modelo != null) { lista = modelo.recuperar(null); var i = 0; foreach (var item in lista.ToList()) { Pessoa p = null; Ministerio m = null; Celula c = null; Reuniao r = null; var id = 0; if (modelo is Pessoa) { p = (Pessoa)item; id = p.IdPessoa; } if (modelo is Ministerio) { m = (Ministerio)item; id = m.IdMinisterio; } if (modelo is Celula) { c = (Celula)item; id = c.IdCelula; } if (modelo is Reuniao) { r = (Reuniao)item; id = r.IdReuniao; } lista[i] = item.recuperar(id)[0]; i++; } } if (modelo != null && modelo is Pessoa) { table = new PdfPTable(2); var quant = modelo.recuperar(null).Count; decimal p = (quant / totalPessoas); porcentagem = "A procentagem em relação ao total de pessoas é " + p.ToString("F2") + "%. Quantidade de registros é: " + quant; } if (modelo != null && modelo is Celula) { var quant = modelo.recuperar(null).Count; decimal p = (quant / totalCelulas); porcentagem = "A procentagem em relação ao total de celulas é " + p.ToString("f2") + "%. Quantidade de registros é: " + quant; } if (modelo != null && modelo is Ministerio) { var quant = modelo.recuperar(null).Count; decimal p = (quant / totalMinisterios); porcentagem = "A procentagem em relação ao total de ministérios é " + p.ToString("f2") + "%. Quantidade de registros é: " + quant; } if (modelo is Reuniao) { table = new PdfPTable(3); } if (tipo == "Pessoa" && modelo == null) { lista = Pessoa.recuperarTodos(); table = new PdfPTable(2); var i = 0; foreach (var item in lista.OfType <Pessoa>().ToList()) { lista[i] = item.recuperar(item.IdPessoa)[0]; i++; } } if (tipo == "MembroLgpd" && modelo == null) { lista = MembroLgpd.recuperarTodosMembros(); table = new PdfPTable(2); var i = 0; foreach (var item in lista.OfType <Pessoa>().ToList()) { lista[i] = item.recuperar(item.IdPessoa)[0]; i++; } } if (tipo == "Membro" && modelo == null) { lista = Membro.recuperarTodosMembros(); table = new PdfPTable(2); var i = 0; foreach (var item in lista.OfType <Pessoa>().ToList()) { lista[i] = item.recuperar(item.IdPessoa)[0]; i++; } } if (tipo == "Ministerio" && modelo == null) { lista = Ministerio.recuperarTodosMinisterios(); table = new PdfPTable(2); var i = 0; foreach (var item in lista.OfType <Ministerio>().ToList()) { lista[i] = item.recuperar(item.IdMinisterio)[0]; i++; } } if (tipo == "Celula" && modelo == null) { lista = Celula.recuperarTodasCelulas(); table = new PdfPTable(2); var i = 0; foreach (var item in lista.OfType <Celula>().ToList()) { lista[i] = item.recuperar(item.IdCelula)[0]; i++; } } if (modelo is MudancaEstado) { table = new PdfPTable(4); } if (tipo != "") { valorTipo = tipo; } else { valorTipo = modelo.GetType().Name; } Document doc = new Document(PageSize.A4); doc.SetMargins(40, 40, 40, 80); string path = Directory.GetCurrentDirectory(); string caminho = path + @"\relatorio\" + "relatorio-" + valorTipo + "-" + DateTime.Now.ToString("dd-MM-yyyy") + ".pdf"; PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(caminho, FileMode.Create)); doc.Open(); Paragraph titulo = new Paragraph(); titulo.Font = new Font(Font.FontFamily.COURIER, 40); titulo.Alignment = Element.ALIGN_CENTER; titulo.Add("Relatório \n\n"); doc.Add(titulo); Paragraph paragrafo = new Paragraph("", new Font(Font.NORMAL, 12)); string conteudo = "Este é um relatório do dia " + DateTime.Now.ToString("dd/MM/yyyy") + " cujo o conteudo é referente a " + valorTipo + $". {porcentagem} \n\n"; paragrafo.Add(conteudo); doc.Add(paragrafo); foreach (var item in lista.OfType <Reuniao>()) { table.AddCell("Id: " + item.IdReuniao.ToString()); table.AddCell("Data da reunião: " + item.Data_reuniao.ToString()); } foreach (var item in lista.OfType <PessoaDado>()) { table.AddCell("ID: " + item.Codigo.ToString()); table.AddCell("Nome: " + item.NomePessoa.ToString()); } foreach (var item in lista.OfType <PessoaLgpd>().ToList()) { table.AddCell("ID: " + item.Codigo.ToString()); table.AddCell("Email: " + item.Email.ToString()); } foreach (var item in lista.OfType <Ministerio>()) { table.AddCell("Id: " + item.IdMinisterio.ToString()); table.AddCell("Data da reunião: " + item.Nome.ToString()); } foreach (var item in lista.OfType <Celula>()) { table.AddCell("Id: " + item.IdCelula.ToString()); table.AddCell("Data da reunião: " + item.Nome.ToString()); } foreach (var item in lista.OfType <Historico>()) { table.AddCell("Data de inicio: " + item.Data_inicio.ToString()); table.AddCell("Data final: " + item.Data_inicio.AddDays(60).ToString()); table.AddCell("Faltas: " + item.Falta.ToString()); } foreach (var item in lista.OfType <MudancaEstado>()) { table.AddCell("Data da mudança: " + item.DataMudanca.ToString("dd/MM/yyyy")); table.AddCell("antigo estado: " + item.velhoEstado); table.AddCell("novo estado: " + item.novoEstado); table.AddCell("Id da pessoa: " + item.CodigoPessoa); } doc.Add(table); string caminhoImg = "http://www.clickfamilia.org.br/oikos2015/wp-content/uploads/2019/07/what-is-family-ministry-lead-300x225.jpg"; Image img = Image.GetInstance(caminhoImg); doc.Add(img); doc.Close(); System.Diagnostics.Process.Start(caminho); }