public Factura Create(Factura factura, Envio envio)
        {
            var facturaResult  = dao.ExecuteQueryProcedure(facturaMapper.GetCreateStatement(factura));
            var dictionaryList = new Dictionary <string, object>();

            var facturaDB = new Factura();

            if (facturaResult.Count > 0)
            {
                dictionaryList = facturaResult[0];
                facturaDB      = (Factura)facturaMapper.BuildObject(dictionaryList);
            }

            var impuesto = new Impuesto();

            var lineaFactura = new LineaFactura();

            lineaFactura.IdFactura = facturaDB.Id;

            foreach (var item in envio.Items)
            {
                lineaFactura.IdItem       = item.id;
                lineaFactura.NombreItem   = item.nombre;
                lineaFactura.CantidadItem = 1;
                lineaFactura.PrecioItem   = item.precio;

                impuesto.Id = item.id_impuesto;
                impuesto    = itemCrudFactory.ImpuestoItem <Impuesto>(impuesto);

                lineaFactura.Impuesto = impuesto.Porcentaje;

                dao.ExecuteProcedure(lineaFacturaMapper.GetCreateStatement(lineaFactura));
            }

            return(facturaDB);
        }
Exemple #2
0
 public Impuesto ImpuestoItem(Impuesto impuesto)
 {
     return(crudItem.ImpuestoItem <Impuesto>(impuesto));
 }