public Combo GetCombo(int idCombo) { var combo = combosRepository.GetCombo(idCombo); if (combo == null || combo.Id == 0) { combo = new Combo(); } var listaDetallesSeleccionados = detallesComboRepository.GetDetalles(idCombo: idCombo); var productosActivos = productosRepository.GetAllProductos(activo: true); //arma la lista de detalles a devolver foreach (var prod in productosActivos) { combo.DetallesCombo.Add(new DetalleCombo() { IdProducto = prod.IdProducto, NombreProducto = prod.Nombre, Seleccionado = false, IdCombo = idCombo, Valor = prod.Precio }); } //selecciona los detalles correspondientes al monto foreach (var detSeleccionado in listaDetallesSeleccionados) { foreach (var detalle in combo.DetallesCombo) { if (detalle.IdProducto == detSeleccionado.IdProducto) { detalle.Seleccionado = true; detalle.Id = detSeleccionado.Id; detalle.Cantidad = detSeleccionado.Cantidad; break; } } } return(combo); }