示例#1
0
        public void LoadFormCrud(modelocrud modelo, bool detalhes, bool deletar, bool atualizar, Form Atual)
        {
            if (!detalhes && !deletar && !atualizar && Atual.IsMdiContainer)
            {
                Form           = formCadastro;
                Form.MdiParent = Atual;
            }
            else
            if (detalhes && Form == null ||
                deletar && Form == null ||
                atualizar && Form == null)
            {
                try
                {
                    var  lista      = modelocrud.listTypesSon(typeof(WFCrud));
                    var  listaTypes = modelocrud.listTypesSon(typeof(modelocrud));
                    Type BaseModel  = modelocrud.ReturnBase(modelo.GetType());

                    foreach (var item in listaTypes)
                    {
                        foreach (var item2 in lista)
                        {
                            if ("Frm" + BaseModel.Name == item2.Name)
                            {
                                Form = (WFCrud)Activator.CreateInstance(item2);
                                break;
                            }
                            else if ("Frm" + modelo.GetType().Name == item2.Name)
                            {
                                Form = (WFCrud)Activator.CreateInstance(item2);
                                break;
                            }
                        }
                        if (Form != null)
                        {
                            Form.MdiParent = Atual.MdiParent;
                            break;
                        }
                    }
                }
                catch { MessageBox.Show("Erro ao abrir form crud!!!"); }
            }
            else
            {
                Form.MdiParent = Atual.MdiParent;
            }


            Form.modelo            = modelo;
            Form.CondicaoDetalhes  = detalhes;
            Form.CondicaoDeletar   = deletar;
            Form.CondicaoAtualizar = atualizar;
            Form.LoadCrudForm();
            Form.Show();
        }
示例#2
0
        private void VerficaPropertyClassSetProperties(Type tipo, int id)
        {
            try
            {
                foreach (var item in tipo.GetProperties().Where(p => !p.PropertyType.IsAbstract &&
                                                                p.PropertyType != typeof(string) && p.PropertyType != typeof(DateTime) &&
                                                                p.PropertyType.Name != "List`1" && p.PropertyType.IsClass &&
                                                                p.GetType().GetProperties()
                                                                .Where(pr => p.ReflectedType == pr.DeclaringType && pr.Name == "Id").ToList().Count == 1).ToList())
                {
                    object     objeto = Activator.CreateInstance(item.PropertyType);
                    modelocrud modelo = (modelocrud)objeto;
                    modelo.Id            = id;
                    modelo.stringConexao = BDcomum.conecta1;
                    modelo.executando    = true;
                    if (modelo.GetType().GetProperties()
                        .Where(p => p.ReflectedType == p.DeclaringType && p.Name == "Id").ToList().Count == 1)
                    {
                        modelo.recuperar(Model.Id);
                    }

                    foreach (var item2 in Model.GetType().GetProperties())
                    {
                        if (item == item2)
                        {
                            item2.SetValue(Model, modelo);
                        }
                    }
                }
            }
            catch (Exception ex) { throw new Exception(ex.InnerException.Message); }
        }
示例#3
0
        public void MudarEstado(int idVelhoEstado, modelocrud m)
        {
            string estado = "";

            modelocrud p = null;

            if (m is Pessoa)
            {
                p = buscarConcreto(typeof(Pessoa), idVelhoEstado);
            }
            if (m is Ministerio)
            {
                p = buscarConcreto(typeof(Ministerio), idVelhoEstado);
            }
            estado = p.GetType().Name;

            p.excluir(idVelhoEstado, "", true, 4);

            var propsList = m.GetType().GetProperties().Where(pro => pro.PropertyType.Name == "List`1").ToList();

            foreach (var item in propsList)
            {
                item.SetValue(m, item.GetValue(p));
            }
            m.Id = 0;
            try
            {
                m.salvar("", true, 4);
            }
            catch (Exception ex)
            {
                p.Insert_padrao += "92sfgg  75293845";
                p.salvar("", true, 4);
                throw new Exception(ex.Message);
            }

            new MudancaEstado
            {
                novoEstado  = m.GetType().Name,
                velhoEstado = estado,
                Data        = DateTime.Now,
                Codigo      = (int)m.GetType().GetProperty("Codigo").GetValue(m)
            }.salvar();
        }
