//thay doi so luong lk void repositoryItemSpinEdit1_EditValueChanged(object sender, EventArgs e) { decimal soluong = (decimal)((DevExpress.XtraEditors.SpinEdit)sender).Value; CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View; decimal chenhLech = soluong - ct_hd.SoLuong; Kho_View kho = list_LK_inKho.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault(); decimal chechLechVsKho = chenhLech - kho.SoLuong; if (kho != null) { foreach (CT_HoaDon_View item in ls_cthd) { if (item.MaLinhKien.Equals(ct_hd.MaLinhKien)) { if (chechLechVsKho > 0 && chenhLech > 0) { MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!"); ((DevExpress.XtraEditors.SpinEdit)sender).Value = ct_hd.SoLuong; //kho.SoLuong = 0; return; } else { if (chenhLech != 0) { item.SoLuong = (Int32)soluong; item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100); if (chenhLech > 0) { item.SoSeri.AddRange(kho.SoSeri.GetRange(0, (int)chenhLech)); kho.SoSeri.RemoveRange(0, (int)chenhLech); } else { chenhLech = -chenhLech; kho.SoSeri.InsertRange(0, item.SoSeri.GetRange(item.SoSeri.Count - (int)chenhLech, (int)chenhLech)); item.SoSeri.RemoveRange(item.SoSeri.Count - (int)chenhLech, (int)chenhLech); } kho.SoLuong = kho.SoSeri.Count(); count_TongTien(); } } gridCtrlLoc.RefreshDataSource(); gridControl1.RefreshDataSource(); break; } } } else { if (chenhLech != 0) { MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!"); ((DevExpress.XtraEditors.SpinEdit)sender).Value = ct_hd.SoLuong; return; } } }
private void RemoveRowGrid_CT_HoaDon() { CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View; if (ct_hd != null) { Kho_View kho = list_LK_inKho.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault(); if (kho == null) { kho = new Kho_View(); kho.MaLinhKien = ct_hd.MaLinhKien; kho.TenLinhKien = ct_hd.TenLinhKien; kho.SoSeri = new List <string>(); kho.SoLuong = 0; list_LK_inKho.Add(kho); } var get_item = ls_cthd.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault(); if (get_item != null) { //foreach (var item in get_item.SoSeri) //{ // kho.SoSeri.Add(item); //} kho.SoSeri.InsertRange(0, get_item.SoSeri); kho.SoLuong = kho.SoSeri.Count; ls_cthd.Remove(get_item); gridControl1.RefreshDataSource(); gridCtrlLoc.RefreshDataSource(); } //foreach (CT_HoaDon_View item in ls_cthd) //{ // if (item.MaLinhKien.Equals(ct_hd.MaLinhKien)) // { // ls_cthd.Remove(item); // gridControl1.DataSource = ls_cthd; // gridControl1.RefreshDataSource(); // break; // } //} count_TongTien(); } }
private void addRowGrid_CT_HoaDon() { Kho_View kho = gridViewLoc.GetFocusedRow() as Kho_View; bool flat = false; if (ls_cthd.Count > 0) { if (kho.SoLuong <= 0) { MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!"); return; } else { foreach (CT_HoaDon_View item in ls_cthd) { if (item.MaLinhKien.Equals(kho.MaLinhKien)) { kho.SoLuong -= 1; item.SoLuong += 1; item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100); item.SoSeri.Add(kho.SoSeri[0]); kho.SoSeri.RemoveAt(0); flat = true; break; } } } } if (!flat) { LinhKien_View lk_view = LinhKien_DAL.get_LinhKien_ByMaLK(kho.MaLinhKien); CT_HoaDon_View ct_hd = new CT_HoaDon_View(); ct_hd.MaHoaDon = txtMaPhieu.Text.Trim(); ct_hd.MaLinhKien = lk_view.MaLinhKien; ct_hd.TenLinhKien = lk_view.TenLinhKien; ct_hd.DonViTinh = lk_view.MaDonViTinh; ct_hd.ThoiGianBaoHanh = lk_view.ThoiGianBaoHanh; switch (loaiKH) { case "L001": ct_hd.GiaBan = lk_view.GiaBanLe; phanTramChietKhau = 0; break; case "L002": ct_hd.GiaBan = lk_view.GiaBanSi; phanTramChietKhau = 0; break; case "L003": ct_hd.GiaBan = lk_view.GiaBanLe; phanTramChietKhau = phanTramChietKhau_DB; break; } ct_hd.SoLuong = 1; kho.SoLuong -= 1; ct_hd.ThanhTien = (ct_hd.SoLuong * ct_hd.GiaBan) + (ct_hd.SoLuong * ct_hd.GiaBan) * (Decimal)(ct_hd.Thue / 100); ct_hd.SoSeri = new List <string>(); ct_hd.SoSeri.Add(kho.SoSeri[0]); kho.SoSeri.RemoveAt(0); ls_cthd.Add(ct_hd); } gridCtrlLoc.RefreshDataSource(); gridControl1.RefreshDataSource(); count_TongTien(); }