Esempio n. 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);
        }
Esempio n. 2
0
 public ApplicationConstant.ResponseStatus DownloadClientVersionItem(string clientVersion,
                                                                     string lastestClientVersion,
                                                                     HT_PBAN htPban,
                                                                     HT_PBAN_CTIET htPbanCtiet,
                                                                     ref BS_PhienBanItemDTO bsPhienBanItem,
                                                                     ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
 {
     return(ApplicationConstant.ResponseStatus.THANH_CONG);
 }
Esempio n. 3
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;
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
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);
        }
Esempio n. 6
0
        public ApplicationConstant.ResponseStatus CheckClientVersion(string clientVersion,
                                                                     ref string serverVersion,
                                                                     ref string lastestClientVersion,
                                                                     ref HT_PBAN htPban,
                                                                     ref List <HT_PBAN_CTIET> listHtPbanCtiet,
                                                                     ref List <HT_PBAN_FILE> listHtPbanFile,
                                                                     ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            // Lấy thông tin người dùng
            serverVersion = HostInformation.Version;

            List <HT_PBAN_MAPPING> listHtPbanMapping = new List <HT_PBAN_MAPPING>();

            new BS_CoHeThong().LayDanhSachPhienBanClientPhuHop(HostInformation.Version, ref listHtPbanMapping);
            List <string> listClientVersion = listHtPbanMapping.Select(e => e.MA_PBAN_CLIENT).ToList();

            lastestClientVersion = listClientVersion.LastOrDefault();

            if (lastestClientVersion == null)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_KiemTraKhongThanhCong;
                return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
            }

            else
            {
                if (!clientVersion.Equals(lastestClientVersion))
                {
                    // Lấy các thông tin chi tiết cho phiên bản mới
                    htPban          = new DS_HT_PBAN().GetByMa(lastestClientVersion);
                    listHtPbanCtiet = new DS_HT_PBAN_CTIET().GetListByMaPban(lastestClientVersion);
                    listHtPbanFile  = new DS_HT_PBAN_FILE().GetListByMaPban(lastestClientVersion);
                }
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                return(ApplicationConstant.ResponseStatus.THANH_CONG);
            }
        }
Esempio n. 7
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));
 }
Esempio n. 8
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));
        }
Esempio n. 9
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;
            }
        }