示例#4
0
 private string VerficaPropertyClassDeleteProperties(Type type)
 {
     try
     {
         string delete = "";
         foreach (var item in type.GetProperties().Where(p => !p.PropertyType.IsAbstract &&
                                                         p.PropertyType != typeof(string) && p.PropertyType != typeof(DateTime) &&
                                                         p.PropertyType.Name != "List`1" && p.PropertyType.IsClass).ToList())
         {
             object     objeto = Activator.CreateInstance(item.PropertyType);
             modelocrud modelo = (modelocrud)objeto;
             modelo.Id = Model.Id;
             if (modelo.GetType().GetProperties()
                 .Where(p => p.ReflectedType == p.DeclaringType && p.Name == "Id").ToList().Count == 1)
             {
                 delete += $" delete from {modelo.GetType().Name} where Id='{Model.Id}' ";
             }
         }
         return(delete);
     }
     catch (Exception ex) { throw new Exception(ex.InnerException.Message); }
 }
示例#5
0
        public List <modelocrud> BuscarPorRestricao(modelocrud modelo, string tipo, string comando)
        {
            var       comand    = "";
            var       innerjoin = "";
            DataTable dtable    = new DataTable();

            if (modelo is business.classes.Abstrato.Membro)
            {
                innerjoin = " inner join Membro as MEM  on M.Id=MEM.Id inner join PessoaDado as PD on MEM.Id=P.Id"
                            + " inner join Pessoa as P on PD.Id=P.Id";
            }

            if (modelo is business.classes.Abstrato.MembroLgpd)
            {
                innerjoin = " inner join MembroLgpd as MEM  on M.Id=MEM.Id inner join PessoaLgpd as PL on MEM.Id=P.Id"
                            + " inner join Pessoa as P on PD.Id=P.Id";
            }

            if (modelo is business.classes.Pessoas.PessoaDado)
            {
                innerjoin = " inner join PessoaDado as PD on M.Id=P.Id inner join Pessoa as P on PD.Id=P.Id ";
            }

            if (modelo is business.classes.Pessoas.PessoaLgpd)
            {
                innerjoin = " inner join PessoaLgpd as PD on M.Id=P.Id inner join Pessoa as P on PD.Id=P.Id ";
            }

            if (modelo != null)
            {
                comand = $"select * from {modelo.GetType().Name} as M {innerjoin} ";
            }

            if (modelo == null)
            {
                comand = $"select * from {tipo} as M {innerjoin} ";
            }

            if (comando != "")
            {
                comand += $" where {comando} ";
            }

            SqlCommand     c      = new SqlCommand(comand, bd.obterconexao());
            SqlDataAdapter objadp = new SqlDataAdapter(c);

            objadp.Fill(dtable);

            if (modelo == null && tipo == "Pessoa" ||
                modelo == null && tipo == "PessoaLgpd" ||
                modelo is business.classes.Pessoas.Visitante ||
                modelo is business.classes.Pessoas.Crianca ||
                modelo is business.classes.Pessoas.Membro_Aclamacao ||
                modelo is business.classes.Pessoas.Membro_Batismo ||
                modelo is business.classes.Pessoas.Membro_Reconciliacao ||
                modelo is business.classes.Pessoas.Membro_Transferencia ||
                modelo is business.classes.PessoasLgpd.VisitanteLgpd ||
                modelo is business.classes.PessoasLgpd.CriancaLgpd ||
                modelo is business.classes.PessoasLgpd.Membro_AclamacaoLgpd ||
                modelo is business.classes.PessoasLgpd.Membro_BatismoLgpd ||
                modelo is business.classes.PessoasLgpd.Membro_ReconciliacaoLgpd ||
                modelo is business.classes.PessoasLgpd.Membro_TransferenciaLgpd)
            {
                List <modelocrud> l = new List <modelocrud>();
                var listaPessoa     = business.classes.Abstrato.Pessoa.recuperarTodos()
                                      .OfType <business.classes.Abstrato.Pessoa>().ToList();
                var lista = new List <modelocrud>();
                foreach (var itemlista in listaPessoa)
                {
                    lista.Add(itemlista.recuperar(itemlista.IdPessoa)[0]);
                }

                foreach (var item in dtable.Select(""))
                {
                    l.Add(lista.OfType <business.classes.Abstrato.Pessoa>()
                          .First(i => i.IdPessoa == int.Parse(item["IdPessoa"].ToString())));
                }
                return(l);
            }

            if (modelo == null && tipo == "Ministerio" || modelo is business.classes.Ministerio.Lider_Celula ||
                modelo is business.classes.Ministerio.Lider_Celula_Treinamento ||
                modelo is business.classes.Ministerio.Lider_Ministerio ||
                modelo is business.classes.Ministerio.Lider_Ministerio_Treinamento ||
                modelo is business.classes.Ministerio.Supervisor_Celula ||
                modelo is business.classes.Ministerio.Supervisor_Celula_Treinamento ||
                modelo is business.classes.Ministerio.Supervisor_Ministerio ||
                modelo is business.classes.Ministerio.Supervisor_Ministerio_Treinamento)
            {
                List <modelocrud> l = new List <modelocrud>();
                var listaMinisterio = business.classes.Abstrato.Ministerio.recuperarTodosMinisterios()
                                      .OfType <business.classes.Abstrato.Ministerio>().ToList();
                var lista = new List <modelocrud>();
                foreach (var itemlista in listaMinisterio)
                {
                    lista.Add(itemlista.recuperar(itemlista.IdMinisterio)[0]);
                }

                foreach (var item in dtable.Select(""))
                {
                    l.Add(lista.OfType <business.classes.Abstrato.Ministerio>()
                          .First(i => i.IdMinisterio == int.Parse(item["IdMinisterio"].ToString())));
                }
                return(l);
            }

            if (modelo == null && tipo == "Celula" ||
                modelo is business.classes.Celulas.Celula_Adolescente ||
                modelo is business.classes.Celulas.Celula_Adulto ||
                modelo is business.classes.Celulas.Celula_Casado ||
                modelo is business.classes.Celulas.Celula_Crianca ||
                modelo is business.classes.Celulas.Celula_Jovem)
            {
                List <modelocrud> l = new List <modelocrud>();
                var listaCelula     = business.classes.Abstrato.Celula.recuperarTodasCelulas()
                                      .OfType <business.classes.Abstrato.Celula>().ToList();
                var lista = new List <modelocrud>();
                foreach (var itemlista in listaCelula)
                {
                    lista.Add(itemlista.recuperar(itemlista.IdCelula)[0]);
                }

                foreach (var item in dtable.Select(""))
                {
                    l.Add(lista.OfType <business.classes.Abstrato.Celula>()
                          .First(i => i.IdCelula == int.Parse(item["IdCelula"].ToString())));
                }
                return(l);
            }



            if (modelo is business.classes.Historico || modelo is business.classes.Reuniao ||
                modelo is business.classes.Chamada || modelo is business.classes.MudancaEstado ||
                modelo is business.classes.Endereco || modelo is business.classes.Telefone)
            {
                List <modelocrud> l = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                    l.Add(modelo.recuperar(int.Parse(item["Id"].ToString()))[0]);
                }
                return(l);
            }

            return(null);
        }
