Example #1
0
        public ApplicationConstant.ResponseStatus PhanQuyenPhamVi(DatabaseConstant.Action action,
                                                                  ref THONG_TIN_CHUNG objThongTinChung,
                                                                  ref List <BS_ResponseDetail> lstResponseDetail,
                                                                  ref PHAM_VI objPhamVi,
                                                                  ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            ApplicationConstant.ResponseStatus responseStatus = new ApplicationConstant.ResponseStatus();
            BS_ResponseDetail responseDetail = new BS_ResponseDetail();

            switch (action)
            {
            case DatabaseConstant.Action.XOA:     //Xóa
                responseStatus = new BS_QuanTriHeThong_Action().PhamVi_Xoa(ref objThongTinChung, ref objPhamVi, ref responseMessage, ref responseDetail);
                break;

            case DatabaseConstant.Action.LUU:    //Thêm
                responseStatus = new BS_QuanTriHeThong_Action().PhamVi_Luu(ref objThongTinChung, ref objPhamVi, ref responseMessage, ref responseDetail);
                break;

            case DatabaseConstant.Action.LAY_LAI:    //Sua
                responseStatus = new BS_QuanTriHeThong_Action().PhamVi_LayDuLieu(ref objThongTinChung, ref objPhamVi, ref responseMessage, ref responseDetail);
                break;

            default:
                responseStatus  = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                break;
            }
            lstResponseDetail.Add(responseDetail);
            return(responseStatus);
        }
Example #2
0
        public ApplicationConstant.ResponseStatus LuuMaTranPheDuyet(
            ref THONG_TIN_CHUNG objThongTinChung,
            ref HT_CNANG htCNang,
            ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage,
            ref BS_ResponseDetail bsRetDetail)
        {
            bool kq = true;

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    DS_HT_CNANG dsHtCNang = new DS_HT_CNANG();
                    HT_CNANG    obj       = dsHtCNang.GetByMa(htCNang.MA_CNANG);
                    obj.MA_TRAN_PHE_DUYET = htCNang.MA_TRAN_PHE_DUYET;
                    kq = dsHtCNang.Sua(obj);

                    if (kq)
                    {
                        trans.Complete();
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Successful.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        htCNang            = obj;
                        return(ApplicationConstant.ResponseStatus.THANH_CONG);
                    }
                    else
                    {
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                    }
                }
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

                bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                bsRetDetail.Detail = responseMessage.layGiaTri();

                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
        public ApplicationConstant.ResponseStatus LayDuLieu(
            ref PHAM_VI objPhamVi,
            ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage,
            ref BS_ResponseDetail bsRetDetail
            )
        {
            try
            {
                DS_HT_PHAM_VI     dsPhamVi  = new DS_HT_PHAM_VI();
                List <HT_PHAM_VI> lstPhamVi = new List <HT_PHAM_VI>();
                if (objPhamVi.MA_PVI_LOAI.Equals(BusinessConstant.LOAI_PHAM_VI.DON_VI.layGiaTri()))
                {
                    lstPhamVi = dsPhamVi.GetPhamViDonVi_ByDoiTuong(objPhamVi.MA_DTUONG_LOAI, objPhamVi.MA_DTUONG);
                }
                if (objPhamVi.MA_PVI_LOAI.Equals(BusinessConstant.LOAI_PHAM_VI.DIA_LY.layGiaTri()))
                {
                    lstPhamVi = dsPhamVi.GetPhamViDiaLy_ByDoiTuong(objPhamVi.MA_DTUONG_LOAI, objPhamVi.MA_DTUONG);
                }
                objPhamVi.ID_PVI    = new List <int>();
                objPhamVi.MA_PVI    = new List <string>();
                objPhamVi.PHAN_LOAI = new List <string>();
                foreach (HT_PHAM_VI item in lstPhamVi)
                {
                    objPhamVi.ID_PVI.Add(item.ID_PVI.Value);
                    objPhamVi.MA_PVI.Add(item.MA_PVI);
                    objPhamVi.PHAN_LOAI.Add(item.PHAN_LOAI);
                }
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                return(ApplicationConstant.ResponseStatus.THANH_CONG);
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

                bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                bsRetDetail.Detail = responseMessage.layGiaTri();

                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
            }
        }