Esempio n. 10
0
        public ApplicationConstant.ResponseStatus DownloadClientVersion(string clientVersion,
                                                                        string lastestClientVersion,
                                                                        HT_PBAN htPban,
                                                                        ref BS_PhienBanDTO bsPhienBan,
                                                                        ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            try
            {
                string phuongThucCapNhat = htPban.PTHUC_CNHAT;

                // Nếu cập nhật toàn bộ ứng dụng
                if (phuongThucCapNhat.Equals("FULL"))
                {
                    List <HT_PBAN_CTIET> listHtPbanCtiet = new DS_HT_PBAN_CTIET().GetListByMaPban(htPban.MA_PBAN);
                    List <HT_PBAN_FILE>  listHtPbanFile  = new DS_HT_PBAN_FILE().GetListByMaPban(htPban.MA_PBAN);

                    if (listHtPbanCtiet == null || listHtPbanCtiet.Count == 0 || listHtPbanCtiet.Count > 1 ||
                        listHtPbanFile == null || listHtPbanFile.Count == 0 || listHtPbanFile.Count > 1)
                    {
                        responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_ThongTinKhongChinhXac;
                        return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                    }
                    else if (listHtPbanCtiet.Count == 1 && listHtPbanFile.Count == 1)
                    {
                        HT_PBAN_CTIET htPbanCtiet = listHtPbanCtiet.FirstOrDefault();
                        HT_PBAN_FILE  htPbanFile  = listHtPbanFile.FirstOrDefault();
                        string        filePath    = HostInformation.OtaClientVersionDir + "\\" + htPban.MA_PBAN + "\\" + htPbanFile.TEN_FILE;

                        byte[] fileData = LFile.GetByteArrayFromFile(filePath);

                        BS_FileObject filePhienBan = new BS_FileObject();
                        filePhienBan.FileData   = fileData;
                        filePhienBan.FileFormat = Path.GetExtension(filePath);
                        filePhienBan.FileName   = htPbanFile.TEN_FILE;

                        BS_PhienBanItemDTO bsPhienBanItemDTO = new BS_PhienBanItemDTO();
                        bsPhienBanItemDTO.HtPbanCtiet = htPbanCtiet;
                        bsPhienBanItemDTO.HtPbanFile  = htPbanFile;
                        bsPhienBanItemDTO.HtPbanData  = filePhienBan;

                        bsPhienBan.HtPban = htPban;
                        List <BS_PhienBanItemDTO> ListPhienBanItem = new List <BS_PhienBanItemDTO>();
                        ListPhienBanItem.Add(bsPhienBanItemDTO);
                        bsPhienBan.ListPhienBanItem = ListPhienBanItem;

                        return(ApplicationConstant.ResponseStatus.THANH_CONG);
                    }
                }
                // Nếu cập nhật phần thay đổi của ứng dụng
                else if (phuongThucCapNhat.Equals("CHANGE"))
                {
                    // Nếu phiên bản mới nhất là phiên bản kế tiếp
                    // thì cập nhật CHANGE
                    if (htPban.MA_PBAN_TRUOC != null && htPban.MA_PBAN_TRUOC.Equals(clientVersion))
                    {
                        List <HT_PBAN_CTIET> listHtPbanCtiet = new DS_HT_PBAN_CTIET().GetListByMaPban(htPban.MA_PBAN);
                        List <HT_PBAN_FILE>  listHtPbanFile  = new DS_HT_PBAN_FILE().GetListByMaPban(htPban.MA_PBAN);

                        if (listHtPbanCtiet == null || listHtPbanCtiet.Count == 0 ||
                            listHtPbanFile == null || listHtPbanFile.Count == 0 ||
                            listHtPbanCtiet.Count != listHtPbanFile.Count)
                        {
                            responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_ThongTinKhongChinhXac;
                            return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                        }
                        else if (listHtPbanCtiet.Count > 0 && listHtPbanFile.Count > 0)
                        {
                            List <BS_PhienBanItemDTO> listPhienBanItem = new List <BS_PhienBanItemDTO>();
                            for (int i = 0; i < listHtPbanCtiet.Count; i++)
                            {
                                HT_PBAN_CTIET htPbanCtiet = listHtPbanCtiet[i];
                                HT_PBAN_FILE  htPbanFile  = listHtPbanFile[i];
                                if (!htPbanCtiet.MA_FILE.Equals(MA_FILE_SETUP))
                                {
                                    string filePath = HostInformation.OtaClientVersionDir + "\\" + htPban.MA_PBAN + "\\" + ((htPbanFile.DUONG_DAN != null && !htPbanFile.DUONG_DAN.Equals("")) ? htPbanFile.DUONG_DAN + "\\" : "") + htPbanFile.TEN_FILE;

                                    byte[] fileData = LFile.GetByteArrayFromFile(filePath);

                                    BS_FileObject filePhienBan = new BS_FileObject();
                                    filePhienBan.FileData   = fileData;
                                    filePhienBan.FileFormat = Path.GetExtension(filePath);
                                    filePhienBan.FileName   = htPbanFile.TEN_FILE;

                                    BS_PhienBanItemDTO bsPhienBanItemDTO = new BS_PhienBanItemDTO();
                                    bsPhienBanItemDTO.HtPbanCtiet = htPbanCtiet;
                                    bsPhienBanItemDTO.HtPbanFile  = htPbanFile;
                                    bsPhienBanItemDTO.HtPbanData  = filePhienBan;

                                    listPhienBanItem.Add(bsPhienBanItemDTO);
                                }
                            }

                            bsPhienBan.HtPban           = htPban;
                            bsPhienBan.ListPhienBanItem = listPhienBanItem;

                            return(ApplicationConstant.ResponseStatus.THANH_CONG);
                        }
                    }
                    // Nếu phiên bản mới nhất không phải là phiên bản kế tiếp
                    // thì cập nhật FULL
                    else if (htPban.MA_PBAN_TRUOC == null || (htPban.MA_PBAN_TRUOC != null && !htPban.MA_PBAN_TRUOC.Equals(clientVersion)))
                    {
                        List <HT_PBAN_CTIET> listHtPbanCtiet = new DS_HT_PBAN_CTIET().GetListByMaPban(htPban.MA_PBAN);
                        List <HT_PBAN_FILE>  listHtPbanFile  = new DS_HT_PBAN_FILE().GetListByMaPban(htPban.MA_PBAN);

                        if (listHtPbanCtiet == null || listHtPbanCtiet.Count == 0 ||
                            listHtPbanFile == null || listHtPbanFile.Count == 0 ||
                            listHtPbanCtiet.Count != listHtPbanFile.Count)
                        {
                            responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_ThongTinKhongChinhXac;
                            return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                        }
                        else if (listHtPbanCtiet.Count > 0 && listHtPbanFile.Count > 0)
                        {
                            HT_PBAN_CTIET htPbanCtiet = listHtPbanCtiet.First(e => e.MA_FILE.Equals(MA_FILE_SETUP));
                            HT_PBAN_FILE  htPbanFile  = listHtPbanFile.First(e => e.MA_FILE.Equals(MA_FILE_SETUP));

                            if (htPbanCtiet == null || htPbanFile == null)
                            {
                                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_ThongTinKhongChinhXac;
                                return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                            }

                            string filePath = HostInformation.OtaClientVersionDir + "\\" + htPban.MA_PBAN + "\\" + htPbanFile.TEN_FILE;

                            byte[] fileData = LFile.GetByteArrayFromFile(filePath);

                            BS_FileObject filePhienBan = new BS_FileObject();
                            filePhienBan.FileData   = fileData;
                            filePhienBan.FileFormat = Path.GetExtension(filePath);
                            filePhienBan.FileName   = htPbanFile.TEN_FILE;

                            BS_PhienBanItemDTO bsPhienBanItemDTO = new BS_PhienBanItemDTO();
                            bsPhienBanItemDTO.HtPbanCtiet = htPbanCtiet;
                            bsPhienBanItemDTO.HtPbanFile  = htPbanFile;
                            bsPhienBanItemDTO.HtPbanData  = filePhienBan;

                            bsPhienBan.HtPban = htPban;
                            List <BS_PhienBanItemDTO> ListPhienBanItem = new List <BS_PhienBanItemDTO>();
                            ListPhienBanItem.Add(bsPhienBanItemDTO);
                            bsPhienBan.ListPhienBanItem = ListPhienBanItem;

                            return(ApplicationConstant.ResponseStatus.THANH_CONG);
                        }
                    }
                }
                // Còn lại
                else
                {
                    responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_KiemTraKhongThanhCong;
                    return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                }
                return(ApplicationConstant.ResponseStatus.THANH_CONG);
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_PhienBan_ThongTinKhongChinhXac;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Trả về 0 nếu dữ liệu hợp lệ và chuẩn bị dữ liệu không thành công.
        /// Trả về 1 nếu dữ liệu hợp lệ và chuẩn bị dữ liệu thành công.
        /// </summary>
        /// <param name="objThongTinChung"></param>
        /// <param name="obj"></param>
        /// <param name="responseMessage"></param>
        /// <returns></returns>
        public int KiemTraVaChuanBiDuLieu(ref THONG_TIN_CHUNG objThongTinChung, ref PHAM_VI objPhamVi, ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            //Khai báo và khởi tạo biến
            responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

            /*
             #region Lấy lại thông tin và kiểm tra tồn tại
             * if (objPhamVi.MA_PVI_LOAI.Equals(BusinessConstant.LOAI_PHAM_VI.DON_VI.layGiaTri()))
             * {
             *  foreach (string item in objPhamVi.MA_PVI)
             *  {
             *      if (!item.IsNullOrEmptyOrSpace())
             *      {
             *          DM_DON_VI objDonVi = new DS_DM_DON_VI().getDonViByMaDonVi(item);
             *          if (objDonVi.IsNullOrEmpty())
             *          {
             *              responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_NguoiDung_KhongTonTai;
             *              return 0;
             *          }
             *          else
             *              objPhamVi.ID_PVI[objPhamVi.MA_PVI.IndexOf(item)] = objDonVi.ID;
             *      }
             *  }
             * }
             #endregion
             */
            return(1);
        }
Esempio n. 12
0
        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;
            }
        }