示例#6
0
        public void Clicar(Form formularioAtual, string function, modelocrud Modelo = null,
                           bool detalhes = false, bool deletar = false, bool atualizar = false)
        {
            var lista = modelocrud.listTypesAll(typeof(modelocrud));


            foreach (var item in lista)
            {
                if (item.Name + "Imprimir" + "_Click" == function)
                {
                    quantidade++;
                    if (!contagem)
                    {
                        if (FrmPrincipal.executar)
                        {
                            ir.imprimir(item);
                            MessageBox.Show(function + " foi executada!!!");
                        }
                        else
                        {
                            MessageBox.Show("aguarde o processamento!!!");
                        }

                        break;
                    }
                }
                else if (item.Name + "Cadastrar" + "_Click" == function)
                {
                    quantidade++;
                    if (!contagem)
                    {
                        if (FrmPrincipal.executar)
                        {
                            var modelo = (modelocrud)Activator.CreateInstance(item);
                            if (modelo is Celula)
                            {
                                formCadastro = new FrmDia_semana();
                            }
                            else
                            if (modelo is Ministerio)
                            {
                                formCadastro = new FrmNome();
                            }
                            else
                            if (modelo is Reuniao)
                            {
                                formCadastro = new DadoReuniao();
                            }
                            else
                            if (modelo is PessoaDado)
                            {
                                formCadastro = new FrmCpf();
                            }
                            else
                            if (modelo is PessoaLgpd)
                            {
                                formCadastro = new FrmEmail();
                            }
                            else
                            if (modelo is Fonte)
                            {
                                formCadastro = new FrmDadoFonte();
                            }
                            else
                            if (item.BaseType == typeof(modelocrud))
                            {
                                var list = modelocrud.listTypesSon(typeof(WFCrud));

                                foreach (var it in list)
                                {
                                    if ("Frm" + item.Name == it.Name)
                                    {
                                        formCadastro = (WFCrud)Activator.CreateInstance(it);
                                        break;
                                    }
                                }
                            }

                            LoadFormCrud(modelo, detalhes, deletar, atualizar, formularioAtual);
                            break;
                        }
                        else
                        {
                            MessageBox.Show("Aguarde o processamento");
                            break;
                        }
                    }
                }
                else if (item.Name + "Pesquisar" + "_Click" == function)
                {
                    quantidade++;
                    if (!contagem)
                    {
                        if (FrmPrincipal.executar)
                        {
                            Pesquisar query = new Pesquisar(item);
                            query.MdiParent = formularioAtual;
                            query.Text      = "Pesquisar " + item.Name;
                            query.Show();
                        }
                        else
                        {
                            MessageBox.Show("aguarde o processamento!!!");
                        }
                        break;
                    }
                }
                else if (item.Name + "Listar" + "_Click" == function)
                {
                    if (item == typeof(Pessoa) || item.IsSubclassOf(typeof(Pessoa)) ||
                        item == typeof(Ministerio) || item.IsSubclassOf(typeof(Ministerio)))
                    {
                        quantidade += 5;
                    }
                    else
                    {
                        quantidade += 4;
                    }
                    if (!contagem)
                    {
                        if (FrmPrincipal.executar)
                        {
                            FormularioListView frm = new FormularioListView(item);
                            frm.MdiParent = formularioAtual;
                            frm.Text      = "Listar " + item.Name;
                            frm.Show();
                        }
                        else
                        {
                            MessageBox.Show("aguarde o processamento!!!");
                        }

                        break;
                    }
                }
                else if (function.Contains("Selecionar"))
                {
                    if (!contagem)
                    {
                        Type BaseModel = modelocrud.ReturnBase(Modelo.GetType());
                        var  props     = Modelo.GetType().GetProperties();
                        var  listaForm = modelocrud.listTypesAll(typeof(WFCrud));
                        bool teste     = false;
                        foreach (var item2 in props)
                        {
                            if (BaseModel.Name + "Frm" + item2.Name + "Selecionar" + "_Click" == function)
                            {
                                teste = true;
                                foreach (var item3 in listaForm)
                                {
                                    if ("Frm" + item2.Name == item3.Name)
                                    {
                                        Form = (WFCrud)Activator.CreateInstance(item3);
                                        LoadFormCrud(Modelo, detalhes, deletar, atualizar, formularioAtual);
                                        break;
                                    }
                                }
                                break;
                            }
                        }

                        if (teste)
                        {
                            break;
                        }
                    }
                }
                else
                if (function.Contains("Cadastrar") && item != typeof(modelocrud) ||
                    function.Contains("Imprimir") && item != typeof(modelocrud) ||
                    function.Contains("Listar") && item != typeof(modelocrud) ||
                    function.Contains("Selecionar") && item != typeof(modelocrud) ||
                    function.Contains("Pesquisar") && item != typeof(modelocrud))
                {
                    if (!contagem && 1 == 2)
                    {
                        quantidade++;
                        MessageBox.Show($"Não foi executado a {function}!!!");
                        break;
                    }
                }
            }
        }
