Esempio n. 1
0
        public bool CapNhatPhieuKiemKe(PhieuKiemKe pkkobj)
        {
            try
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    conn.Open();
                }

                string     statement = "EXEC PHIEUKIEMKE_Upd @MaPKK, @CodePKK, @Ngaytao, @MaNV";
                SqlCommand cmd       = new SqlCommand(statement, conn);
                cmd.Parameters.Add("@MaPKK", System.Data.SqlDbType.VarChar).Value    = pkkobj.MiMaPKK.ToString();
                cmd.Parameters.Add("@CodePKK", System.Data.SqlDbType.NVarChar).Value = pkkobj.MsCodePKK;
                cmd.Parameters.Add("@Ngaytao", System.Data.SqlDbType.NVarChar).Value = pkkobj.MdtNgaytao.ToString();
                cmd.Parameters.Add("@MaNV", System.Data.SqlDbType.VarChar).Value     = pkkobj.MiMaNV.ToString();
                cmd.ExecuteNonQuery();

                conn.Close();
                return(true);
            }
            catch (Exception)
            {
                conn.Close();
                return(false);
            }
        }
Esempio n. 2
0
        public PhieuKiemKe PhieuKiemKeByMaPKK(string sMaPKK)
        {
            try
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }

                SqlCommand cmd = new SqlCommand("EXEC SUCO_ById @MaPKK ", conn);
                cmd.Parameters.Add("@MaPKK", SqlDbType.VarChar).Value = sMaPKK;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable      dt = new DataTable();
                da.Fill(dt);
                conn.Close();
                PhieuKiemKe result = new PhieuKiemKe(Int32.Parse(dt.Rows[0][0].ToString()),
                                                     dt.Rows[0][1].ToString(),
                                                     Convert.ToDateTime(dt.Rows[0][2].ToString()),
                                                     Int32.Parse(dt.Rows[0][3].ToString()),
                                                     Int32.Parse(dt.Rows[0][4].ToString()));
                return(result);
            }
            catch (Exception)
            {
                conn.Close();
                return(null);
            }
        }
        public ActionResult DeleteConfirmed(string id)
        {
            PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id);

            db.PhieuKiemKes.Remove(phieuKiemKe);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "MaPKK,MaNV,NgayCapThe")] PhieuKiemKe phieuKiemKe)
 {
     if (ModelState.IsValid)
     {
         db.Entry(phieuKiemKe).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV);
     return(View(phieuKiemKe));
 }
        public ActionResult Create([Bind(Include = "MaPKK,MaNV,NgayCapThe")] PhieuKiemKe phieuKiemKe)
        {
            if (ModelState.IsValid)
            {
                db.PhieuKiemKes.Add(phieuKiemKe);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV);
            return(View(phieuKiemKe));
        }
        // GET: Administrator/PhieuKiemKes/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id);

            if (phieuKiemKe == null)
            {
                return(HttpNotFound());
            }
            return(View(phieuKiemKe));
        }
        // GET: Administrator/PhieuKiemKes/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id);

            if (phieuKiemKe == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV);
            return(View(phieuKiemKe));
        }
Esempio n. 8
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            PhieuKiemKe pkk = new PhieuKiemKe();

            pkk.MaNhanVien    = "NV0001";
            pkk.MaPhieuKiemKe = txtMaPhieu.Text.Trim();
            pkk.NgayLap       = deNgayLap.DateTime;
            if (PhieuKiemKeService.Insert(pkk))
            {
                for (int i = 0; i < grvPhieuKiemKe.RowCount; i++)
                {
                    ChiTietKiemKe ctkk = new ChiTietKiemKe();
                    ctkk.MaPhieuKiemKe = pkk.MaPhieuKiemKe;
                    ctkk.MaHangHoa     = grvPhieuKiemKe.GetRowCellValue(i, "MaHangHoa").ToString();
                    ctkk.SLTonTrenQuay = Convert.ToInt32(grvPhieuKiemKe.GetRowCellValue(i, "SLTonTrenQuay").ToString());
                    ctkk.SLTonTrongKho = Convert.ToInt32(grvPhieuKiemKe.GetRowCellValue(i, "SLTonTrongKho").ToString());
                    if (!ChiTietKiemKeService.Insert(ctkk))
                    {
                        XtraMessageBox.Show("Lưu thất bại!");
                        if (i > 0)
                        {
                            if (!ChiTietKiemKeService.Delete(pkk.MaPhieuKiemKe))
                            {
                                XtraMessageBox.Show("Roll back không thành công!");
                                return;
                            }
                        }
                        if (PhieuKiemKeService.Delete(pkk.MaPhieuKiemKe))
                        {
                            XtraMessageBox.Show("Roll back thành công!");
                        }
                        else
                        {
                            XtraMessageBox.Show("Roll back không thành công!");
                        }
                        return;
                    }
                }
                XtraMessageBox.Show("Lưu thành công!");
                isSaved = true;
            }
            else
            {
                XtraMessageBox.Show("Lưu thất bại!");
            }
        }
Esempio n. 9
0
 public bool Update(PhieuKiemKe phieukiemke)
 {
     return(_connect.Update("SP_PHIEUKIEMKE_UPD", phieukiemke));
 }
Esempio n. 10
0
 public bool Insert(PhieuKiemKe phieukiemke)
 {
     return(_connect.Update(phieukiemke));
 }
Esempio n. 11
0
 public static bool Update(PhieuKiemKe phieukiemke)
 {
     return(Controller.Update(phieukiemke));
 }
Esempio n. 12
0
 public static bool Insert(PhieuKiemKe phieukiemke)
 {
     return(Controller.Insert(phieukiemke));
 }
Esempio n. 13
0
        // 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);
        }
Esempio n. 14
0
        // 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);
        }