Ejemplo n.º 1
0
        public ActionResult Kiemtrathuocxacnhan(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt, ref string errMsg)
        {
            TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery(
                TThuockho.CreateQuery()
                .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhoxuat)
                .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc)
                .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date)
                .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap)
                .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan)
                .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap)
                .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo)
                .AND(TThuockho.NgayNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayNhap)
                .AND(TThuockho.GiaBhytColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBhyt)
                .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat)
                );

            if (vCollection.Count <= 0)
            {
                errMsg = string.Format("ID thuốc={0}, không tồn tại trong kho {1}", objPhieuNhapCt.IdThuoc.ToString(), objPhieuNhap.IdKhonhap.ToString());
                return(ActionResult.Exceed);//Lỗi không có dòng dữ liệu trong bảng kho-thuốc
            }
            int SoLuong = vCollection[0].SoLuong;

            SoLuong = SoLuong - objPhieuNhapCt.SoLuong;
            if (SoLuong < 0)
            {
                errMsg = string.Format("ID thuốc={0}, Số lượng còn trong kho {1}, Số lượng bị trừ {2}", objPhieuNhapCt.IdThuoc.ToString(), vCollection[0].SoLuong.ToString(), objPhieuNhapCt.SoLuong.ToString());
                return(ActionResult.NotEnoughDrugInStock);//Thuốc đã sử dụng nhiều nên không thể hủy
            }
            return(ActionResult.Success);
        }
Ejemplo n.º 2
0
        public ActionResult Kiemtrathuochuyxacnhan(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt)
        {
            TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery(
                TThuockho.CreateQuery()
                .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhonhap)
                .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc)
                .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date)
                .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap)
                .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan)
                .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap)
                .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo)
                .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat)
                );

            if (vCollection.Count <= 0)
            {
                return(ActionResult.Exceed);                       //Lỗi mất dòng dữ liệu trong bảng kho-thuốc
            }
            int SoLuong = vCollection[0].SoLuong;

            SoLuong = SoLuong - objPhieuNhapCt.SoLuong;
            if (SoLuong < 0)
            {
                return(ActionResult.NotEnoughDrugInStock);            //Thuốc đã sử dụng nhiều nên không thể hủy
            }
            return(ActionResult.Success);
        }
Ejemplo n.º 3
0
        public ActionResult Kiemtrathuochuyxacnhan_tralai(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt)
        {
            TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery(
              TThuockho.CreateQuery()
              .WHERE(TThuockho.IdThuockhoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuockho)
              );

            if (vCollection.Count <= 0) return ActionResult.Exceed;//Lỗi không có dòng dữ liệu trong bảng kho-thuốc
            decimal SoLuong = vCollection[0].SoLuong;
            SoLuong = SoLuong - objPhieuNhapCt.SoLuong;
            if (SoLuong < 0) return ActionResult.NotEnoughDrugInStock;//Thuốc đã sử dụng nhiều nên không thể hủy
            return ActionResult.Success;
        }
Ejemplo n.º 4
0
        public ActionResult Kiemtrathuochuychuyenkho(TPhieuNhapxuatthuoc objPhieuNhap, TPhieuNhapxuatthuocChitiet objPhieuNhapCt)
        {
            using (var scope = new TransactionScope())
            {
                //TThuockhoCollection vCollection2 = new TThuockhoCollection();
                TThuockhoCollection vCollection = new TThuockhoController().FetchByQuery(
                    TThuockho.CreateQuery()
                    .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhoxuat)
                    .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc)
                    .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date)
                    .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap)
                    .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan)
                    .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap)
                    .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo)
                    .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat)
                    );
                if (vCollection.Count <= 0)
                {
                    TThuockho TThuockho1 = new TThuockho();
                    TThuockho1.IdThuoc      = objPhieuNhapCt.IdThuoc;
                    TThuockho1.IdKho        = Utility.Int32Dbnull(objPhieuNhap.IdKhoxuat);
                    TThuockho1.NgayHethan   = objPhieuNhapCt.NgayHethan.Date;
                    TThuockho1.GiaNhap      = objPhieuNhapCt.GiaNhap;
                    TThuockho1.GiaBan       = objPhieuNhapCt.GiaBan;
                    TThuockho1.SoLuong      = objPhieuNhapCt.SoLuong;
                    TThuockho1.MaNhacungcap = objPhieuNhapCt.MaNhacungcap;
                    TThuockho1.Vat          = objPhieuNhapCt.Vat.Value;
                    TThuockho1.SoLo         = objPhieuNhapCt.SoLo;
                    TThuockho1.IsNew        = true;
                    TThuockho1.Save();
                }
                int sl = objPhieuNhapCt.SoLuong + vCollection[0].SoLuong;
                new Update(TThuockho.Schema)
                .Set(TThuockho.Columns.SoLuong).EqualTo(sl)
                .Where(TThuockho.Columns.IdKho).IsEqualTo(objPhieuNhap.IdKhoxuat).And(TThuockho.Columns.IdThuoc).
                IsEqualTo(objPhieuNhapCt.IdThuoc).And(TThuockho.Columns.GiaNhap).IsEqualTo(objPhieuNhapCt.GiaNhap)
                .And(TThuockho.Columns.GiaBan).IsEqualTo(objPhieuNhapCt.GiaBan)
                .And(TThuockho.Columns.NgayHethan).IsEqualTo(objPhieuNhapCt.NgayHethan)
                .And(TThuockho.Columns.Vat).IsEqualTo(objPhieuNhapCt.Vat)
                .And(TThuockho.Columns.MaNhacungcap).IsEqualTo(objPhieuNhapCt.MaNhacungcap)
                .And(TThuockho.Columns.SoLo).IsEqualTo(objPhieuNhapCt.SoLo)
                .Execute();

                TThuockhoCollection vCollection1 = new TThuockhoController().FetchByQuery(
                    TThuockho.CreateQuery()
                    .WHERE(TThuockho.IdKhoColumn.ColumnName, Comparison.Equals, objPhieuNhap.IdKhonhap)
                    .AND(TThuockho.IdThuocColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.IdThuoc)
                    .AND(TThuockho.NgayHethanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.NgayHethan.Date)
                    .AND(TThuockho.GiaNhapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaNhap)
                    .AND(TThuockho.GiaBanColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.GiaBan)
                    .AND(TThuockho.MaNhacungcapColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.MaNhacungcap)
                    .AND(TThuockho.SoLoColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.SoLo)
                    .AND(TThuockho.VatColumn.ColumnName, Comparison.Equals, objPhieuNhapCt.Vat)
                    );
                if (vCollection1.Count <= 0)
                {
                    return(ActionResult.Exceed);                        //Lỗi mất dòng dữ liệu trong bảng kho-thuốc
                }
                int SoLuong1 = vCollection1[0].SoLuong;
                SoLuong1 = SoLuong1 - objPhieuNhapCt.SoLuong;
                if (SoLuong1 < 0)
                {
                    return(ActionResult.NotEnoughDrugInStock);             //Thuốc đã sử dụng nhiều nên không thể hủy
                }
                scope.Complete();
                return(ActionResult.Success);
            }
        }