public override T Retrieve <T>(Entity entity)
        {
            var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetrieveStatement(entity));
            var dic       = new Dictionary <string, object>();

            if (lstResult.Count > 0)
            {
                dic = lstResult[0];
                var objs = mapper.BuildObject(dic);
                return((T)Convert.ChangeType(objs, typeof(T)));
            }

            return(default(T));
        }
Ejemplo n.º 2
0
        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);
        }