61 lines
2.1 KiB
C#
61 lines
2.1 KiB
C#
using System.Collections.ObjectModel;
|
|
using Entidades;
|
|
using Modelo;
|
|
|
|
namespace Controladora
|
|
{
|
|
public class ControladoraClientes : Singleton<ControladoraClientes>
|
|
{
|
|
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))
|
|
{
|
|
return $"El Cliente con el CUIT {t.Cuit} ya existe";
|
|
}
|
|
|
|
try
|
|
{
|
|
bool resultado = RepositorioClientes.Instance.Add(t);
|
|
return resultado ?
|
|
$"El Cliente con el CUIT {t.Cuit} se cargó correctamente" :
|
|
$"Falló la carga del Cliente con el CUIT {t.Cuit}";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// Captura cualquier excepción no prevista
|
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
|
}
|
|
}
|
|
|
|
public string Eliminar(long cuit)
|
|
{
|
|
// Buscar el cliente por CUIT antes de eliminar
|
|
var cliente = RepositorioClientes.Instance.Listar().FirstOrDefault(x => x.Cuit == cuit);
|
|
if (cliente == null) return "El Cliente no existe";
|
|
|
|
return (RepositorioClientes.Instance.Del(cliente)) ?
|
|
$"El Cliente {cliente.Nombre} se eliminó correctamente" :
|
|
$"Falló la eliminación del Cliente con el CUIT {cuit}";
|
|
}
|
|
|
|
public string Modificar(Cliente t)
|
|
{
|
|
if (t == null) return "El Cliente es nulo, fallo la carga";
|
|
|
|
return (RepositorioClientes.Instance.Mod(t)) ?
|
|
$"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)
|
|
.ToList()
|
|
.AsReadOnly();
|
|
}
|
|
}
|
|
}
|