public void registrar(Pedido t) { String query = string.Format("insert into pedido (fecha_pedido, fecha_entrega, estado, importe_total, cliente_id_cliente) values (\'{0}\', \'{1}\', \'{2}\', {3}, {4});", t.fechaDePedido.ToShortDateString(), t.fechaDeEntrega.ToShortDateString(), t.estado, t.obtenerTotal().ToString(CultureInfo.InvariantCulture), t.cliente.IdCliente); db.ejectuarQuery(query); int idPedido = listarTodos().Last().idPedido; ILineaPedidoDao lineaPedidoDao = new LineaPedidoDaoImpl(); foreach (LineaPedido linea in t.lineasDePedido) { linea.IdPedido = idPedido; lineaPedidoDao.registrar(linea); } //registras costos extras ICostoExtraDao costoExtraDao = new CostoExtraDaoImpl(); int idCostoExtra; string queryCostos = ""; foreach (CostoExtra costo in t.costosExtras) { costoExtraDao.registrar(costo); idCostoExtra = costoExtraDao.listarTodos().Last().idCostoExtra; queryCostos = string.Format("insert into linea_costo_extra (cantidad, pedido_id_pedido, costo_extra_id_costo_extra) values ({0},{1},{2});", 1, idPedido, idCostoExtra); db.ejectuarQuery(queryCostos); } //registra line de materiales IListaMaterialDao listaMaterialDao = new ListaMaterialDaoImpl(); foreach (ListaMaterial unaLinea in t.ListaDeMateriales) { unaLinea.idPedido = idPedido; listaMaterialDao.registrar(unaLinea); } }
public Pedido parse(List <Object> unRegistro) { int id_pedido = (int)unRegistro.ElementAt(0); DateTime fechaPedido = DateTime.Parse(unRegistro.ElementAt(1).ToString()); DateTime fechaEntrega = DateTime.Parse(unRegistro.ElementAt(2).ToString()); string estado = (string)unRegistro.ElementAt(3); double importe = Convert.ToDouble(unRegistro.ElementAt(4)); int idCliente = (int)unRegistro.ElementAt(5); IClienteDAO clienteDao = new ClienteDaoImpl(); Cliente cliente = clienteDao.leerPorId(idCliente); Pedido pedido = new Pedido(); pedido.idPedido = id_pedido; pedido.fechaDePedido = fechaPedido; pedido.fechaDeEntrega = fechaEntrega; pedido.estado = estado; pedido.cliente = cliente; //lineas de pedido de producto ILineaPedidoDao lineaPedidoDao = new LineaPedidoDaoImpl(); foreach (LineaPedido linea in lineaPedidoDao.listarTodos()) { if (linea.IdPedido == id_pedido) { pedido.lineasDePedido.Add(linea); } } String queryLineaCostos = string.Format("select * from linea_costo_extra;"); //lineas de costos extras int idPedidoCostoExtra; int idCostoExtra; ICostoExtraDao costoExtraDao = new CostoExtraDaoImpl(); foreach (List <Object> unRegistroCostoExtra in db.consultarQuery(queryLineaCostos)) { idPedidoCostoExtra = (int)unRegistroCostoExtra.ElementAt(2); idCostoExtra = (int)unRegistroCostoExtra.ElementAt(3); if (id_pedido == idPedidoCostoExtra) { CostoExtra costoExtra = costoExtraDao.leerPorId(idCostoExtra); pedido.costosExtras.Add(costoExtra); } } //lineas de materiales necesarios IListaMaterialDao listaMaterialDao = new ListaMaterialDaoImpl(); foreach (ListaMaterial unaLinea in listaMaterialDao.listarTodos()) { if (unaLinea.idPedido == id_pedido) { pedido.ListaDeMateriales.Add(unaLinea); } } return(pedido); }