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)); }
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); }