Program 1.01
Program 1.01
using System.Windows.Forms;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Xml.Linq; // Para manipulação de XML
using Newtonsoft.Json;
namespace EMISSOR
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
public MainForm()
{
empresasCadastradas = new List<Empresa>();
InitializeComponents();
CarregarEmpresas(); // Carregar empresas do arquivo ao iniciar
}
// Principal FlowLayoutPanel
FlowLayoutPanel mainPanel = new FlowLayoutPanel
{
Dock = DockStyle.Fill,
Padding = new Padding(10),
FlowDirection = FlowDirection.TopDown,
AutoScroll = true
};
this.Controls.Add(mainPanel);
cardPanel.Controls.Add(titleLabel);
cardPanel.Controls.Add(actionButton);
return cardPanel;
}
private void BtnCadastrarEmpresa_Click(object sender, EventArgs e)
{
CadastroEmpresaForm cadastroForm = new CadastroEmpresaForm();
cadastroForm.EmpresaCadastrada += CadastroForm_EmpresaCadastrada;
cadastroForm.ShowDialog();
}
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
// Carregar e processar o XML
XDocument xmlDocument =
XDocument.Load(openFileDialog.FileName);
var empresasXML = xmlDocument.Descendants("empresa");
// Exibir no xmlListBox
xmlListBox.Items.Add($"{nome} - {cnpj} - {endereco}");
}
MessageBox.Show("Empresas importadas com sucesso!", "Importação
Completa", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show($"Erro ao importar XML: {ex.Message}", "Erro",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
string json = JsonConvert.SerializeObject(empresasCadastradas,
Formatting.Indented);
File.WriteAllText(saveFileDialog.FileName, json);
MessageBox.Show("Empresas salvas com sucesso!", "Salvamento
Completo", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show($"Erro ao salvar empresas: {ex.Message}",
"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
string json = File.ReadAllText(openFileDialog.FileName);
empresasCadastradas =
JsonConvert.DeserializeObject<List<Empresa>>(json);
MessageBox.Show("Empresas carregadas com sucesso!",
"Carregamento Completo", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show($"Erro ao carregar empresas: {ex.Message}",
"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
Label nomeLabel = new Label { Text = "Nome da Empresa", Left = 20, Top
= 20, Width = 120 };
nomeTextBox = new TextBox { Left = 150, Top = 20, Width = 250 };
Label cnpjLabel = new Label { Text = "CNPJ", Left = 20, Top = 60, Width
= 120 };
cnpjTextBox = new TextBox { Left = 150, Top = 60, Width = 250 };
this.Controls.Add(nomeLabel);
this.Controls.Add(nomeTextBox);
this.Controls.Add(cnpjLabel);
this.Controls.Add(cnpjTextBox);
this.Controls.Add(enderecoLabel);
this.Controls.Add(enderecoTextBox);
this.Controls.Add(salvarButton);
this.Controls.Add(importarButton);
if (empresaEditada != null)
{
nomeTextBox.Text = empresaEditada.Nome;
cnpjTextBox.Text = empresaEditada.Cnpj;
enderecoTextBox.Text = empresaEditada.Endereco;
}
}