119 lines
3.0 KiB
C#
119 lines
3.0 KiB
C#
using System;
|
|
using DALL;
|
|
using MLL;
|
|
|
|
namespace BLL
|
|
{
|
|
public class BLLFuncionarios
|
|
{
|
|
private DALFuncionarios dal;
|
|
|
|
public BLLFuncionarios(string conexao)
|
|
{
|
|
dal = new DALFuncionarios(conexao);
|
|
}
|
|
|
|
#region INSERT
|
|
public bool Inserir(ModeloFuncionarios f)
|
|
{
|
|
string erro = Validar(f);
|
|
|
|
if (!string.IsNullOrEmpty(erro))
|
|
throw new Exception(erro);
|
|
|
|
return dal.Inserir(f);
|
|
}
|
|
#endregion
|
|
|
|
#region UPDATE
|
|
public bool Alterar(ModeloFuncionarios f)
|
|
{
|
|
if (f.ID_FUNCIONARIO <= 0)
|
|
throw new Exception("Funcionário inválido.");
|
|
|
|
string erro = Validar(f);
|
|
|
|
if (!string.IsNullOrEmpty(erro))
|
|
throw new Exception(erro);
|
|
|
|
return dal.Alterar(f);
|
|
}
|
|
#endregion
|
|
|
|
#region DELETE
|
|
public bool Excluir(int id)
|
|
{
|
|
if (id <= 0)
|
|
throw new Exception("ID inválido.");
|
|
|
|
return dal.Excluir(id);
|
|
}
|
|
#endregion
|
|
|
|
public ModeloFuncionarios CarregarModeloFuncionario(int id)
|
|
{
|
|
return dal.Carregar(id);
|
|
}//CarregarModeloFuncionario
|
|
public List<ModeloFuncionarios> Listar()
|
|
{
|
|
return dal.Listar();
|
|
}//List<ModeloFuncionarios>
|
|
public List<ModeloFuncionarios> LocalizarOtimizado(ModeloFuncionarios filtro)
|
|
{
|
|
return dal.LocalizarOtimizado(filtro);
|
|
}//List<ModeloFuncionarios> LocalizarOtimizado(ModeloFuncionarios filtro)
|
|
public string ObterNomePorCodigo(string codigo)
|
|
{
|
|
return dal.ObterNomePorCodigo(codigo);
|
|
}//ObterNomePorCodigo
|
|
public ModeloFuncionarios CarregarPorCodigo(string codigo)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(codigo))
|
|
return null;
|
|
|
|
return dal.CarregarPorCodigo(codigo);
|
|
}//CarregarPorCodigo
|
|
|
|
#region VALIDAÇÃO
|
|
private string Validar(ModeloFuncionarios f)
|
|
{
|
|
if (f == null)
|
|
return "Objeto funcionário inválido.";
|
|
|
|
if (string.IsNullOrWhiteSpace(f.NOME))
|
|
return "Nome é obrigatório.";
|
|
|
|
// 🔥 LIMPA CPF antes de validar
|
|
f.CPF = LimparNumeros(f.CPF);
|
|
|
|
if (!string.IsNullOrEmpty(f.CPF))
|
|
{
|
|
if (f.CPF.Length != 11)
|
|
return "CPF deve conter 11 dígitos.";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
private string LimparNumeros(string texto)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(texto))
|
|
return texto;
|
|
|
|
return new string(texto.Where(char.IsDigit).ToArray());
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region AUX
|
|
private bool SomenteNumeros(string texto)
|
|
{
|
|
foreach (char c in texto)
|
|
{
|
|
if (!char.IsDigit(c))
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
#endregion
|
|
}
|
|
} |