示例#1
0
        private async void FrmPrincipal_Load(object sender, EventArgs e)
        {
            Processando = true;
            executarProcessamentoToolStripMenuItem.Enabled = false;

            mus = new MyUserSettings(this);
            this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColorPrincipal"));
            this.Icon       = new Icon($@"{path}\favicon.ico");
            notifyIcon.Icon = new Icon($@"{path}\favicon.ico");

            Form form = new MDI();
            Type tipo = form.GetType();

            ExecutarFuncoes(sender, e, form, tipo);
            form = new MDIAdmin();
            tipo = form.GetType();
            ExecutarFuncoes(sender, e, form, tipo);
            form = new MDIEsboco();
            tipo = form.GetType();
            ExecutarFuncoes(sender, e, form, tipo);
            form = new MDIFinanceiro();
            tipo = form.GetType();
            ExecutarFuncoes(sender, e, form, tipo);
            form = new MDIEmail();
            tipo = form.GetType();
            ExecutarFuncoes(sender, e, form, tipo);

            MessageBox.Show("Seja bem vindo ao sistema para igreja." +
                            " Neste sistema você poderá fazer gerenciamento de pessoas," +
                            " gerenciamento financeiro, gerenciamento de e-mails e gerenciamento de esboço." +
                            " Quantidade de funções no sistema: " + MdiForm.quantidade + ". Vamos começar o passeio virtual?");
            MdiForm.quantidade = 0;
            MdiForm.contagem   = false;

            LoadForm(this);

            FrmAutenticacao formAutenticacao = new FrmAutenticacao();

            formAutenticacao.Show();

            MessageBox.Show("O processamento será executado.");

            var listaTypes = modelocrud.listTypesSon(typeof(modelocrud));
            var lista      = listaTypes.Where(el => el.GetProperties()
                                              .Where(p => p.ReflectedType == p.DeclaringType && p.Name == "Id").ToList().Count == 0).ToList();

            foreach (var item in lista)
            {
                var modelo = (modelocrud)Activator.CreateInstance(item);
                await Task.Run(() => modelo.recuperar());
            }

            await Task.Run(() =>
            {
                while (int.Parse(modelocrud.textoPorcentagem.Replace("%", "")) < 99)
                {
                }
            });

            var appSettings = ConfigurationManager.AppSettings;

            Email      = appSettings["Email"];
            SenhaEmail = appSettings["Senha"];

            if (modelocrud.Modelos.OfType <Permissao>().FirstOrDefault() == null)
            {
                var arr = new string[]
                {
                    "EnviarEmail", "LerEmail", "AtualizarEmail", "DeletarEmail", "CadastrarAtualizarBody"
                };

                foreach (var item in arr)
                {
                    var permissao = new Permissao {
                        Nome = item
                    };
                    permissao.salvar();
                    modelocrud.Modelos.Add(permissao);
                }
            }

            try { Pessoa.UltimoRegistro = modelocrud.GetUltimoRegistro(typeof(Pessoa), BDcomum.conecta1); }
            catch { Pessoa.UltimoRegistro = 0; }
            try { Reuniao.UltimoRegistro = modelocrud.GetUltimoRegistro(typeof(Reuniao), BDcomum.conecta1); }
            catch { Reuniao.UltimoRegistro = 0; }
            try { Ministerio.UltimoRegistro = modelocrud.GetUltimoRegistro(typeof(Ministerio), BDcomum.conecta1); }
            catch { Ministerio.UltimoRegistro = 0; }
            try { Celula.UltimoRegistro = modelocrud.GetUltimoRegistro(typeof(Celula), BDcomum.conecta1); }
            catch { Celula.UltimoRegistro = 0; }

            await iniciarPrograma();

            await Task.Run(() => alterarDadosRemotos(lista));

            var models = modelocrud.Modelos;
        }