using Entidades; using Modelo; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Controladora { public class ControladoraLotes : Singleton { public string Añadir(Lote t) { if (t == null) return "El Lote es nulo, falló la carga"; try { bool resultado = RepositorioLote.Instance.Add(t); return resultado ? $"El Lote con el ID {t.Id} se cargó correctamente" : $"Falló la carga del Lote con el ID {t.Id}"; } catch (Exception ex) { // Captura cualquier excepción no prevista return $"Ocurrió un error inesperado: {ex.Message}"; } } public string Modificar(Lote t) { if (t == null) return "El Lote es nulo, falló la modificación"; try { bool resultado = RepositorioLote.Instance.Mod(t); return resultado ? $"El Lote con el ID {t.Id} se modificó correctamente" : $"Falló la modificación del Lote con el ID {t.Id}"; } catch (Exception ex) { // Captura cualquier excepción no prevista return $"Ocurrió un error inesperado: {ex.Message}"; } } public string Eliminar(Lote t) { if (t == null) return "El Lote es nulo, falló la eliminación"; try { bool resultado = RepositorioLote.Instance.Del(t); return resultado ? $"El Lote con el ID {t.Id} se eliminó correctamente" : $"Falló la eliminación del Lote con el ID {t.Id}"; } catch (Exception ex) { // Captura cualquier excepción no prevista return $"Ocurrió un error inesperado: {ex.Message}"; } } /*public ReadOnlyCollection ListarPorFacturaId(int facturaId) { try { var lotes = RepositorioLote.Instance.Listar(); var lotesPorFactura = lotes.Where(lote => lote.Id == facturaId).ToList(); return new ReadOnlyCollection(lotesPorFactura); } catch (Exception ex) { // Captura cualquier excepción no prevista throw new InvalidOperationException($"Ocurrió un error inesperado: {ex.Message}"); } }*/ public ReadOnlyCollection Listar() { try { return RepositorioLote.Instance.Listar(); } catch (Exception ex) { // Captura cualquier excepción no prevista throw new InvalidOperationException($"Ocurrió un error inesperado: {ex.Message}"); } } } }