private void editarCartaToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog { InitialDirectory = preferencias.PastaPDF, Filter = "Arquivo PDF|*.pdf", Title = "Abrir" }; if (openFileDialog1.ShowDialog() == DialogResult.OK) { if (openFileDialog1.FileName != "") { string filename = openFileDialog1.FileName; PdfDictionary documentNames; PdfDictionary embeddedFiles; PdfDictionary fileArray; PdfDictionary file; PRStream stream; using (PdfReader reader = new PdfReader(filename)) { PdfDictionary catalog = reader.Catalog; documentNames = (PdfDictionary)PdfReader.GetPdfObject(catalog.Get(PdfName.NAMES)); if (documentNames != null) { embeddedFiles = (PdfDictionary)PdfReader.GetPdfObject(documentNames.Get(PdfName.EMBEDDEDFILES)); if (embeddedFiles != null) { PdfArray filespecs = embeddedFiles.GetAsArray(PdfName.NAMES); for (int i = 0; i < filespecs.Size; i++) { i++; fileArray = filespecs.GetAsDict(i); file = fileArray.GetAsDict(PdfName.EF); foreach (PdfName key in file.Keys) { stream = (PRStream)PdfReader.GetPdfObject(file.GetAsIndirectObject(key)); //string attachedFileName = fileArray.GetAsString(key).ToString(); byte[] attachedFileBytes = PdfReader.GetStreamBytes(stream); File.WriteAllBytes(WebFile.AppData + "TempFill.bin", attachedFileBytes); fill = (Fill)WebFile.Deserialize(WebFile.AppData + "TempFill.bin"); Limpar(); PreencherFill(); File.Delete(WebFile.AppData + "TempFill.bin"); Relatório.AdicionarAoRelatorio("Editar carta"); } } } } } } else { Relatório.AdicionarAoRelatorio("Tentativa de editar carta antiga"); MessageBox.Show( "Somente as cartas geradas a partir da versão atual\r\ndo programa podem ser editadas.", "Carta de Cotação", MessageBoxButtons.OK, MessageBoxIcon.Warning); Relatório.AdicionarAoRelatorio("Tentativa de editar carta antiga"); } } }
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); } } }