Example #4
0
        public ApplicationConstant.ResponseStatus MaTranPheDuyet(DatabaseConstant.Action action,
                                                                 ref THONG_TIN_CHUNG objThongTinChung,
                                                                 ref List <BS_ResponseDetail> lstResponseDetail,
                                                                 ref HT_CNANG obj,
                                                                 ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            ApplicationConstant.ResponseStatus responseStatus = new ApplicationConstant.ResponseStatus();
            BS_ResponseDetail responseDetail = new BS_ResponseDetail();

            switch (action)
            {
            case DatabaseConstant.Action.LUU:     //Luu
                responseStatus = new BS_QuanTriHeThong_Action().MaTranPheDuyet_Luu(ref objThongTinChung, ref obj, ref responseMessage, ref responseDetail);
                break;

            default:
                responseStatus  = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                break;
            }
            lstResponseDetail.Add(responseDetail);
            return(responseStatus);
        }
Example #5
0
 public ApplicationConstant.ResponseStatus MaTranPheDuyet_Luu(ref THONG_TIN_CHUNG objThongTinChung, ref HT_CNANG obj, ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage, ref BS_ResponseDetail bsRetDetail)
 {
     //Xử lý nghiệp vụ
     return(new BS_ChucNang_Detail().LuuMaTranPheDuyet(ref objThongTinChung, ref obj, ref responseMessage, ref bsRetDetail));
 }
Example #6
0
        /// <summary>
        /// Lấy dữ liệu
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="responseMessage"></param>
        /// <returns></returns>
        public ApplicationConstant.ResponseStatus PhamVi_LayDuLieu(ref THONG_TIN_CHUNG objThongTinChung, ref PHAM_VI obj, ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage, ref BS_ResponseDetail bsRetDetail)
        {
            ApplicationConstant.NghiepVuResponseMessage responseMessageNV = ApplicationConstant.NghiepVuResponseMessage.M_ResponseMessage_DungChung_ThanhCong;

            //Kiểm tra hợp lệ hệ thống
            if (new BS_DungChung_Detail().KiemTraHopLeHeThong(ref responseMessageNV) != 0)
            {
                return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
            }
            //Xử lý nghiệp vụ
            return(new BS_PhamVi_Detail().LayDuLieu(ref obj, ref responseMessage, ref bsRetDetail));
        }
