private void BtnThemHang_Click(object sender, EventArgs e) { try { //Kiểm tra các ô đơn giá , tên hàng có để trống không if (!KiemTraHopLe()) { MessageBox.Show("Điền vào chỗ trống"); return; } var tenHang = cboTenHang.Text; var maHang = rdbHangMoi.Checked == true ? "-1" : quanLyThongTin.GetMaHang(tenHang).ToString(); //Kiểm tra xem mặt hàng đó có trong listview chưa nếu có thì tăng mặt hàng đó lên theo số lượng thêm vào lvwChiTietHoaDon.Items.OfType<ListViewItem>().ToList().Where(p=>p.SubItems[1].Text=="PinAAA").Single().SubItems[3].Text bool checkTenHangInListView = lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).FirstOrDefault() != null ? true : false;// lvwChiTietHoaDon.FindItemWithText(tenHang) != null ? true : false;//trả ra true khi tìm thấy có tên hàng trong listview và ngược lại bool newHang = checkTenHangInListView == false ? true : !(lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList() .Where(p => p.SubItems[1].Text == tenHang).FirstOrDefault() .SubItems[2].Text.Equals(txtDonGia.Text)); bool appended = false; //Nếu có hàng trong hóa đơn thì cộng dồn vào if (checkTenHangInListView) { var checkEqualDonGia = lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).Where(p => p.SubItems[2].Text.Equals(txtDonGia.Text)).FirstOrDefault() != null ? true : false; if (checkEqualDonGia && txtDonGia.Text.Trim().Length > 0) {//Cái này là cộng dồn vào cột số lượng khi món hàng thêm vào đã có lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).Where(p => p.SubItems[2].Text.Equals(txtDonGia.Text)).FirstOrDefault().SubItems[3].Text = (int.Parse(lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).Where(p => p.SubItems[2].Text.Equals(txtDonGia.Text)).First().SubItems[3].Text) + int.Parse(nudSoLuong.Value.ToString())).ToString(); appended = true; } else if (txtDonGia.Text.Length <= 0) { lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).FirstOrDefault().SubItems[3].Text = (int.Parse(lvwChiTietHoaDon.Items.OfType <ListViewItem>().ToList().Where(p => p.SubItems[1].Text == tenHang).First().SubItems[3].Text) + int.Parse(nudSoLuong.Value.ToString())).ToString(); appended = true; } } //Nếu không thì thêm mặt hàng đó vào listview if (!appended) //if(!checkTenHangInListView|| checkTenHangInListView && newHang == true) { var donGia = rdbHangTrongKho.Checked == true?quanLyThongTin.LayDonGia(tenHang) : txtDonGia.Text; DTO.HangDTO hang = new DTO.HangDTO(maHang, tenHang, float.Parse(donGia.ToString()), int.Parse(nudSoLuong.Value.ToString())); List <DTO.HangDTO> list = new List <DTO.HangDTO> { hang }; AddDataToListView(list, lvwChiTietHoaDon); } DefaultValue(); /// } catch (Exception ex) { WarningMessageBox(ex); return; } }
private void BtnInPhieu_Click(object sender, EventArgs e) { var kiemtra = lvwChiTietHoaDon.Items.Count == 0; if (kiemtra) { MessageBox.Show("Điền đơn hàng"); return; } List <DTO.HangDTO> list = new List <DTO.HangDTO>(); foreach (ListViewItem item in lvwChiTietHoaDon.Items) { DTO.HangDTO chiTietHoaDon = new DTO.HangDTO() { StrMaHang = item.SubItems[0].Text.ToString(), StrTenHang = item.SubItems[1].Text.ToString(), FltDonGia = float.Parse(item.SubItems[2].Text.ToString()), IntSoLuong = int.Parse(item.SubItems[3].Text.ToString()), }; /*DTO.HangDTO chiTietHoaDon = new DTO.HangDTO(maHang, tenHang, donGia, soLuong);*/ list.Add(chiTietHoaDon); } var khachHang = quanLyThongTin.GetKhachHangBySDT(int.Parse(txtSDTKhachHang.Text.ToString())); int maHD = int.Parse((((int)DateTime.Now.TimeOfDay.TotalSeconds).ToString() + ((int)DateTime.Now.DayOfYear).ToString())); DTO.HoaDonDTO hoaDon = new DTO.HoaDonDTO(maHD, 0, "", 0, DateTime.Now, "0"); // this.Cursor = Cursors.WaitCursor; using (frmInPhieu inPhieu = new frmInPhieu(list, hoaDon, khachHang)) { this.Cursor = Cursors.Default; inPhieu.ShowDialog(); } }