me duelen los ojos

This commit is contained in:
fedpo
2024-08-15 05:08:26 +01:00
parent 0f394dbc45
commit 566bfe57c0
38 changed files with 440 additions and 402 deletions

View File

@@ -6,20 +6,31 @@ namespace Controladora
{
public class ControladoraClientes : Singleton<ControladoraClientes>
{
private RepositorioClientes repositorioClientes;
public ControladoraClientes()
{
repositorioClientes = new(new Context());
}
private bool ClienteExiste(long cuit)
{
var cat = repositorioClientes.ObtenerPorId(cuit);
return (cat.Cuit == cuit);
}
public string Añadir(Cliente t)
{
if (t == null) return "El Cliente es nulo, fallo la carga";
// Verificar si el CUIT ya existe en el repositorio
if (RepositorioClientes.Instance.ExistePorCuit(t.Cuit))
if (ClienteExiste(t.Cuit))
{
return $"El Cliente con el CUIT {t.Cuit} ya existe";
}
try
{
bool resultado = RepositorioClientes.Instance.Add(t);
return resultado ?
repositorioClientes.Add(t);
return repositorioClientes.Guardar() ?
$"El Cliente con el CUIT {t.Cuit} se cargó correctamente" :
$"Falló la carga del Cliente con el CUIT {t.Cuit}";
}
@@ -33,10 +44,11 @@ namespace Controladora
public string Eliminar(long cuit)
{
// Buscar el cliente por CUIT antes de eliminar
var cliente = RepositorioClientes.Instance.Listar().FirstOrDefault(x => x.Cuit == cuit);
var cliente = repositorioClientes.Listar().FirstOrDefault(x => x.Cuit == cuit);
if (cliente == null) return "El Cliente no existe";
return (RepositorioClientes.Instance.Del(cliente)) ?
repositorioClientes.Del(cliente);
return (repositorioClientes.Guardar()) ?
$"El Cliente {cliente.Nombre} se eliminó correctamente" :
$"Falló la eliminación del Cliente con el CUIT {cuit}";
}
@@ -45,14 +57,15 @@ namespace Controladora
{
if (t == null) return "El Cliente es nulo, fallo la carga";
return (RepositorioClientes.Instance.Mod(t)) ?
repositorioClientes.Mod(t);
return (repositorioClientes.Guardar()) ?
$"El Cliente con el CUIT {t.Cuit} se modificó correctamente" :
$"Falló la modificación del Cliente con el CUIT {t.Cuit}";
}
public ReadOnlyCollection<Cliente> Listar()
{
return RepositorioClientes.Instance.Listar().Where(x => x.Habilitado == true)
return repositorioClientes.Listar().Where(x => x.Habilitado == true)
.ToList()
.AsReadOnly();
}