//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 txtThue_EditValueChanged(object sender, EventArgs e) { float thue; string strGB = ((DevExpress.XtraEditors.TextEdit)sender).Text.Trim(); if (strGB.Equals("")) { thue = 0; } else { strGB = strGB.Substring(0, strGB.Length - 2); thue = float.Parse(strGB); } CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View; foreach (CT_HoaDon_View item in ls_cthd) { if (item.MaLinhKien.Equals(ct_hd.MaLinhKien)) { item.Thue = thue; item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100); //gridControl1.DataSource = ls_cthd; gridControl1.RefreshDataSource(); count_TongTien(); break; } } }
private void text_money_EditValueChanged(object sender, EventArgs e) { decimal giaBan; string strGB = ((DevExpress.XtraEditors.TextEdit)sender).Text.Trim(); if (strGB.Equals("")) { giaBan = 0; } else { giaBan = Decimal.Parse(strGB); } CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View; foreach (CT_HoaDon_View item in ls_cthd) { if (item.MaLinhKien.Equals(ct_hd.MaLinhKien)) { item.GiaBan = giaBan; item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100); gridControl1.DataSource = ls_cthd; gridControl1.RefreshDataSource(); count_TongTien(); break; } } }
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(); } }
public static CT_HoaDon_View get_CTHoaDon_By_MaHD_MaLK(string maHD, string maLK) { var hd = from ct_hoadon in Context.getInstance().db.CT_HOADON where ct_hoadon.MaHoaDon == maHD where ct_hoadon.MaLinhKien == maLK where ct_hoadon.TinhTrang == 1 select new CT_HoaDon_View { MaHoaDon = ct_hoadon.MaHoaDon, MaLinhKien = ct_hoadon.MaLinhKien, TenLinhKien = ct_hoadon.LINHKIEN.TenLinhKien, LoaiLinhKien = ct_hoadon.LINHKIEN.THUONGHIEU.TenThuongHieu, DonViTinh = ct_hoadon.LINHKIEN.DONVITINH.TenDonViTinh, SoLuong = ct_hoadon.SoLuong, GiaBan = ct_hoadon.LINHKIEN.GiaBanLe, ThanhTien = ct_hoadon.ThanhTien, ThoiGianBaoHanh = ct_hoadon.LINHKIEN.ThoiGianBaoHanh, Thue = (float)ct_hoadon.Thue, LoiNhuan = ct_hoadon.LoiNhuan, Seri = ct_hoadon.Seri, GhiChu = ct_hoadon.GhiChu }; CT_HoaDon_View myHD = new CT_HoaDon_View(); if (hd.ToList().Count > 0) { myHD = hd.ToList()[0]; } myHD.SoSeri = new List <string>(); foreach (var item in hd.ToList()) { myHD.SoSeri.Add(item.Seri); } return(myHD); }
private void btnHoanTat_Click(object sender, EventArgs e) { var result = MessageBox.Show("Bạn có muốn lưu sự thay đổi xuống cơ sở dữ liệu hay không?", "Lưu thông tin", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { if (ls_cthd.Count == 0) { MessageBox.Show("Chưa có sản phẩm nào được chọn, xin vui lòng kiểm tra lại!"); } else { hoadon.GhiChu = txtGhiChu.Text.Trim(); hoadon.NgayLap = dateNgayBan.Value; hoadon.TongTien = Decimal.Parse(lbTongTien.Text); //bien trang thai hoa don hoadon.TrangThai = 1; //set nguoi sua va ngay sua cua hoa don hoadon.MaNhanVienSua = Context.getInstance().nv.MaNhanVien; hoadon.NgaySua = DateTime.Now; foreach (var item in ls_cthd) { item.LoiNhuan = (item.SoLuong * item.GiaBan) - (item.SoLuong * LinhKien_DAL.get_LinhKien_ByMaLK(item.MaLinhKien).GiaNhap); item.LoiNhuan = item.LoiNhuan - (item.LoiNhuan * phanTramChietKhau / 100); hoadon.TongLoiNhuan += item.LoiNhuan; } List <CT_HoaDon_View> mLstCTHD = CT_HoaDon_DAL.get_CTHoaDon_By_MaHD_TT01(hoadon.MaHoaDon); if (mLstCTHD.Count > ls_cthd.Count) { foreach (var item in mLstCTHD) { CT_HoaDon_View ct = ls_cthd.Where(key => key.MaLinhKien == item.MaLinhKien).FirstOrDefault(); if (ct != null)//neu chi tiet hoa don chua bi xoa { getChange(ct.toList_CT_HoaDon(), CT_HoaDon_DAL.get_CTHoaDon_By_MaHD_MaLK(item.MaHoaDon, item.MaLinhKien).toList_CT_HoaDon()); } else { dt.Deletes.AddRange(item.toList_CT_HoaDon()); } } } else { foreach (var item in ls_cthd) { CT_HoaDon_View ct = mLstCTHD.Where(key => key.MaLinhKien == item.MaLinhKien).FirstOrDefault(); if (ct != null)//neu chi tiet hoa don chua bi xoa { getChange(item.toList_CT_HoaDon(), ct.toList_CT_HoaDon()); } else { dt.Inserts.AddRange(item.toList_CT_HoaDon()); } } } if (HoaDon_DAL.update_HoaDon(hoadon, dt, tong_tien_old)) { MessageBox.Show("Lưu thông tin thành công!"); this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra dữ liệu!"); } } } }
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(); }