Example #1
0
        public static async Task CheckAppFilesAsync()//Cria ou atualiza Preferencias.bin / Status.dat / Extras.dll
        {
            string local = AppData + "Preferencias.bin";

            if (!File.Exists(local))
            {
                File.Create(local).Close();
                Prefs = new Preferencias();
            }

            local = AppData + "Status.dat";
            if (!await DownloadFileAsync(_statusUrl, local))
            {
                return;
            }

            local = AppData + "Extras.dll";
            if (!await DownloadFileAsync(_extrasUrl, local))
            {
                return;
            }
        }
Example #2
0
        private async void Home_Load(object sender, EventArgs e)
        {
            try
            {
                //if (!File.Exists(WebFile.AppData + "Status.dat") && !await WebFile.HasInternet())
                //throw new Exception("Sem internet e Status não encontrado");

                await WebFile.CheckAppFilesAsync();

                preferencias  = WebFile.Prefs;
                status        = WebFile.Status;
                tipo1.Checked = true;
                opcaoNomeFuncionario.Checked = true;
                //seguradora.DataSource = status.Segs;
                if (preferencias.Validade)
                {
                    opcaoValidadeCot.Checked = true;
                }
                else
                {
                    opcaoValidadeCot.Checked = true;
                    opcaoValidadeCot.Checked = false;
                }

                if (await Relatório.PrimeiroUso())
                {
                    Relatório.MoverDadosAntigos();
                    if (novaVersaoLabel2.Text != "" && novaVersaoLabel2.Text != " ")
                    {
                        novaVersao.Location = new Point(171, 207);
                        novaVersao.Size     = new Size(503, 229);
                        novaVersao.Visible  = true;
                    }
                }

                if (status.VersoesFunc.FirstOrDefault(v => v.VersionNum == Application.ProductVersion) == null)
                {
                    Relatório.PostMessage(new Relatório(5));
                }

                if (Atualizacao.VerificarAtualizacoes(status))
                {
                    AtualizarPrograma();
                }

                if (status.VersoesFunc.FirstOrDefault(v => v.VersionNum == Application.ProductVersion) == null)
                {
                    Close();
                }

                if (!status.ProgDisp)
                {
                    Relatório.PostMessage(new Relatório(6));
                    Environment.Exit(1);
                }

                if (status.Mensagem != "")
                {
                    mensagem.ForeColor = Color.FromName(status.CorMsg);
                    mensagem.Text      = status.Mensagem.Replace("|", "\r\n");
                    mensagem.Visible   = true;
                }

                if (!status.Fipe)
                {
                    modoManual.Checked = true;
                    modoManual.Visible = false;
                    fipe = false;
                }
                else
                {
                    fipe = true;
                }
                if (File.Exists(WebFile.AppData + "Restauração.bin"))
                {
                    fill = (Fill)WebFile.Deserialize(WebFile.AppData + "Restauração.bin");

                    if (File.GetCreationTime(WebFile.AppData + "Restauração.bin").Date == DateTime.Now.Date &&
                        fill.Cliente != "")
                    {
                        if (
                            MessageBox.Show(
                                "Você deseja restaurar o preenchimento salvo\r\nde quando ocorreu um erro no programa?",
                                "Carta de Cotação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
                            DialogResult.Yes)
                        {
                            mensagem.ForeColor = Color.Blue;
                            mensagem.Text      =
                                "Verifique se o preenchimento restaurado foi\r\ninserido corretamente antes de gerar a carta.";
                            PreencherFill();
                        }
                    }

                    File.Delete(WebFile.AppData + "Restauração.bin");
                }
                //Código para destacar novos recursos:

                /*DateTime dataArquivo = File.GetLastWriteTime(WebFile.AppData + "Versão.dat");
                 * TimeSpan dif = DateTime.Now - dataArquivo;
                 * if (dif.Days <= 3)
                 * {
                 *  label1.Visible = true;
                 *  arquivoToolStripMenuItem.ForeColor = Color.Blue;
                 *  editarCartaToolStripMenuItem.ForeColor = Color.Blue;
                 * }*/
                await Relatório.VerificarEnvio();

                exemploToolStripMenuItem.Enabled = true;
                limparToolStripMenuItem.Enabled  = true;
                botaoLimpar.Enabled = true;
                seguradora.Enabled  = true;
                carregando.Visible  = false;
            }
            catch (Exception ex)
            {
                if (File.Exists(WebFile.AppData + "Status.dat"))
                {
                    Relatório.ExHandler(ex, "Home_Load");
                }
                else
                {
                    MessageBox.Show("ATENÇÃO:\r\nNão foi possível baixar os arquivos necessários para o programa funcionar.\r\n"
                                    + "Verifique se seu Windows está atualizado (IMPORTANTE).\r\n"
                                    + "Verifique sua conexão com a internet ou se o acesso à internet pelo programa está sendo bloqueado.\r\n"
                                    + "\r\nErro interno:\r\n"
                                    + ex.Message, "Carta de Cotação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Relatório.AdicionarAoRelatorio("Status não encontrado");
                    Environment.Exit(1);
                }
            }
        }