private void bbiPrint_ItemClick(object sender, ItemClickEventArgs e)
        {
            int         id;
            GridControl gc = new GridControl();

            gc.DataSource = dataGridView1.DataSource;
            BillReport report = new BillReport();

            report.Parameters["pGuest"].Value   = txtGuest.Text;
            report.Parameters["pAddress"].Value = txtAddress.Text;
            report.Parameters["pDate"].Value    = System.DateTime.Now;
            report.Parameters["pTotal"].Value   = total;
            report.Parameters["pGift"].Value    = cbbGift.SelectedItem;
            using (var db = new PetStoreEntities())
            {
                var bill = new Bill();
                bill.b_purchaseDate = System.DateTime.Now;
                bill.b_address      = txtAddress.Text;
                bill.b_total        = total;
                bill.guest          = txtGuest.Text;
                bill.u_id           = 24;
                bill.g_id           = cbbGift.SelectedValue.ToString();
                db.Bills.Add(bill);
                db.SaveChanges();
                id = db.Bills.Last().b_id;
                int d = 0;
                foreach (var bd in list)
                {
                    var billDetail = new BillDetail();
                    billDetail.b_id = id;
                    if (bd.StartsWith("PET"))
                    {
                        billDetail.p_id = bd;
                    }
                    else if (bd.StartsWith("PTS"))
                    {
                        billDetail.pt_id = bd;
                    }
                    else if (bd.StartsWith("PFD"))
                    {
                        billDetail.pf_id = bd;
                    }
                    else if (bd.StartsWith("PAS"))
                    {
                        billDetail.pa_id = bd;
                    }
                    else if (bd.StartsWith("PMD"))
                    {
                        billDetail.pm_id = bd;
                    }
                    billDetail.quantity = int.Parse(dataGridView1.Rows[d].Cells["Quantity"].Value.ToString());
                    db.BillDetails.Add(billDetail);
                    db.SaveChanges();
                    d++;
                }
            }
            report.Parameters["pID"].Value = id;
            report.GridControl             = gc;
            ReportPrintTool printTool = new ReportPrintTool(report);

            printTool.ShowPreviewDialog();
            resetTable();
        }
 private void bbiPrint_ItemClick(object sender, ItemClickEventArgs e)
 {
     if (txtGuest.Text.Equals(""))
     {
         MessageBox.Show("Please input guest name!", "Message");
     }
     else if (txtAddress.Text.Equals(""))
     {
         MessageBox.Show("Please input address!", "Message");
     }
     else
     {
         int         id;
         GridControl gc = new GridControl();
         gc.DataSource = dataGridView1.DataSource;
         BillReport report = new BillReport();
         report.Parameters["pGuest"].Value   = txtGuest.Text;
         report.Parameters["pAddress"].Value = txtAddress.Text;
         report.Parameters["pDate"].Value    = System.DateTime.Now;
         report.Parameters["pTotal"].Value   = total;
         report.Parameters["pGift"].Value    = cbbGift.Text;
         using (var db = new PetStoreEntities())
         {
             var bill = new Bill();
             bill.b_purchaseDate = System.DateTime.Now;
             bill.b_address      = txtAddress.Text;
             bill.b_total        = total;
             bill.u_id           = 24;
             bill.g_id           = cbbGift.SelectedValue.ToString();
             bill.b_status       = "Active";
             db.Bills.Add(bill);
             db.SaveChanges();
         }
         using (var db = new PetStoreEntities())
         {
             var bill = from s in db.Bills orderby s.b_id descending select s;
             id = 0;
             foreach (var b in bill)
             {
                 id = b.b_id;
                 break;
             }
             int index = 0;
             foreach (var bd in list)
             {
                 var billDetail = new BillDetail();
                 billDetail.b_id = id;
                 if (bd.StartsWith("PET"))
                 {
                     billDetail.p_id = bd;
                 }
                 else if (bd.StartsWith("PTS"))
                 {
                     billDetail.pt_id = bd;
                 }
                 else if (bd.StartsWith("PFD"))
                 {
                     billDetail.pf_id = bd;
                 }
                 else if (bd.StartsWith("PAS"))
                 {
                     billDetail.pa_id = bd;
                 }
                 else if (bd.StartsWith("PMD"))
                 {
                     billDetail.pm_id = bd;
                 }
                 int qty = int.Parse(dataGridView1.Rows[index].Cells["Quantity"].Value.ToString());
                 for (int i = 0; i < qty; i++)
                 {
                     db.BillDetails.Add(billDetail);
                     db.SaveChanges();
                 }
                 index++;
             }
         }
         report.Parameters["pID"].Value = id;
         report.GridControl             = gc;
         ReportPrintTool printTool = new ReportPrintTool(report);
         printTool.AutoShowParametersPanel = true;
         printTool.ShowPreviewDialog();
         resetTable();
     }
 }
        private void bbiAccept_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (selectedID != -1)
            {
                Bill bill;

                UserModel um = new UserModel();
                using (var db = new PetStoreEntities())
                {
                    var u = db.Bills.Find(selectedID);
                    bill       = u;
                    u.b_status = "Acitve";
                    db.SaveChanges();
                }
                DataGridView grvPrint = new DataGridView();
                DataTable    dt       = new DataTable();
                dt.Columns.Add(new DataColumn("Name", typeof(string)));
                dt.Columns.Add(new DataColumn("Price", typeof(int)));
                dt.Columns.Add(new DataColumn("Quantity", typeof(int)));
                using (var db = new PetStoreEntities())
                {
                    var               list = db.BillDetails.Where(x => x.b_id == selectedID);
                    PetModel          pm   = new PetModel();
                    PetFoodModel      pfm  = new PetFoodModel();
                    PetMedicineModel  pmm  = new PetMedicineModel();
                    PetToyModel       ptm  = new PetToyModel();
                    PetAccessoryModel pam  = new PetAccessoryModel();
                    int               d    = 0;
                    while (d != list.Count())
                    {
                        var bd = list.ToList()[d];
                        if (bd.p_id != null)
                        {
                            var p   = pm.getPet(bd.p_id);
                            var qty = list.Where(x => x.p_id == bd.p_id).Count();
                            dt.Rows.Add(p.p_name, p.p_salePrice, qty);
                            d += qty;
                        }
                        else if (bd.pt_id != null)
                        {
                            var pt  = ptm.getPetToy(bd.pt_id);
                            var qty = list.Where(x => x.pt_id == bd.pt_id).Count();
                            dt.Rows.Add(pt.pt_name, pt.pt_salePrice, qty);
                            d += qty;
                        }
                        else if (bd.pf_id != null)
                        {
                            var pf  = pfm.getPetFood(bd.pf_id);
                            var qty = list.Where(x => x.pf_id == bd.pf_id).Count();
                            dt.Rows.Add(pf.pf_name, pf.pf_salePrice, qty);
                            d += qty;
                        }
                        else if (bd.pm_id != null)
                        {
                            var pmd = pmm.getPetMedicine(bd.pm_id);
                            var qty = list.Where(x => x.pm_id == bd.pm_id).Count();
                            dt.Rows.Add(pmd.pm_name, pmd.pm_salePrice, qty);
                            d += qty;
                        }
                        else if (bd.pa_id != null)
                        {
                            var pa  = pam.getPetAccessory(bd.pa_id);
                            var qty = list.Where(x => x.pa_id == bd.pa_id).Count();
                            dt.Rows.Add(pa.pa_name, pa.pa_salePrice, qty);
                            d += qty;
                        }
                    }
                }
                grvPrint.DataSource = dt;
                GridControl gc = new GridControl();
                gc.DataSource = grvPrint.DataSource;
                BillReport report = new BillReport();
                report.Parameters["pGuest"].Value   = um.getUName(bill.u_id);
                report.Parameters["pAddress"].Value = bill.b_address;
                report.Parameters["pDate"].Value    = bill.b_purchaseDate;
                report.Parameters["pTotal"].Value   = bill.b_total;
                report.Parameters["pID"].Value      = bill.b_id;
                SelectGift sg = new SelectGift();
                sg.ShowDialog(this);
                report.Parameters["pGift"].Value = sg.cbbGift.Text;
                report.GridControl = gc;
                ReportPrintTool printTool = new ReportPrintTool(report);
                printTool.AutoShowParametersPanel = true;
                printTool.ShowPreviewDialog();
                load();
            }
        }