public ActionResult DeleteConfirmed(string id) { PhieuNhapChiTiet phieuNhapChiTiet = db.PhieuNhapChiTiets.Find(id); db.PhieuNhapChiTiets.Remove(phieuNhapChiTiet); db.SaveChanges(); return(RedirectToAction("Index")); }
public List <PhieuNhapChiTiet> PhieuNhapChiTietByMa(int maPhieuNhap) { List <PhieuNhapChiTiet> listPhieuNhapChiTiet = new List <PhieuNhapChiTiet>(); DataTable data = DataProvider.Instance.ExecuteQuery("SECLET * FROM dbo.PhieuNhapChiTiet WHERE MaPhieuNhap =" + maPhieuNhap); foreach (DataRow item in data.Rows) { PhieuNhapChiTiet chiTiet = new PhieuNhapChiTiet(item); listPhieuNhapChiTiet.Add(chiTiet); } return(listPhieuNhapChiTiet); }
public ActionResult Edit([Bind(Include = "MaPN,MaMH,MaNCC")] PhieuNhapChiTiet phieuNhapChiTiet) { if (ModelState.IsValid) { db.Entry(phieuNhapChiTiet).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.MaPN = new SelectList(db.MatHangs, "MaMH", "Ten", phieuNhapChiTiet.MaPN); ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "Ten", phieuNhapChiTiet.MaNCC); ViewBag.MaPN = new SelectList(db.PhieuNhaps, "MaPN", "MaNV", phieuNhapChiTiet.MaPN); return(View(phieuNhapChiTiet)); }
// GET: Administrator/PhieuNhapChiTiets/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PhieuNhapChiTiet phieuNhapChiTiet = db.PhieuNhapChiTiets.Find(id); if (phieuNhapChiTiet == null) { return(HttpNotFound()); } return(View(phieuNhapChiTiet)); }
private decimal TinhGiaTriChoPhieuNhapChiTiet(PhieuNhapChiTiet pnct) { var tong = pnct.SoLuong * pnct.GiaNhap; if (pnct.ChietKhau > 0) { tong -= pnct.ChietKhau * pnct.SoLuong * pnct.GiaNhap / 100; } if (pnct.PhieuNhap.VAT > 0) { tong += pnct.PhieuNhap.VAT * pnct.SoLuong * pnct.GiaNhap / 100; } return(tong); }
// GET: Administrator/PhieuNhapChiTiets/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PhieuNhapChiTiet phieuNhapChiTiet = db.PhieuNhapChiTiets.Find(id); if (phieuNhapChiTiet == null) { return(HttpNotFound()); } ViewBag.MaPN = new SelectList(db.MatHangs, "MaMH", "Ten", phieuNhapChiTiet.MaPN); ViewBag.MaNCC = new SelectList(db.NhaCungCaps, "MaNCC", "Ten", phieuNhapChiTiet.MaNCC); ViewBag.MaPN = new SelectList(db.PhieuNhaps, "MaPN", "MaNV", phieuNhapChiTiet.MaPN); return(View(phieuNhapChiTiet)); }
private void Save() { PhieuNhap itemSave = new PhieuNhap(); //thong tin ban hang itemSave.PhieuNhapID = PhieuNhapController.TaoMaPhieuNhap("PN", 10); itemSave.NgayNhap = dateEditNgayBan.DateTime; if (lookUpEditNhaCungCap.EditValue != null) { itemSave.NhaCungCapID = lookUpEditNhaCungCap.EditValue.ToString(); itemSave.TenNhaCungCap = lookUpEditNhaCungCap.Text; } itemSave.MaPhieuNCC = txtPhieuNhaCC.Text; itemSave.GhiChu = txtGhiChu.Text; itemSave.NhanVienID = txtNhanVien.Text; itemSave.TenNhanVien = Utility.NguoiSuDung.TenNguoiDung; itemSave.LastUpdate = DateTime.Now; //thong tin thanh toan itemSave.TienHang = txtTienHang.Value; itemSave.ThanhToan = txtThanhToan.Value; itemSave.ConNo = txtConNo.Value; //lay thong tin chi tiet don hang List <PhieuNhapChiTiet> PhieuNhapItems = new List <PhieuNhapChiTiet>(); if (tblDonHangChiTiet != null) { foreach (DataRow item in tblDonHangChiTiet.Rows) { PhieuNhapChiTiet newitem = new PhieuNhapChiTiet(); newitem.PhieuNhapID = itemSave.PhieuNhapID; newitem.SanPhamID = item["SanPhamID"].ToString(); newitem.TenSanPham = item["TenSanPham"].ToString(); newitem.Size = item["Size"].ToString(); newitem.SoLuong = Convert.ToInt32(item["SoLuong"].ToString()); newitem.DonGia = Convert.ToDecimal(item["DonGia"].ToString()); newitem.CreateDate = DateTime.Now; //newitem.TonKho = SanPhamController.GetTonKho(newitem.SanPhamID); PhieuNhapItems.Add(newitem); } } PhieuNhapController.Add(itemSave, PhieuNhapItems); }
// cap nhat gia/lo/han dung cho tung thuoc o trong Phieu kiem ke public void UpdateDrugSerialNoAndExpDate(String maNhaThuoc, InventoryEditModel inventoryEditModel) { int inventoryId = inventoryEditModel.InventoryId; // return khi ma phieu kiem ke khong hop le if (inventoryId <= 0) { return; } bool canKho = inventoryEditModel.DaCanKho; decimal gia = inventoryEditModel.Gia; string soLo = inventoryEditModel.SoLo; DateTime?hanDung = inventoryEditModel.HanDung; var phieuKiemKeRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKe> >().GetAll(); var phieuKiemKeChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKeChiTiet> >(); var phieuNhapChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhapChiTiet> >(); var phieuXuatChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuatChiTiet> >(); InventoryDetailModel inventoryDetailModel = GetInventoryDetailInfo(maNhaThuoc, inventoryId); var thuocId = inventoryDetailModel.MedicineList.Where(x => x.MaThuoc == inventoryEditModel.MaThuoc).FirstOrDefault().ThuocId; // lay thong tin phieu kiem ke chi tiet theo PhieuKiemKe_MaPhieuKiemKe va Thuoc_ThuocId var pkkctQuery = from pkkct in phieuKiemKeChiTietRepo.GetAll() where (pkkct.PhieuKiemKe_MaPhieuKiemKe == inventoryId && pkkct.RecordStatusID == (byte)RecordStatus.Activated && pkkct.Thuoc_ThuocId == thuocId) select pkkct; var pkkctQueryResult = pkkctQuery.FirstOrDefault(); PhieuKiemKeChiTiet phieuKiemKeChiTietEntity = pkkctQueryResult; phieuKiemKeChiTietEntity.DonGia = gia; phieuKiemKeChiTietEntity.SoLo = soLo; phieuKiemKeChiTietEntity.HanDung = hanDung; // cap nhat gia/lo/han vao bang PhieuKiemKeChiTiets phieuKiemKeChiTietRepo.Update(phieuKiemKeChiTietEntity); phieuKiemKeChiTietRepo.Commit(); // TH phieu da can kho, cap nhat gia/lo/han trong phieu Nhap/xuat chi tiet if (canKho) { inventoryDetailModel.PhieuCanKhoChiTiet.ForEach(p => { // TH Phieu Nhap thì update giá nhập/lô/hạn dùng vào phiếu nhập chi tiết if (p.LoaiPhieu == NoteInOutType.Receipt && p.SoLuong > 0) { // tim Phieu Nhap Chi Tiet theo MaPhieu va thuocId var pnctQuery = from pnct in phieuNhapChiTietRepo.GetAll() where (pnct.PhieuNhap_MaPhieuNhap == p.MaPhieu && pnct.Thuoc_ThuocId == thuocId) select pnct; var pnctQueryResult = pnctQuery.FirstOrDefault(); if (pnctQueryResult != null) { PhieuNhapChiTiet phieuNhapChiTietEntity = pnctQueryResult; phieuNhapChiTietEntity.GiaNhap = gia; phieuNhapChiTietEntity.SoLo = soLo; phieuNhapChiTietEntity.HanDung = hanDung; phieuNhapChiTietRepo.Update(phieuNhapChiTietEntity); phieuNhapChiTietRepo.Commit(); } } // TH Phieu Xuat thì update giá xuất if (p.LoaiPhieu == NoteInOutType.Delivery && p.SoLuong > 0) { // tim Phieu Xuat Chi Tiet theo MaPhieu va thuocId var pxctQuery = from pxct in phieuXuatChiTietRepo.GetAll() where (pxct.PhieuXuat_MaPhieuXuat == p.MaPhieu && pxct.Thuoc_ThuocId == thuocId) select pxct; var pxctQueryResult = pxctQuery.FirstOrDefault(); if (pxctQueryResult != null) { PhieuXuatChiTiet phieuXuatChiTietEntity = pxctQueryResult; phieuXuatChiTietEntity.GiaXuat = gia; phieuXuatChiTietRepo.Update(phieuXuatChiTietEntity); phieuXuatChiTietRepo.Commit(); } } }); } }
// luu thong tin Phieu Kiem Ke (ca truong hop tao moi + update) public int SaveInventory(String maNhaThuoc, int userId, InventoryDetailModel model) { var phieuKiemKeRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKe> >(); var phieuKiemKeChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKeChiTiet> >(); var phieuNhapRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhap> >(); var phieuXuatRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuat> >(); var phieuNhapChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhapChiTiet> >(); var phieuXuatChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuatChiTiet> >(); var validDrugRepo = _dataFilterService.GetValidDrugs(maNhaThuoc); bool canKho = model.DaCanKho; // add thêm giá trị giờ phút vào ngày tạo model.CreateTime = model.CreateTime.WithCurrentTime(); // return value = mã phiếu nếu lưu phiếu thành công int retval = 0; var inventoryDrugCodes = model.MedicineList.Select(i => i.MaThuoc.ToLower()).ToList(); var inventoryDrugQuery = from d in validDrugRepo where (inventoryDrugCodes.Contains(d.MaThuoc.ToLower())) select new { d.MaThuoc, d.ThuocId, d.DonViXuatLe_MaDonViTinh, d.GiaNhap }; var inventoryDrugQueryResult = inventoryDrugQuery.ToDictionary(x => x.MaThuoc.ToLower(), x => new { x.ThuocId, x.DonViXuatLe_MaDonViTinh, x.GiaNhap }); // tạo 1 đối tượng phiếu kiểm kê và lưu/cập nhật đối tượng này vào bảng PhieuKiemKes trong DB PhieuKiemKe phieuKiemKe = null; // TH tạo phiếu kiểm kê mới if (model.Id == 0) { phieuKiemKe = new PhieuKiemKe { NhaThuoc_MaNhaThuoc = maNhaThuoc, CreatedBy_UserId = userId, Created = model.CreateTime, DaCanKho = canKho, RecordStatusID = (byte)RecordStatus.Activated }; phieuKiemKeRepo.Insert(phieuKiemKe); phieuKiemKeRepo.Commit(); } // TH update phiếu đã tạo else { var pkkQuery = from pkk in phieuKiemKeRepo.GetAll() where (pkk.MaPhieuKiemKe == model.Id) select pkk; phieuKiemKe = pkkQuery.FirstOrDefault(); phieuKiemKe.Modified = DateTime.Now; phieuKiemKe.DaCanKho = canKho; phieuKiemKe.ModifiedBy_UserId = userId; phieuKiemKeRepo.Update(phieuKiemKe); phieuKiemKeRepo.Commit(); } retval = phieuKiemKe.MaPhieuKiemKe; // TH chọn cân kho, tạo phiếu điều chỉnh sau kiểm kê if (canKho) { // tạo phiếu nhập mới var nhaCungCap = EnsureNhaCungCapKiemKe(maNhaThuoc, userId); var loaiKiemKe = EnsureLoaiXuatNhapKiemKe(); var receiptService = IoC.Container.Resolve <IReceiptNoteService>(); var deliveryService = IoC.Container.Resolve <IDeliveryNoteService>(); var phieuNhap = new PhieuNhap() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuNhap = receiptService.GetNewReceiptNoteNumber(maNhaThuoc), NgayNhap = phieuKiemKe.Created, LoaiXuatNhap_MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuNhapRepo.Insert(phieuNhap); // tạo phiếu xuất mới var phieuXuat = new PhieuXuat() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuXuat = deliveryService.GetNewDeliveryNoteNumber(maNhaThuoc), NgayXuat = phieuKiemKe.Created, MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuXuatRepo.Insert(phieuXuat); var phieuXuatChiTiets = new List <PhieuXuatChiTiet>(); var phieuNhapChiTiets = new List <PhieuNhapChiTiet>(); model.MedicineList.ForEach(e => { var chenhLech = e.ThucTe.HasValue ? e.TonKho - e.ThucTe : e.TonKho; var drugId = inventoryDrugQueryResult[e.MaThuoc.ToLower()].ThuocId; var maDonViTinh = inventoryDrugQueryResult[e.MaThuoc.ToLower()].DonViXuatLe_MaDonViTinh; var gia = inventoryDrugQueryResult[e.MaThuoc.ToLower()].GiaNhap; if (chenhLech > 0) { // tao phieu xuat dieu chinh kiem ke var dItem = new PhieuXuatChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh.Value, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value, Thuoc_ThuocId = drugId, GiaXuat = e.Gia != 0 ? e.Gia : gia, }; phieuXuatChiTiets.Add(dItem); } else if (chenhLech < 0) { // tao phieu nhap dieu chinh kiem ke var rItem = new PhieuNhapChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value * -1, Thuoc_ThuocId = drugId, GiaNhap = e.Gia != 0 ? e.Gia : gia, SoLo = e.SoLo, HanDung = e.HanDung, }; phieuNhapChiTiets.Add(rItem); } }); // tính tổng tiền và đã trả cho phiếu nhập xuất rồi insert bản ghi vào DB phieuNhap.TongTien = phieuNhapChiTiets.Sum(a => a.SoLuong * a.GiaNhap); phieuNhap.DaTra = phieuNhap.TongTien; phieuXuat.TongTien = phieuXuatChiTiets.Sum(a => a.SoLuong * a.GiaXuat); phieuXuat.DaTra = phieuXuat.TongTien; phieuNhapRepo.Commit(); phieuXuatRepo.Commit(); // cập nhật mã phiếu nhập/xuất vào phiếu nhập xuất chi tiết phieuNhapChiTiets.ForEach(i => { i.PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap; i.IsModified = true; }); phieuXuatChiTiets.ForEach(i => { i.PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat; i.IsModified = true; }); phieuNhapChiTietRepo.InsertMany(phieuNhapChiTiets); phieuNhapChiTietRepo.Commit(); phieuXuatChiTietRepo.InsertMany(phieuXuatChiTiets); phieuXuatChiTietRepo.Commit(); // cập nhật mã phiếu nhập/xuất vào Phiếu kiểm kê phieuKiemKeRepo.UpdateMany(i => i.MaPhieuKiemKe == retval, i => new PhieuKiemKe() { PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap, PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }); phieuKiemKeRepo.Commit(); } // TH phiếu đã lưu thì xóa các bản ghi phiếu kiểm kê chi tiết cũ if (model.Id > 0) { phieuKiemKeChiTietRepo.Delete(i => i.PhieuKiemKe_MaPhieuKiemKe == model.Id); phieuKiemKeChiTietRepo.Commit(); } List <PhieuKiemKeChiTiet> phieuKiemKeChiTiets = new List <PhieuKiemKeChiTiet>(); foreach (var thuoc in model.MedicineList) { phieuKiemKeChiTiets.Add(new PhieuKiemKeChiTiet { PhieuKiemKe_MaPhieuKiemKe = retval, Thuoc_ThuocId = inventoryDrugQueryResult[thuoc.MaThuoc.ToLower()].ThuocId, TonKho = thuoc.TonKho, ThucTe = thuoc.ThucTe, DonGia = thuoc.Gia, SoLo = thuoc.SoLo, HanDung = thuoc.HanDung, RecordStatusID = (byte)RecordStatus.Activated }); } phieuKiemKeChiTietRepo.InsertMany(phieuKiemKeChiTiets); phieuKiemKeChiTietRepo.Commit(); return(retval); }
// luu thong tin Phieu Kiem Ke (ca truong hop tao moi + update) public int SaveInventory(String maNhaThuoc, String maNhaThuocCha, int userId, InventoryDetailModel model) { var phieuKiemKeRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKe> >(); var phieuKiemKeChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKeChiTiet> >(); var phieuNhapRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhap> >(); var phieuXuatRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuat> >(); var phieuNhapChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhapChiTiet> >(); var phieuXuatChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuatChiTiet> >(); var drugRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, Thuoc> >(); bool canKho = model.IsCompareStore; var currentDate = DateTime.Now; model.CreateTime = model.CreateTime.AddHours(currentDate.Hour).AddMinutes(currentDate.Minute).AddSeconds(currentDate.Second); int retval = 0; var drugCodes = model.MedicineList.Select(i => i.MaThuoc.ToLower()).ToList(); var query = from d in drugRepo.GetAll() where (drugCodes.Contains(d.MaThuoc.ToLower()) && (d.NhaThuoc_MaNhaThuoc == maNhaThuoc || d.NhaThuoc_MaNhaThuoc == maNhaThuocCha)) select new { d.MaThuoc, d.ThuocId, d.DonViXuatLe_MaDonViTinh, d.GiaNhap }; var drugs = query.ToDictionary(x => x.MaThuoc.ToLower(), x => new { x.ThuocId, x.DonViXuatLe_MaDonViTinh, x.GiaNhap }); // tạo 1 đối tượng phiếu kiểm kê và lưu/cập nhật đối tượng này vào bảng PhieuKiemKes trong DB PhieuKiemKe phieuKiemKe = null; // TH tạo phiếu kiểm kê mới if (model.Id == 0) { phieuKiemKe = new PhieuKiemKe { //MaPhieuKiemKe = model.Id, NhaThuoc_MaNhaThuoc = maNhaThuoc, CreatedBy_UserId = userId, Created = model.CreateTime, DaCanKho = canKho, RecordStatusId = (int)RecordStatus.Activated }; phieuKiemKeRepo.Insert(phieuKiemKe); phieuKiemKeRepo.Commit(); } // TH update phiếu đã tạo else { var pkkQuery = from pkk in phieuKiemKeRepo.GetAll() where (pkk.MaPhieuKiemKe == model.Id) select pkk; phieuKiemKe = pkkQuery.FirstOrDefault(); phieuKiemKe.Modified = DateTime.Now; phieuKiemKe.DaCanKho = canKho; phieuKiemKe.ModifiedBy_UserId = userId; phieuKiemKeRepo.Update(phieuKiemKe); phieuKiemKeRepo.Commit(); } retval = phieuKiemKe.MaPhieuKiemKe; // TH chọn cân kho, tạo phiếu điều chỉnh sau kiểm kê if (canKho) { // tạo phiếu nhập mới var nhaCungCap = EnsureNhaCungCapKiemKe(maNhaThuoc, userId); var loaiKiemKe = EnsureLoaiXuatNhapKiemKe(); var phieuNhap = new PhieuNhap() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuNhap = _generateAvaliableSoPhieuNhap(maNhaThuoc), NgayNhap = phieuKiemKe.Created, LoaiXuatNhap_MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuNhapRepo.Insert(phieuNhap); //phieuNhapRepo.Commit(); // tạo phiếu xuất mới var phieuXuat = new Entity.PhieuXuat() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuXuat = _generateAvaliableSoPhieuXuat(maNhaThuoc), NgayXuat = phieuKiemKe.Created, MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuXuatRepo.Insert(phieuXuat); //phieuXuatRepo.Commit(); var phieuXuatChiTiets = new List <PhieuXuatChiTiet>(); var phieuNhapChiTiets = new List <PhieuNhapChiTiet>(); model.MedicineList.ForEach(e => { var chenhLech = e.ThucTe.HasValue ? e.TonKho - e.ThucTe : e.TonKho; var drugId = drugs[e.MaThuoc.ToLower()].ThuocId; var maDonViTinh = drugs[e.MaThuoc.ToLower()].DonViXuatLe_MaDonViTinh; var gia = drugs[e.MaThuoc.ToLower()].GiaNhap; if (chenhLech > 0) { // tao phieu xuat dieu chinh kiem ke var dItem = new PhieuXuatChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh.Value, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value, Thuoc_ThuocId = drugId, GiaXuat = e.Gia != 0 ? e.Gia : gia, //PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }; phieuXuatChiTiets.Add(dItem); } else if (chenhLech < 0) { // tao phieu nhap dieu chinh kiem ke var rItem = new PhieuNhapChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value * -1, Thuoc_ThuocId = drugId, GiaNhap = e.Gia != 0 ? e.Gia : gia, SoLo = e.SoLo, HanDung = e.HanDung, //PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap }; phieuNhapChiTiets.Add(rItem); } }); phieuNhap.TongTien = phieuNhapChiTiets.Sum(a => a.SoLuong * a.GiaNhap); phieuNhap.DaTra = phieuNhap.TongTien; phieuXuat.TongTien = phieuXuatChiTiets.Sum(a => a.SoLuong * a.GiaXuat); phieuXuat.DaTra = phieuXuat.TongTien; phieuNhapRepo.Commit(); phieuXuatRepo.Commit(); phieuNhapChiTiets.ForEach(i => { i.PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap; i.IsModified = true; }); phieuXuatChiTiets.ForEach(i => { i.PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat; i.IsModified = true; }); phieuNhapChiTietRepo.InsertMany(phieuNhapChiTiets); phieuNhapChiTietRepo.Commit(); phieuXuatChiTietRepo.InsertMany(phieuXuatChiTiets); phieuXuatChiTietRepo.Commit(); phieuKiemKeRepo.UpdateMany(i => i.MaPhieuKiemKe == retval, i => new PhieuKiemKe() { PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap, PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }); phieuKiemKeRepo.Commit(); } // tạo 1 đối tượng PhieuKiemKeChiTiet // update table PhieuKiemKeChiTiets if (model.Id > 0) { phieuKiemKeChiTietRepo.Delete(i => i.PhieuKiemKe_MaPhieuKiemKe == model.Id); phieuKiemKeChiTietRepo.Commit(); } List <PhieuKiemKeChiTiet> phieuKiemKeChiTiets = new List <PhieuKiemKeChiTiet>(); foreach (var thuoc in model.MedicineList) { phieuKiemKeChiTiets.Add(new PhieuKiemKeChiTiet { PhieuKiemKe_MaPhieuKiemKe = retval, Thuoc_ThuocId = drugs[thuoc.MaThuoc.ToLower()].ThuocId, TonKho = thuoc.TonKho, ThucTe = thuoc.ThucTe, DonGia = thuoc.Gia, SoLo = thuoc.SoLo, HanDung = thuoc.HanDung, RecordStatusId = (int)RecordStatus.Activated }); } phieuKiemKeChiTietRepo.InsertMany(phieuKiemKeChiTiets); phieuKiemKeChiTietRepo.Commit(); return(retval); }