Ejemplo n.º 1
0
        /// <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
                };
            }
        }