using System.Collections.ObjectModel;
using System.Security.Cryptography.X509Certificates;

namespace Entidades
{
    public class OrdenDeCompra
    {
        public int Id { get; set; } 
        private List<DetalleOrdenDeCompra> detalles = new List<DetalleOrdenDeCompra>();
        public Proveedor Proveedor { get; set; }
        public bool Entregado { get; set; }

        public void AñadirDetalle(DetalleOrdenDeCompra detalle)
        {
            detalles.Add(detalle);
        }

        public bool EliminarDetalle(DetalleOrdenDeCompra detalle)
        {
            var aeliminar = detalles.Find(x => x.Id == detalle.Id);
            if (aeliminar == null) return false;
            return detalles.Remove(aeliminar);
        }

        public ReadOnlyCollection<DetalleOrdenDeCompra> MostrarDetalles()
        {
            return detalles.AsReadOnly();
        }

        public double MontoTotal
        {
            get
            {
                return detalles.Sum(x => x.SubTotal);
            }
        }
        public string NombreProveedor
        {
            get
            {
                return Proveedor.Nombre;
            }
        }
    }
}
