/// <summary> /// El método acceptData creará una lista de productos /// y asignará esa lista a la lista para poder visualizar /// el detalle del pedido /// </summary> /// <remarks> /// Usando una observable collection, vamos a ir rellenando los datos /// Por otra parte, vamos a asignar a la variable order el Pedido. /// </remarks> /// <returns></returns> private async Task AcceptData() { //creamos una lista de objetos y la asignamos ObservableCollection <Producto> productList = new ObservableCollection <Producto>(); //obtenemos todos los datos de los productos if (pickerCpu.SelectedItem != null && pickerGpu.SelectedItem != null && pickerMotherBoard.SelectedItem != null && pickerPcBox.SelectedItem != null && pickerRam.SelectedItem != null) { CPU cpu = (CPU)pickerCpu.SelectedItem; GPU gpu = (GPU)pickerGpu.SelectedItem; MotherBoard board = (MotherBoard)pickerMotherBoard.SelectedItem; PcBox box = (PcBox)pickerPcBox.SelectedItem; Ram ram = (Ram)pickerRam.SelectedItem; double total; //creamos los productos productList.Add(new Producto { ProductName = cpu.Name, Price = cpu.Price }); productList.Add(new Producto { ProductName = gpu.Name, Price = gpu.Price }); productList.Add(new Producto { ProductName = board.Name, Price = board.Price }); productList.Add(new Producto { ProductName = box.Name, Price = box.Price }); productList.Add(new Producto { ProductName = ram.Name, Price = ram.Price }); //pasamos la lista al listView lstPedidos.ItemsSource = productList; //calculamos el total total = OperationUtils.GetTotalPrice(cpu, gpu, board, box, ram); lblTotal.Text = total.ToString(); order = new Pedido { IdCase = box.IdCase, IdCpu = cpu.IdCpu, IdGpu = gpu.IdGpu, IdMotherBoard = board.IdMotherBoard, IdRam = ram.IdRam, IdUser = user.IdUser, Price = total }; } }