public override void Create(Entity entity)
        {
            var factura      = (Factura)entity;
            var sqlOperation = mapper.GetCreateStatement(factura);

            dao.ExecuteProcedure(sqlOperation);
        }
        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);
        }