Example #7
0
        public ApplicationConstant.ResponseStatus luuPhanQuyenChucNang(
            string loaiDoiTuong,
            int idDoiTuong,
            string maDoiTuong,
            string maDonVi,
            string nguoiCapNhat,
            string ngayCapNhat,
            List <HT_CNANG_PQUYEN> dsCNangPQuyenXoa,
            List <HT_CNANG_TNANG> dsCNangTNangThem,
            ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage,
            ref BS_ResponseDetail bsRetDetail
            )
        {
            bool kq = true;

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    DS_HT_CNANG_PQUYEN  dsHtCNangPQuyen  = new DS_HT_CNANG_PQUYEN();
                    DS_HT_TNGUYEN_KTHAC dsHtTNguyenKThac = new DS_HT_TNGUYEN_KTHAC();
                    DS_HT_MENU          dsHtMenu         = new DS_HT_MENU();

                    // Xóa các dữ liệu phân quyền bị xóa
                    foreach (HT_CNANG_PQUYEN item in dsCNangPQuyenXoa)
                    {
                        HT_CNANG_PQUYEN obj = dsHtCNangPQuyen.GetById(item.ID);
                        kq = dsHtCNangPQuyen.Xoa(obj);
                        if (!kq)
                        {
                            break;
                        }
                    }

                    // Thêm các dữ liệu phân quyền mới
                    if (kq)
                    {
                        foreach (HT_CNANG_TNANG item in dsCNangTNangThem)
                        {
                            HT_CNANG_PQUYEN htCNangPQuyen = new HT_CNANG_PQUYEN();
                            htCNangPQuyen.ID_DTUONG_LOAI = null;
                            htCNangPQuyen.MA_DTUONG_LOAI = loaiDoiTuong;
                            htCNangPQuyen.ID_DTUONG      = idDoiTuong;
                            htCNangPQuyen.MA_DTUONG      = maDoiTuong;
                            htCNangPQuyen.ID_CNANG_TNANG = item.ID;
                            htCNangPQuyen.TTHAI_BGHI     = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                            htCNangPQuyen.TTHAI_NVU      = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                            htCNangPQuyen.MA_DVI_QLY     = maDonVi;
                            htCNangPQuyen.MA_DVI_TAO     = maDonVi;
                            htCNangPQuyen.NGAY_NHAP      = ngayCapNhat;
                            htCNangPQuyen.NGUOI_NHAP     = nguoiCapNhat;
                            htCNangPQuyen.NGAY_CNHAT     = ngayCapNhat;
                            htCNangPQuyen.NGUOI_CNHAT    = nguoiCapNhat;

                            kq = dsHtCNangPQuyen.Them(htCNangPQuyen);

                            if (!kq)
                            {
                                break;
                            }
                        }
                    }

                    // Xóa tài nguyên khai thác cũ
                    if (kq)
                    {
                        //kq = dsHtTNguyenKThac.XoaTheoDoiTuong(idDoiTuong, maDoiTuong);
                        kq = dsHtTNguyenKThac.XoaTheoDoiTuong(idDoiTuong, maDoiTuong, loaiDoiTuong);
                    }

                    // Thêm tài nguyên khai thác mới dựa trên danh sách phân quyền mới
                    if (kq)
                    {
                        // Lấy danh sách phân quyền mới của đối tượng
                        List <HT_CNANG_PQUYEN> dsCNangPQuyen = layCNangPQuyenTheoDoiTuong(maDoiTuong, loaiDoiTuong);

                        // Xây dựng danh sách menu trên danh sách phân quyền mới
                        List <int>            lstIdCNangTNang = dsCNangPQuyen.Select(e => e.ID_CNANG_TNANG.Value).ToList();
                        List <HT_CNANG_TNANG> lstCNangTNang   = layCNangTNangTheoListIdCNangTNang(lstIdCNangTNang);
                        List <int>            lstIdCNang      = lstCNangTNang.Select(e => e.ID_CNANG).ToList();
                        List <HT_CNANG>       lstCNang        = layCNangTheoListIdChucNang(lstIdCNang);
                        List <HT_CNANG>       lstCNangChoMenu = new List <HT_CNANG>();
                        List <HT_MENU>        lstMenu         = new List <HT_MENU>();

                        foreach (HT_CNANG item in lstCNang)
                        {
                            DuyetPhanCapChucNang(item, ref lstCNangChoMenu);
                        }
                        List <int> lstIdCNangMenu = lstCNangChoMenu.Select(e => e.ID).ToList();
                        lstMenu = dsHtMenu.GetListByIdChucNang(lstIdCNangMenu);
                        foreach (HT_MENU item in lstMenu)
                        {
                            HT_TNGUYEN_KTHAC htTNguyenKThac = new HT_TNGUYEN_KTHAC();
                            htTNguyenKThac.ID_TNGUYEN_LOAI = 3;
                            htTNguyenKThac.MA_TNGUYEN_LOAI = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri();
                            htTNguyenKThac.ID_DTUONG_LOAI  = 0;
                            htTNguyenKThac.MA_DTUONG_LOAI  = loaiDoiTuong;
                            htTNguyenKThac.ID_DTUONG       = idDoiTuong;
                            htTNguyenKThac.MA_DTUONG       = maDoiTuong;
                            htTNguyenKThac.ID_TNGUYEN      = item.ID;
                            htTNguyenKThac.MA_TNGUYEN      = item.MA_MENU;
                            htTNguyenKThac.TEN_TNGUYEN     = item.TEN_MENU;
                            htTNguyenKThac.GTRI_TNGUYEN    = null;
                            htTNguyenKThac.ID_TNGUYEN_CHA  = item.ID_MENU_CHA;
                            htTNguyenKThac.KIEU_DLIEU      = "String";
                            htTNguyenKThac.NGUON_TAO_DL    = DatabaseConstant.NguonTaoDuLieu.NSD.layGiaTri();
                            htTNguyenKThac.TTHAI_BGHI      = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                            htTNguyenKThac.TTHAI_NVU       = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                            htTNguyenKThac.MA_DVI_QLY      = maDonVi;
                            htTNguyenKThac.MA_DVI_TAO      = maDonVi;
                            htTNguyenKThac.NGAY_NHAP       = ngayCapNhat;
                            htTNguyenKThac.NGUOI_NHAP      = nguoiCapNhat;
                            htTNguyenKThac.NGAY_CNHAT      = ngayCapNhat;
                            htTNguyenKThac.NGUOI_CNHAT     = nguoiCapNhat;

                            kq = dsHtTNguyenKThac.Them(htTNguyenKThac);
                        }
                    }


                    if (kq)
                    {
                        trans.Complete();
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Successful.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.THANH_CONG);
                    }
                    else
                    {
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                    }
                }
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

                bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                bsRetDetail.Detail = responseMessage.layGiaTri();

                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
        public ApplicationConstant.ResponseStatus Luu(
            ref PHAM_VI objPhamVi,
            ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage,
            ref BS_ResponseDetail bsRetDetail
            )
        {
            bool kq = true;

            try
            {
                DS_HT_PHAM_VI dsPhamVi = new DS_HT_PHAM_VI();
                using (TransactionScope trans = new TransactionScope())
                {
                    // Xóa các dữ liệu phân quyền bị xóa
                    List <HT_PHAM_VI> lstPhamVi = new List <HT_PHAM_VI>();
                    if (objPhamVi.MA_PVI_LOAI.Equals(BusinessConstant.LOAI_PHAM_VI.DON_VI.layGiaTri()))
                    {
                        lstPhamVi = dsPhamVi.GetPhamViDonVi_ByDoiTuong(objPhamVi.MA_DTUONG_LOAI, objPhamVi.MA_DTUONG);
                    }
                    if (objPhamVi.MA_PVI_LOAI.Equals(BusinessConstant.LOAI_PHAM_VI.DIA_LY.layGiaTri()))
                    {
                        lstPhamVi = dsPhamVi.GetPhamViDiaLy_ByDoiTuong(objPhamVi.MA_DTUONG_LOAI, objPhamVi.MA_DTUONG);
                    }
                    foreach (HT_PHAM_VI item in lstPhamVi)
                    {
                        kq = dsPhamVi.Xoa(item);
                        if (!kq)
                        {
                            break;
                        }
                    }

                    // Thêm các dữ liệu phân quyền mới
                    if (kq)
                    {
                        foreach (int item in objPhamVi.ID_PVI)
                        {
                            HT_PHAM_VI htPhamVi = new HT_PHAM_VI();
                            //htPhamVi.ID_DTUONG_LOAI = objPhamVi.ID_DTUONG;
                            htPhamVi.MA_DTUONG_LOAI = objPhamVi.MA_DTUONG_LOAI;
                            htPhamVi.ID_DTUONG      = objPhamVi.ID_DTUONG;
                            htPhamVi.MA_DTUONG      = objPhamVi.MA_DTUONG;
                            htPhamVi.PHAN_LOAI      = objPhamVi.PHAN_LOAI.ElementAt(objPhamVi.ID_PVI.IndexOf(item));
                            htPhamVi.MA_PVI_LOAI    = objPhamVi.MA_PVI_LOAI;
                            htPhamVi.ID_PVI         = item;
                            htPhamVi.MA_PVI         = objPhamVi.MA_PVI.ElementAt(objPhamVi.ID_PVI.IndexOf(item));
                            htPhamVi.TTHAI_BGHI     = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                            htPhamVi.TTHAI_NVU      = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                            htPhamVi.MA_DVI_QLY     = objPhamVi.MA_DVI_QLY;
                            htPhamVi.MA_DVI_TAO     = objPhamVi.MA_DVI_TAO;
                            htPhamVi.NGAY_NHAP      = objPhamVi.NGAY_NHAP;
                            htPhamVi.NGUOI_NHAP     = objPhamVi.NGUOI_NHAP;
                            htPhamVi.NGAY_CNHAT     = objPhamVi.NGAY_CNHAT;
                            htPhamVi.NGUOI_CNHAT    = objPhamVi.NGUOI_CNHAT;
                            kq = dsPhamVi.Them(htPhamVi);

                            if (!kq)
                            {
                                break;
                            }
                        }
                    }

                    if (kq)
                    {
                        trans.Complete();
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Successful.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.THANH_CONG);
                    }
                    else
                    {
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                    }
                }
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

                bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                bsRetDetail.Detail = responseMessage.layGiaTri();

                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }