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