Example #1
0
        public List <Phong> getPhongByViTri(ViTri obj)
        {
            List <Phong> re =
                (from c in db.PHONGS
                 where (c.vitri == obj)
                 select c).OrderBy(p => p.ten).ToList();

            return(re);
        }
Example #2
0
        /// <summary>
        /// Chuyển đổi đơn vị quản lý, nhung KHÔNG cho phép kèm tình trạng,
        /// chuyển tình trạng dùng hàm riêng
        /// </summary>
        /// <param name="quanly_moi"></param>
        /// <param name="sudung_moi"></param>
        /// <param name="vitri_moi"></param>
        /// <param name="phong_moi"></param>
        /// <param name="chungtu_ngay_moi"></param>
        /// <param name="chungtu_sohieu_moi"></param>
        /// <param name="soluong_moi"></param>
        /// <param name="ghichu_moi"></param>
        /// <param name="ngay_moi"></param>
        /// <returns></returns>
        public CTTaiSan chuyenDonVi(
            DonVi donviquanly_moi,
            DonVi donvisudung_moi,
            ViTri vitri_moi,
            Phong phong_moi,
            CTTaiSan cttaisan_parent_moi,
            ChungTu chungtu_moi,
            int soluong_moi   = -1,
            String ghichu_moi = "",
            DateTime?ngay_moi = null)
        {
            Boolean re = true;

            //Kiem tra rang buoc
            //So luong chuyen phai hop le
            if (soluong_moi > this.soluong)
            {
                return(null);
            }
            //tự chuyển đổi
            if (soluong_moi < 0)
            {
                soluong_moi = this.soluong;
            }
            CTTaiSan final = null;
            //begin business
            Boolean cungdonviquanly = donviquanly != null && donviquanly_moi != null && donviquanly.id == donviquanly_moi.id;

            #region Chuyển toàn bộ
            //Chuyen toan bo
            if (soluong_moi <= 0 || soluong_moi == this.soluong)
            {
                //cung don vi quan ly
                if (cungdonviquanly)
                {
                    //chi update lai this
                    this.chungtu     = chungtu_moi;
                    this.donvisudung = donvisudung_moi;
                    this.ghichu      = ghichu_moi;
                    this.ngay        = ngay_moi;
                    this.parent      = cttaisan_parent_moi;
                    this.phong       = phong_moi;
                    this.vitri       = vitri_moi;
                    re = re && this.update() > 0;

                    final = this;
                }
                //khac don vi quan ly
                else
                {
                    //Step 1: Tao CTTS moi -> add
                    CTTaiSan ctts = new CTTaiSan();
                    ctts.chungtu     = chungtu_moi;
                    ctts.donviquanly = donviquanly_moi;
                    ctts.donvisudung = donvisudung_moi;
                    ctts.ghichu      = ghichu_moi;
                    ctts.mota        = this.mota;
                    ctts.ngay        = ngay_moi;
                    ctts.nguongoc    = "[Hệ thống tự động tạo: chuyển từ " + (this.donviquanly == null ? "(null)" : this.donviquanly.niceName()) + " sang " + (donviquanly_moi == null ? "(null)" : donviquanly_moi.niceName()) + "]";
                    ctts.parent      = cttaisan_parent_moi;
                    ctts.phong       = phong_moi;
                    ctts.soluong     = this.soluong;
                    ctts.subId       = this.subId;
                    ctts.taisan      = this.taisan;
                    ctts.tinhtrang   = this.tinhtrang;
                    ctts.vitri       = vitri_moi;
                    re = re && ctts.add_khongGhiLogTangGiam() > 0;
                    //Step 2: ghi log tang tai san cho ctts moi them
                    LogTangGiamTaiSan log = ctts.generateLogTangGiamTaiSan();
                    log.tang_giam          = 0;
                    log.tang_giam_donvi    = 1;
                    log.chuyenden_chuyendi = 1;
                    re = re && log.add() > 0;
                    //Step 3: Update lai soluong cho this=0 -> update
                    this.chungtu  = chungtu_moi;
                    this.ghichu   = ghichu_moi;
                    this.soluong  = 0;
                    this.nguongoc = ctts.nguongoc;
                    re            = re && this.update() > 0;
                    //Step 4: ghi nhan su giam cho this
                    LogTangGiamTaiSan log2 = this.generateLogTangGiamTaiSan();
                    log2.soluong            = soluong_moi;//importance!!!không dùng this.soluong
                    log2.tang_giam          = 0;
                    log2.tang_giam_donvi    = -1;
                    log2.chuyenden_chuyendi = -1;
                    re = re && log2.add() > 0;

                    final = ctts;
                }
                //end
                return(final);// re ? 1 : -1;
            }
            #endregion
            #region Chuyển 1 phần số lượng
            else
            //Chuyen 1 phan so luong
            {
                CTTaiSan ctts = null;
                //cung don vi quan ly
                if (cungdonviquanly)
                {
                    //Tao CTTS moi
                    ctts             = new CTTaiSan();
                    ctts.chungtu     = chungtu_moi;
                    ctts.donvisudung = donvisudung_moi;
                    ctts.ghichu      = ghichu_moi;
                    ctts.mota        = this.mota;
                    ctts.ngay        = ngay_moi;
                    ctts.nguongoc    = "[Hệ thống tự động tạo: phân bổ nội " + (this.donviquanly == null ? "(null)" : this.donviquanly.niceName()) + "]";
                    ctts.parent      = cttaisan_parent_moi;
                    ctts.phong       = phong_moi;
                    ctts.soluong     = soluong_moi;//importance!!!
                    ctts.subId       = this.subId;
                    ctts.taisan      = this.taisan;
                    ctts.tinhtrang   = this.tinhtrang;
                    ctts.vitri       = vitri_moi;
                    ctts.add_khongGhiLogTangGiam();
                    //cap nhat lai soluong cho this
                    this.chungtu  = chungtu_moi;
                    this.ghichu   = ghichu_moi;
                    this.soluong -= soluong_moi;//importance!!!
                    this.nguongoc = nguongoc;
                    this.update();
                    //KHONG ghi log tang giam
                }
                //khac don vi quan ly
                else
                {
                    //Step 1: Tao CTTS moi -> add
                    ctts             = new CTTaiSan();
                    ctts.chungtu     = chungtu_moi;
                    ctts.donviquanly = donviquanly_moi;
                    ctts.donvisudung = donvisudung_moi;
                    ctts.ghichu      = ghichu_moi;
                    ctts.mota        = this.mota;
                    ctts.ngay        = ngay_moi;
                    ctts.nguongoc    = "[Hệ thống tự động tạo: chuyển từ \"" + (this.donviquanly == null ? "null" : this.donviquanly.niceName()) + "\" sang \"" + (donviquanly_moi == null ? "null" : donviquanly_moi.niceName()) + "\"]";
                    ctts.parent      = cttaisan_parent_moi;
                    ctts.phong       = phong_moi;
                    ctts.soluong     = soluong_moi;//importance!!!
                    ctts.subId       = this.subId;
                    ctts.taisan      = this.taisan;
                    ctts.tinhtrang   = this.tinhtrang;
                    ctts.vitri       = vitri_moi;
                    ctts.add_khongGhiLogTangGiam();
                    //Step 2: ghi log tang tai san cho ctts moi them
                    LogTangGiamTaiSan log = ctts.generateLogTangGiamTaiSan();
                    log.tang_giam          = 0;
                    log.tang_giam_donvi    = 1;
                    log.chuyenden_chuyendi = 1;
                    log.add();
                    //Step 3: Update lai soluong cho this -> update
                    this.chungtu  = chungtu_moi;
                    this.soluong -= soluong_moi;//importance!!!
                    this.nguongoc = ctts.nguongoc;
                    this.ghichu   = ghichu_moi;
                    this.update();
                    //Step 4: ghi nhan su giam cho this
                    LogTangGiamTaiSan log2 = this.generateLogTangGiamTaiSan();
                    log2.soluong            = soluong_moi;//importance!!!Không dùng this.soluong
                    log2.tang_giam          = 0;
                    log2.tang_giam_donvi    = -1;
                    log2.chuyenden_chuyendi = -1;
                    log2.add();
                }

                final = ctts;
            }
            #endregion
            return(final);// re ? 1 : -1;
        }