private void btnSave_Click(object sender, EventArgs e) { decimal decTongTienTra = 0; if (itemDonHang == null) { MessageBox.Show("Chưa tìm thấy đơn hàng cần trả"); return; } List <TraHangChiTiet> ListTraHang = new List <TraHangChiTiet>(); if ((tblDS == null) || (tblDS.Rows.Count == 0)) { MessageBox.Show("Chưa tìm thấy đơn hàng cần trả"); return; } else { foreach (DataRow item in tblDS.Rows) { TraHangChiTiet newitem = new TraHangChiTiet(); newitem.SanPhamID = item["SanPhamID"].ToString(); int intSoLuongBan = 0; int.TryParse(item["SoLuong"].ToString(), out intSoLuongBan); newitem.SoLuongBan = intSoLuongBan; int intSoLuongTra = 0; int.TryParse(item["SLTraLai"].ToString(), out intSoLuongTra); newitem.SoLuongTra = intSoLuongTra; newitem.TenSanPham = item["TenSanPham"].ToString(); decimal decDonGia = 0; decimal.TryParse(item["DonGia"].ToString(), out decDonGia); newitem.DonGia = decDonGia; decimal decDonGiaTra = 0; decimal.TryParse(item["DonGiaTra"].ToString(), out decDonGiaTra); newitem.DonGiaTra = decDonGiaTra; decTongTienTra += decDonGiaTra * intSoLuongTra; ListTraHang.Add(newitem); } } TraHangItem = new TraHang(); TraHangItem.DonHangID = txtDonHangID.Text; TraHangItem.NgayTra = DateTime.Now; TraHangItem.NgayBan = itemDonHang.NgayBan; TraHangItem.KhachHangID = itemDonHang.KhachHangID; TraHangItem.TenKhachHang = itemDonHang.TenKhachHang; TraHangItem.NhanVienID = Utility.NguoiSuDung.NguoiDungID; TraHangItem.TenNhanVien = Utility.NguoiSuDung.TenNguoiDung; TraHangItem.GhiChu = txtGhiChu.Text; TraHangItem.TongTienTra = decTongTienTra; using (TransactionScope TScope = new TransactionScope()) { TraHangController.Add(TraHangItem, ListTraHang); QuyTienMatController.XuatQuyTienMat(TraHangItem.TraHangID, TraHangItem.NgayTra, decTongTienTra, "RT", "Khách trả lại hàng"); btnSave.Enabled = false; MessageBox.Show("Đã ghi thành công"); TScope.Complete(); } }
public JsonResult ThemPhieuTraHang(string ten, long[] arrayitemid, int[] arraysl, int[] arraymanh) { var user = kiemtra.getUser(User.Identity.Name); try { TraHang a = new TraHang(); a.Name = ten; a.Date = DateTime.Now; a.DateEnd = DateTime.Now.AddDays(7); a.State = (int)TraHangType.Waiting; a.UserId = user.Id; a.MaCN = user.MaCN; a.CT_TraHangs = new List <CT_TraHang>(); for (int i = 0; i < arrayitemid.Length; i++) { var NH = db.NhapHangs.Find(arraymanh[i]); var sanphamnhap = NH.CT_NhapHangs.FirstOrDefault(x => x.ItemId == arrayitemid[i]); sanphamnhap.Quantity = sanphamnhap.Quantity - arraysl[i]; a.CT_TraHangs.Add(new CT_TraHang { ItemId = arrayitemid[i], Quantity = arraysl[i], MaNH = arraymanh[i] }); } db.TraHangs.Add(a); db.SaveChanges(); LogMgr.AddLog(User.Identity.Name, (int)FunctionType.AddTraHang, "Lập đơn trả hàng " + a.MaTH); return(Json(new { msg = "Đã thêm đơn trả hàng" })); } catch (Exception ex) { log.Error("Lỗi thêm phiếu trả hàng: " + ex.Message); return(Json(new { msg = "Lỗi, không thêm được đơn trả hàng" })); } }
static public void Add(TraHang item, List <TraHangChiTiet> items) { dbControl = new QlShop(); using (TransactionScope scope = new TransactionScope()) { item.TraHangID = TaoMaTraHang("RT", 8); //cap nhat so luong ton kho thuc te luc xuat foreach (TraHangChiTiet TraHangItem in items) { TraHangItem.TraHangID = item.TraHangID; TraHangItem.TonKho = SanPhamController.GetTonKho(TraHangItem.SanPhamID); TraHangItem.GiaVon = SanPhamController.GetGiaVon(TraHangItem.SanPhamID); //SanPhamController.CapNhatTonKho(DonHangItem.SanPhamID, DonHangItem.SoLuong); } dbControl.TraHangs.Add(item); dbControl.TraHangChiTiets.AddRange(items); //cap nhat so luong ton kho foreach (TraHangChiTiet TraHangItem in items) { SanPhamController.CapNhatTonKho(TraHangItem.SanPhamID, 0 - TraHangItem.SoLuongTra); } //cap nha cong no va tong tien hang //if (item.KhachHangID != null) //{ // KhachHangController.CapNhatCongNo_MuaHang(item.KhachHangID, item.ConNo, item.TongCong); //} //21/11/2015: fanit82 //cap nha vo quy tien mat //--------------------------------- //QuyTienMatController.NhapQuyTienMat(item.DonHangID, item.NgayBan, item.ThanhToan, "BH", "Tiền mặt bán hàng"); //------------------end------------- dbControl.SaveChanges(); scope.Complete(); } }