示例#7
0
        public List <modelocrud> BuscarPorRestricao(modelocrud modelo, string tipo, string comando)
        {
            var       comand    = "";
            var       innerjoin = "";
            DataTable dtable    = new DataTable();

            if (modelo is business.classes.Mensagem)
            {
                innerjoin = " inner join Membro as MEM  on M.Id=MEM.Id inner join Pessoa as P on MEM.Id=P.Id";
            }

            else if (modelo is business.classes.Mensagem)
            {
                innerjoin = " inner join Pessoa as P on M.Id=P.Id";
            }

            if (modelo != null)
            {
                comand = $"select * from {modelo.GetType().Name} as M {innerjoin} ";
            }

            if (modelo == null)
            {
                comand = $"select * from {tipo} as M {innerjoin} ";
            }

            if (comando != "")
            {
                comand += $" where {comando} ";
            }

            SqlCommand     c      = new SqlCommand(comand, bd.obterconexao());
            SqlDataAdapter objadp = new SqlDataAdapter(c);

            objadp.Fill(dtable);

            if (modelo == null)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            if (modelo == null)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            if (modelo == null)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            if (modelo is business.classes.Abstrato.Fonte)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            if (modelo is business.classes.Fontes.Versiculo)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            if (modelo is business.classes.Fontes.Versiculo)
            {
                List <modelocrud> lista = new List <modelocrud>();
                foreach (var item in dtable.Select(""))
                {
                }
                return(lista);
            }

            return(null);
        }
