// CHI TIẾT HÓA ĐƠN
 private void btnThemChiTietHD_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         double tmp1 = (from p in db.DbDonGia where p.MaDonGia == cbMaDonGia.Text select p.DenKw).Single();
         double tmp2 = (from m in db.DbDonGia where m.MaDonGia == cbMaDonGia.Text select m.TuKw).Single();
         double tmp3 = (from m in db.DbDonGia where m.MaDonGia == cbMaDonGia.Text select m.SoTien).Single();
         var    ct   = new ChiTietHoadon {
             MaDonGia = cbMaDonGia.Text, SoHoaDon = cbSoHoaDon.Text, SoLuongKw = (tmp1 - tmp2)
         };
         db.DbChiTietHoaDon.Add(ct);
         db.SaveChanges();
         var TinhTien = (from n in db.DbHoaDon where n.SoHoaDon == cbSoHoaDon.Text select n).Single();
         TinhTien.ThanhTien = (tmp1 - tmp2) * tmp3;
         db.SaveChanges();
         MessageBox.Show("Thêm thành công");
         dgrThongTinChiTietHD.ItemsSource = db.DbChiTietHoaDon.ToList();;
         dgrHoaDon.ItemsSource            = db.DbHoaDon.ToList();
         txtSoLuongKw.Text = "";
     }
     catch
     {
         MessageBox.Show("Không được bỏ trống thông tin");
     }
 }
Esempio n. 2
0
        void ChoosePhones()
        {
            var cRow    = dgvPhones.CurrentCell.RowIndex;
            var PhoneID = Int32.Parse(dgvPhones.Rows[cRow].Cells[0].FormattedValue.ToString());

            using (var ctx = new PhoneStoreManageEntities())
            {
                var lastDBillID = (from db in ctx.ChiTietHoadons orderby db.MaCTHD descending select db.MaCTHD).FirstOrDefault();
                var newDeBill   = new ChiTietHoadon
                {
                    MaCTHD = lastDBillID + 1,
                    MaHD   = billID,
                    MaDT   = PhoneID
                };
                ctx.ChiTietHoadons.Add(newDeBill);
                ctx.SaveChanges();

                //var countPhone = (from db in ctx.ChiTietHoadons where db.MaHD == billID && db.MaDT == PhoneID select db).Count();

                var detailBill = (from db in ctx.ChiTietHoadons
                                  where db.MaHD == billID
                                  select new
                {
                    db.DienThoai.MaDT,
                    //db.MaHD,
                    db.DienThoai.MauDienThoai.TenDT,
                    db.DienThoai.Mau,
                    db.DienThoai.Gia
                });                  //.Distinct();
                dgvDetailBillPhones.DataSource         = detailBill.ToList();
                dgvDetailBillPhones.Columns[0].Visible = false;
                dgvDetailBillPhones.Refresh();
                LoadPhones();
            }
        }
Esempio n. 3
0
        private void ChoosePhones()
        {
            var cRow    = dgvPhones.CurrentCell.RowIndex;
            var PhoneID = Int32.Parse(dgvPhones.Rows[cRow].Cells[0].FormattedValue.ToString());

            using (var ctx = new PhoneStoreManageEntities())
            {
                var check = (from p in ctx.DienThoais where p.MaDT == PhoneID select p.SoLuong).FirstOrDefault();
                if (check > 0)
                {
                    var lastDBillID = (from db in ctx.ChiTietHoadons orderby db.MaCTHD descending select db.MaCTHD).FirstOrDefault();
                    var newDeBill   = new ChiTietHoadon
                    {
                        MaCTHD = lastDBillID + 1,
                        MaHD   = billID,
                        MaDT   = PhoneID
                    };
                    ctx.ChiTietHoadons.Add(newDeBill);
                    ctx.SaveChanges();

                    LoadPhones();
                    dgvPhones.CurrentCell         = dgvPhones[1, cRow];
                    dgvPhones.Rows[cRow].Selected = true;

                    var detailBill = (from b in ctx.ChiTietHoadons
                                      select new
                    {
                        b.MaHD,
                        b.MaDT,
                        b.DienThoai.MauDienThoai.TenDT,
                        b.DienThoai.Mau,
                        b.DienThoai.GiaBan
                    }).Distinct();

                    var countList = from db in ctx.ChiTietHoadons
                                    join p in ctx.DienThoais on db.MaDT equals p.MaDT
                                    join b in ctx.HoaDons on db.MaHD equals b.MaHD
                                    group db by new { db.MaHD, db.MaDT, db.DienThoai.GiaBan } into dbs
                    orderby dbs.Key.MaHD
                        select new
                    {
                        dbs.Key,
                        Count = dbs.Count(),
                        Total = dbs.Count() * dbs.Key.GiaBan
                    };

                    var query = from bill in detailBill
                                join list in countList on
                                new { bill.MaHD, bill.MaDT } equals
                    new { list.Key.MaHD, list.Key.MaDT }
                    into result
                    from r in result.DefaultIfEmpty()
                    where bill.MaHD == billID
                        select new
                    {
                        bill.TenDT,
                        bill.Mau,
                        bill.GiaBan,
                        r.Count,
                        r.Total
                    };

                    dgvDetailBillPhones.DataSource            = query.ToList();
                    dgvDetailBillPhones.Columns[0].HeaderText = "Điện thoại";
                    dgvDetailBillPhones.Columns[1].HeaderText = "Màu";
                    dgvDetailBillPhones.Columns[2].HeaderText = "Giá";
                    dgvDetailBillPhones.Columns[3].HeaderText = "Số lượng";
                    dgvDetailBillPhones.Columns[4].HeaderText = "Thành tiền";
                    dgvDetailBillPhones.Refresh();

                    lblTotalMoney.Text = (from q in ctx.HoaDons where q.MaHD == billID select q.Tongtien).FirstOrDefault().ToString();
                }
            }
        }