LevelcodeLicenseAPP/Forms/FrmLicencas.cs
2026-03-25 16:26:11 -03:00

81 lines
2.5 KiB
C#

using LevelCode.License.Business;
using LevelCode.License.DataAccess;
using LevelCode.License.Models;
using LevelCode.License.Models.Enums;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace LevelCode.License.Forms
{
public partial class FrmLicencas : Form
{
public FrmLicencas()
{
InitializeComponent();
CarregarTipos();
}
private void CarregarTipos()
{
cmbTipoLicenca.DataSource = Enum.GetValues(typeof(TipoLicencaEnum));
}
private void chkSemExpiracao_CheckedChanged(object sender, EventArgs e)
{
dtpExpiraEm.Enabled = !chkSemExpiracao.Checked;
}
private void btnSalvar_Click(object sender, EventArgs e)
{
try
{
// 🔹 1. LER OS MÓDULOS MARCADOS
List<string> modulosSelecionados = new List<string>();
foreach (var item in chkModulos.CheckedItems)
{
modulosSelecionados.Add(item.ToString());
}
// 🔹 2. CRIAR O MODELO COM OS MÓDULOS
ModeloLicenca licenca = new ModeloLicenca
{
Cliente = txtCliente.Text.Trim(),
CodigoTipoLicenca = (int)(TipoLicencaEnum)cmbTipoLicenca.SelectedItem,
TipoLicenca = cmbTipoLicenca.SelectedItem.ToString(),
LimiteMaquinas = Convert.ToInt32(txtLimiteMaquinas.Text),
ExpiraEm = chkSemExpiracao.Checked
? (DateTime?)null
: dtpExpiraEm.Value,
// ✅ AQUI ESTAVA FALTANDO
ModulosLista = modulosSelecionados
};
using (DbConexao db = new DbConexao())
{
LicencaDAL dal = new LicencaDAL(db);
LicencaService service = new LicencaService(dal);
int id = service.CriarLicenca(licenca);
MessageBox.Show(
"Licença criada com sucesso!\nID: " + id,
"Sucesso",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(
ex.Message,
"Erro",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
}