示例#8
0
 private void recuperarSalvarRegistros(int v1, int v2, Type item)
 {
     if (modelocrud.TotalRegistro(item, BDcomum.conecta2) >
         modelocrud.Modelos.Where(m => m.GetType() == item || m.GetType().IsSubclassOf(item)).ToList().Count)
     {
         while (v1 <= v2)
         {
             if (modelocrud.Modelos.Where(m => m.GetType() == item).ToList().FirstOrDefault(i => i.Id == v1) == null)
             {
                 modelocrud m          = null;
                 modelocrud m2         = null;
                 var        listaTypes = modelocrud.listTypesSon(modelocrud.ReturnBase(item));
                 foreach (var i in listaTypes)
                 {
                     m  = (modelocrud)Activator.CreateInstance(i);
                     m2 = (modelocrud)Activator.CreateInstance(i);
                     m.stringConexao  = BDcomum.conecta2;
                     m2.stringConexao = BDcomum.conecta1;
                     if (m.recuperar(v1) && !m2.recuperar(v1))
                     {
                         m.Id            = 0;
                         m.stringConexao = BDcomum.conecta1;
                         m.salvar(BDcomum.conecta1);
                         modelocrud.Modelos.Add(m);
                         notifyIcon.ShowBalloonTip(5000, "Info",
                                                   $"Uma informação do banco de dados remoto foi inserida neste programa. - {m.GetType().Name} - {m.Id}",
                                                   ToolTipIcon.Info);
                     }
                 }
             }
             v1++;
         }
     }
 }
