Exemplo n.º 1
0
        private static Receipt extractData(SQLiteDataReader reader)
        {
            Receipt receipt = new Receipt();

            receipt.Id        = reader.GetInt32(0);
            receipt.Recipient = reader.GetString(1);
            receipt.Address   = reader.GetString(2);
            receipt.Phone     = reader.GetString(3);
            receipt.Status    = reader.GetInt32(4);
            receipt.Date      = reader.GetString(5);
            receipt.Customer  = CustomerDAL.GetById(reader.GetInt32(6));

            string        detailsQuery   = $"SELECT * FROM {detailsTable} WHERE receiptId = @receiptId";
            SQLiteCommand detailsCommand = new SQLiteCommand(detailsQuery, DAL.Conn);

            detailsCommand.Parameters.AddWithValue("@receiptId", receipt.Id);

            SQLiteDataReader detailsReader = detailsCommand.ExecuteReader();

            while (detailsReader.HasRows)
            {
                while (detailsReader.Read())
                {
                    ReceiptDetails details = new ReceiptDetails();
                    details.Receipt = receipt;
                    details.Product = ProductDAL.GetById(detailsReader.GetInt32(1));
                    details.Amount  = detailsReader.GetInt32(2);

                    receipt.Details.Add(details);
                }

                detailsReader.NextResult();
            }

            string        combosQuery   = $"SELECT * FROM {combosTable} WHERE receiptId = @receiptId";
            SQLiteCommand combosCommand = new SQLiteCommand(combosQuery, DAL.Conn);

            combosCommand.Parameters.AddWithValue("@receiptId", receipt.Id);

            SQLiteDataReader combosReader = combosCommand.ExecuteReader();

            while (combosReader.HasRows)
            {
                while (combosReader.Read())
                {
                    ReceiptCombos combos = new ReceiptCombos();
                    combos.Receipt = receipt;
                    combos.Combo   = ComboDAL.GetById(combosReader.GetInt32(1));
                    combos.Amount  = combosReader.GetInt32(2);

                    receipt.Combos.Add(combos);
                }

                combosReader.NextResult();
            }

            return(receipt);
        }
Exemplo n.º 2
0
        private async void buttonPay_Click(object sender, EventArgs e)
        {
            List <Product> rows_product = new List <Product>();
            List <Combo>   rows_combo   = new List <Combo>();
            var            x            = dataGridView1.Rows.Count;

            for (int rows = 0; rows < dataGridView1.Rows.Count - 1; rows++)
            {
                Product product = new Product()
                {
                    Id     = Int32.Parse(dataGridView1.Rows[rows].Cells[0].Value.ToString()),
                    Name   = dataGridView1.Rows[rows].Cells[1].Value.ToString(),
                    Amount = Int32.Parse(dataGridView1.Rows[rows].Cells[2].Value.ToString())
                };
                rows_product.Add(product);
            }
            for (int rows = 0; rows < dataGridView2.Rows.Count - 1; rows++)
            {
                Combo combo = new Combo()
                {
                    Id     = Int32.Parse(dataGridView2.Rows[rows].Cells[0].Value.ToString()),
                    Name   = dataGridView2.Rows[rows].Cells[1].Value.ToString(),
                    Amount = Int32.Parse(dataGridView2.Rows[rows].Cells[2].Value.ToString())
                };
                rows_combo.Add(combo);
            }
            List <ReceiptDetails> listReceiptDetails = new List <ReceiptDetails>();

            foreach (var item in rows_product)
            {
                ReceiptDetails receiptDetails = new ReceiptDetails()
                {
                    Product = new Product()
                    {
                        Id = item.Id,
                    },
                    Amount = item.Amount
                };

                listReceiptDetails.Add(receiptDetails);
            }
            List <ReceiptCombos> listReceiptCombos = new List <ReceiptCombos>();

            foreach (var item in rows_combo)
            {
                ReceiptCombos ReceiptCombos = new ReceiptCombos()
                {
                    Combo = new Combo()
                    {
                        Id = item.Id
                    },
                    Amount = item.Amount
                };
                listReceiptCombos.Add(ReceiptCombos);
            }
            int     customerId = ((KeyValuePair <int, string>)cbCustomer.SelectedItem).Key;
            Receipt receipt    = new Receipt()
            {
                Id        = Int32.Parse(textId.Text),
                Recipient = textName.Text,
                Address   = textAddress.Text,
                Phone     = textPhone.Text,
                Date      = dateDate.Text,
                Status    = 1,
                Details   = listReceiptDetails,
                Combos    = listReceiptCombos,
                Customer  = new Person()
                {
                    Id = customerId,
                }
            };
            var test = await ApiHandler.client.PutAsJsonAsync("receipt", receipt);

            LoadDataCustomer();
        }