Example #1
0
 public FacturaCrudFactory()
 {
     this.facturaMapper       = new FacturaMapper();
     this.lineaFacturaMapper  = new LineaFacturaMapper();
     this.impuestoCrudFactory = new ImpuestoCrudFactory();
     this.itemCrudFactory     = new ItemCrudFactory();
     this.dao = SqlDao.GetInstance();
 }
Example #2
0
        public static bool FinalizarCompra(Carrito carrito)
        {
            // Antes de hacer la factura verifico que los vehículos todavía estén disponibles
            foreach (CarritoDetalle detalle in carrito.Detalles)
            {
                if (!VehiculoMapper.EstaDisponible(detalle.Vehiculo))
                {
                    return(false);
                }
            }

            Factura factura = new Factura
            {
                Fecha    = DateTime.Now,
                Usuario  = carrito.Usuario,
                Carrito  = carrito,
                Detalles = carrito.Detalles.Select(d => new FacturaDetalle
                {
                    Vehiculo = d.Vehiculo,
                    Cantidad = d.Cantidad,
                    Precio   = d.Precio
                }).ToList()
            };

            bool guardadoOk = FacturaMapper.Guardar(factura);

            if (guardadoOk)
            {
                // Tengo que marcar los vehículos como No disponibles debido a que ya están facturados
                foreach (FacturaDetalle detalle in factura.Detalles)
                {
                    VehiculoMapper.MarcarNoDisponible(detalle.Vehiculo);
                }
            }

            return(guardadoOk);
        }
 public FacturaCrudFactory() : base()
 {
     mapper = new FacturaMapper();
     dao    = SqlDao.GetInstance();
 }