示例#9
0
        public void MudarEstado(int idVelhoEstado, modelocrud m)
        {
            string        estado = "";
            var           lista  = Pessoa.recuperarTodos();
            List <Pessoa> lista2 = new List <Pessoa>();

            foreach (var item in lista)
            {
                lista2.Add((Pessoa)item);
            }
            Pessoa p = lista2.First(i => i.IdPessoa == idVelhoEstado);

            estado = p.GetType().Name;
            p      = (Pessoa)p.recuperar(p.IdPessoa)[0];

            p.excluir(idVelhoEstado);

            var addMinisterios = "";
            var minis          = p.Ministerios;

            if (minis != null)
            {
                foreach (var itemMinisterio in minis)
                {
                    addMinisterios += itemMinisterio.Ministerio.IdMinisterio.ToString() + ", ";
                }
            }
            if (minis != null)
            {
                if (minis.Count != 0)
                {
                    p.AdicionarNaLista("PessoaMinsterio", p, minis[0], addMinisterios);
                }
            }

            var addReunioes = "";
            var reu         = p.Reuniao;

            if (reu != null)
            {
                foreach (var itemReuniao in reu)
                {
                    addReunioes += itemReuniao.Reuniao.IdReuniao.ToString() + ", ";
                }
            }
            if (reu != null)
            {
                if (reu.Count != 0)
                {
                    p.AdicionarNaLista("ReuniaoPessoa", p, reu[0], addReunioes);
                }
            }

            if (m is PessoaDado)
            {
                if (m is Membro_Aclamacao)
                {
                    var modelo = (Membro_Aclamacao)m;
                    var pd     = modelo;
                    Membro_Aclamacao membro = new Membro_Aclamacao
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        Denominacao         = modelo.Denominacao,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_Batismo)
                {
                    var            modelo = (Membro_Batismo)m;
                    var            pd     = modelo;
                    Membro_Batismo membro = new Membro_Batismo
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_Reconciliacao)
                {
                    var modelo = (Membro_Reconciliacao)m;
                    var pd     = modelo;
                    Membro_Reconciliacao membro = new Membro_Reconciliacao
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        Data_reconciliacao  = modelo.Data_reconciliacao,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_Transferencia)
                {
                    var modelo = (Membro_Transferencia)m;
                    var pd     = modelo;
                    Membro_Transferencia membro = new Membro_Transferencia
                    {
                        Data_batismo              = modelo.Data_batismo,
                        Desligamento              = modelo.Desligamento,
                        Motivo_desligamento       = modelo.Motivo_desligamento,
                        Estado_transferencia      = modelo.Estado_transferencia,
                        Nome_cidade_transferencia = modelo.Nome_cidade_transferencia,
                        Nome_igreja_transferencia = modelo.Nome_igreja_transferencia,
                        celula_         = pd.celula_,
                        Chamada         = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Crianca)
                {
                    var     modelo = (Crianca)m;
                    var     pd     = modelo;
                    Crianca c      = new Crianca
                    {
                        Nome_mae        = modelo.Nome_mae,
                        Nome_pai        = modelo.Nome_pai,
                        celula_         = pd.celula_,
                        Chamada         = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    c.salvar();
                }

                if (m is Visitante)
                {
                    var       modelo = (Visitante)m;
                    var       pd     = modelo;
                    Visitante v      = new Visitante
                    {
                        Condicao_religiosa = modelo.Condicao_religiosa,
                        Data_visita        = modelo.Data_visita,
                        celula_            = pd.celula_,
                        Chamada            = pd.Chamada,
                        Cpf             = pd.Cpf,
                        Data_nascimento = pd.Data_nascimento,
                        Email           = pd.Email,
                        Endereco        = pd.Endereco,
                        Estado_civil    = pd.Estado_civil,
                        Falta           = pd.Falta,
                        Historico       = pd.Historico,
                        Img             = pd.Img,
                        Falescimento    = pd.Falescimento,
                        NomePessoa      = pd.NomePessoa,
                        Reuniao         = pd.Reuniao,
                        Rg             = pd.Rg,
                        Ministerios    = pd.Ministerios,
                        Sexo_feminino  = pd.Sexo_feminino,
                        Sexo_masculino = pd.Sexo_masculino,
                        Telefone       = pd.Telefone,
                        Status         = pd.Status,
                        Codigo         = pd.Codigo
                    };
                    v.salvar();
                }
            }

            if (m is PessoaLgpd)
            {
                if (m is Membro_AclamacaoLgpd)
                {
                    var modelo = (Membro_AclamacaoLgpd)m;
                    var pd     = (PessoaLgpd)p;
                    Membro_AclamacaoLgpd membro = new Membro_AclamacaoLgpd
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        Denominacao         = modelo.Denominacao,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_BatismoLgpd)
                {
                    var modelo = (Membro_BatismoLgpd)m;
                    var pd     = (PessoaLgpd)p;
                    Membro_BatismoLgpd membro = new Membro_BatismoLgpd
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_ReconciliacaoLgpd)
                {
                    var modelo = (Membro_ReconciliacaoLgpd)m;
                    var pd     = (PessoaLgpd)p;
                    Membro_ReconciliacaoLgpd membro = new Membro_ReconciliacaoLgpd
                    {
                        Data_batismo        = modelo.Data_batismo,
                        Desligamento        = modelo.Desligamento,
                        Motivo_desligamento = modelo.Motivo_desligamento,
                        Data_reconciliacao  = modelo.Data_reconciliacao,
                        celula_             = pd.celula_,
                        Chamada             = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is Membro_TransferenciaLgpd)
                {
                    var modelo = (Membro_TransferenciaLgpd)m;
                    var pd     = (PessoaLgpd)p;
                    Membro_TransferenciaLgpd membro = new Membro_TransferenciaLgpd
                    {
                        Data_batismo              = modelo.Data_batismo,
                        Desligamento              = modelo.Desligamento,
                        Motivo_desligamento       = modelo.Motivo_desligamento,
                        Estado_transferencia      = modelo.Estado_transferencia,
                        Nome_cidade_transferencia = modelo.Nome_cidade_transferencia,
                        Nome_igreja_transferencia = modelo.Nome_igreja_transferencia,
                        celula_     = pd.celula_,
                        Chamada     = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    membro.salvar();
                }

                if (m is CriancaLgpd)
                {
                    var         modelo = (CriancaLgpd)m;
                    var         pd     = (PessoaLgpd)p;
                    CriancaLgpd c      = new CriancaLgpd
                    {
                        Nome_mae    = modelo.Nome_mae,
                        Nome_pai    = modelo.Nome_pai,
                        celula_     = pd.celula_,
                        Chamada     = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    c.salvar();
                }

                if (m is VisitanteLgpd)
                {
                    var           modelo = (VisitanteLgpd)m;
                    var           pd     = (PessoaLgpd)p;
                    VisitanteLgpd v      = new VisitanteLgpd
                    {
                        Condicao_religiosa = modelo.Condicao_religiosa,
                        Data_visita        = modelo.Data_visita,
                        celula_            = pd.celula_,
                        Chamada            = pd.Chamada,
                        Email       = pd.Email,
                        Falta       = pd.Falta,
                        Historico   = pd.Historico,
                        Img         = pd.Img,
                        Reuniao     = pd.Reuniao,
                        Ministerios = pd.Ministerios,
                        Codigo      = pd.Codigo
                    };
                    v.salvar();
                }
            }

            new MudancaEstado
            {
                novoEstado   = m.GetType().Name,
                velhoEstado  = estado,
                DataMudanca  = DateTime.Now,
                CodigoPessoa = p.Codigo
            }.salvar();
        }
示例#10
0
        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);
        }