Exemplo n.º 1
0
        public bool HuyDuyetListTheoID(List <int> listID)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    foreach (int id in listID)
                    {
                        HT_PBAN obj = new HT_PBAN();
                        obj           = entities.HT_PBAN.FirstOrDefault(e => e.ID == id);
                        obj.TTHAI_NVU = BusinessConstant.TrangThaiNghiepVu.THOAI_DUYET.layGiaTri();
                        entities.SaveChanges();
                    }
                    trans.Complete();
                }
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Exemplo n.º 2
0
        public bool XoaListTheoID(List <int> listID)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    foreach (int id in listID)
                    {
                        HT_PBAN obj = new HT_PBAN();
                        obj = entities.HT_PBAN.FirstOrDefault(e => e.ID == id);
                        entities.DeleteObject(obj);
                        entities.SaveChanges();
                    }
                    trans.Complete();
                }
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Exemplo n.º 3
0
        public bool Sua(HT_PBAN obj)
        {
            bool      kq       = true;
            Entities  entities = ContextFactory.GetInstance();
            EntityKey key      = null;
            object    original = null;

            try
            {
                key = entities.CreateEntityKey(ENTITY_SET_NAME, obj);
                if (entities.TryGetObjectByKey(key, out original))
                {
                    entities.ApplyCurrentValues(key.EntitySetName, obj);
                }
                entities.SaveChanges();
                kq = true;
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Exemplo n.º 4
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);
 }
        private void Worker_DoWork_KiemTra(object sender, DoWorkEventArgs e)
        {
            try
            {
                // background
                QuanTriHeThongProcess process          = new QuanTriHeThongProcess();
                ApplicationConstant.ResponseStatus ret = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                string  serverVersion        = "";
                string  lastestClientVersion = "";
                HT_PBAN htPban = new HT_PBAN();
                List <HT_PBAN_CTIET> listHtPbanCtiet = new List <HT_PBAN_CTIET>();
                List <HT_PBAN_FILE>  listHtPbanFile  = new List <HT_PBAN_FILE>();
                string responseMessage = "";
                ret       = process.CheckClientVersion(ClientInformation.Version, ref serverVersion, ref lastestClientVersion, ref htPban, ref listHtPbanCtiet, ref listHtPbanFile, ref responseMessage);
                ResStatus = ret;
                if (ret == ApplicationConstant.ResponseStatus.THANH_CONG)
                {
                    ServerVersion        = serverVersion;
                    LastestClientVersion = lastestClientVersion;
                    if (ClientInformation.Version.Equals(LastestClientVersion))
                    {
                        IsLastestVersion = true;
                        ResContent       = LLanguage.SearchResourceByKey("M.ResponseMessage.QuanTriHeThong.PhienBan.SystemUpToDate") + " " + ClientInformation.Version;
                    }
                    else
                    {
                        IsLastestVersion = false;
                        HtPban           = htPban;
                        ListHtPbanCtiet  = listHtPbanCtiet;
                        ListHtPbanFile   = listHtPbanFile;
                        ResContent       = LLanguage.SearchResourceByKey("M.ResponseMessage.QuanTriHeThong.PhienBan.PhienBanHienTai") +
                                           " " + ClientInformation.Version + ". " +
                                           LLanguage.SearchResourceByKey("M.ResponseMessage.QuanTriHeThong.PhienBan.PhienBanMoiNhat") +
                                           " " + LastestClientVersion;
                    }
                }
                else if (ret == ApplicationConstant.ResponseStatus.KHONG_THANH_CONG)
                {
                    ResContent = LLanguage.SearchResourceByKey(responseMessage);
                }
                else
                {
                    ResContent = "";
                }

                Thread.Sleep(3000);
            }
            catch (Exception ex)
            {
                ResStatus  = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                ResContent = LLanguage.SearchResourceByKey("M.ResponseMessage.QuanTriHeThong.PhienBan.KiemTraKhongThanhCong");
                LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.SYS, ex);
                Worker_KiemTra.CancelAsync();
                // Vẫn xử lý tại client cho logout
                //Application.Current.Shutdown();
            }
        }
Exemplo n.º 6
0
        public bool Xoa(HT_PBAN obj)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                entities.DeleteObject(obj);
                entities.SaveChanges();
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Exemplo n.º 7
0
        public HT_PBAN GetByMa(string ma)
        {
            HT_PBAN  kq       = null;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                kq = entities.HT_PBAN.FirstOrDefault(e => e.MA_PBAN.Equals(ma));
                return(kq);
            }
            catch (System.Exception ex)
            {
                kq = null;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Exemplo n.º 8
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);
            }
        }
Exemplo n.º 9
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;
            }
        }