90 lines
2.7 KiB
C#
90 lines
2.7 KiB
C#
using Levelcode_licenseCliente.Models;
|
|
using System;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace Levelcode_licenseCliente.DataAccess
|
|
{
|
|
public class LicencaClienteDAL
|
|
{
|
|
private readonly string _connectionString;
|
|
private readonly DbConexao _db;
|
|
public LicencaClienteDAL(string connectionString)
|
|
{
|
|
_connectionString = connectionString;
|
|
}
|
|
|
|
public ModeloLicenca BuscarPorLicenseKey(string licenseKey)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(_connectionString))
|
|
{
|
|
SqlCommand cmd = new SqlCommand(
|
|
@"SELECT *
|
|
FROM Licencas
|
|
WHERE LicenseKey = @LicenseKey
|
|
AND Status = 1",
|
|
conn);
|
|
|
|
cmd.Parameters.AddWithValue("@LicenseKey", licenseKey);
|
|
|
|
conn.Open();
|
|
SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
ModeloLicenca licenca = null;
|
|
|
|
if (dr.Read())
|
|
{
|
|
licenca = new ModeloLicenca
|
|
{
|
|
IdLicenca = Convert.ToInt32(dr["IdLicenca"]),
|
|
LicenseKey = dr["LicenseKey"].ToString(),
|
|
Cliente = dr["Cliente"].ToString(),
|
|
LimiteMaquinas = Convert.ToInt32(dr["LimiteMaquinas"]),
|
|
ExpiraEm = dr["ExpiraEm"] != DBNull.Value
|
|
? (DateTime?)Convert.ToDateTime(dr["ExpiraEm"])
|
|
: null,
|
|
Modulos = dr["Modulos"].ToString()
|
|
};
|
|
}
|
|
|
|
dr.Close();
|
|
return licenca;
|
|
}
|
|
}
|
|
|
|
public ModeloLicenca BuscarLicencaAtiva()
|
|
{
|
|
SqlCommand cmd = new SqlCommand(
|
|
@"SELECT TOP 1 *
|
|
FROM Licencas
|
|
WHERE Status = 1
|
|
ORDER BY DataCriacao DESC",
|
|
_db.Conexao);
|
|
|
|
_db.Abrir();
|
|
SqlDataReader dr = cmd.ExecuteReader();
|
|
|
|
ModeloLicenca modelo = null;
|
|
|
|
if (dr.Read())
|
|
{
|
|
modelo = new ModeloLicenca
|
|
{
|
|
IdLicenca = Convert.ToInt32(dr["IdLicenca"]),
|
|
LicenseKey = dr["LicenseKey"].ToString(),
|
|
Cliente = dr["Cliente"].ToString(),
|
|
LimiteMaquinas = Convert.ToInt32(dr["LimiteMaquinas"]),
|
|
ExpiraEm = dr["ExpiraEm"] != DBNull.Value
|
|
? (DateTime?)Convert.ToDateTime(dr["ExpiraEm"])
|
|
: null
|
|
};
|
|
}
|
|
|
|
dr.Close();
|
|
_db.Fechar();
|
|
|
|
return modelo;
|
|
}
|
|
|
|
}
|
|
}
|