using System; using System.Text; using System.Collections; using System.Data; using Cosmos.BaseFrame; using Cosmos.UserFrame; using Cosmos.ServiceProvider; using Cosmos.Common; using Cosmos.CommonManager; /*-----------------------------------------------------------------------------------------------*/ // 설 명 : 고객 화면 // 작 성 자 : // 변경 이력 : /*-----------------------------------------------------------------------------------------------*/ namespace Cosmos.Service { /// /// 고객용 화면 /// class CustDisplay : ICustDisplayUs { private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출 private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체) private PosStatus m_cPosStatus = new PosStatus(); // 기본정보 참조 private TranStatus m_cTrnStatus = new TranStatus(); // 거래정보 참조 private IDatabaseSQL m_cSqlDbService = null; // 데이터베이스 관리 private IMasterUs m_cMstService = null; // 마스터 인터페이스 private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스 /// /// 고객용화면 /// private frmCustDisplayPipe m_frmCustDisplay = null; /// /// 스크린세이버 /// private frmScreenSaver m_frmScreenSaver = null; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start /// /// 고객용화면 DT /// private frmCustDisplayPipeDT m_frmCustDisplayDT = null; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end /// /// 생성자 /// public CustDisplay() { m_cPosStatus = (PosStatus)StateObject.POS; m_cTrnStatus = (TranStatus)StateObject.TRAN; m_cSqlDbService = (IDatabaseSQL)sManager.InitServiceInstance(ServiceLists.AGENT_DATABASE.DLL, ServiceLists.AGENT_DATABASE.DATABASE_MSSQL); m_cMstService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER); m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON); } /// /// 고객용 화면 시작 /// public void StartCustDisplay() { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) { m_frmCustDisplay = new frmCustDisplayPipe(); } m_frmCustDisplay.Show(); m_frmCustDisplay.Refresh(); m_frmCustDisplay.StartCustDisplay(); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) { m_frmCustDisplayDT = new frmCustDisplayPipeDT(); } m_frmCustDisplayDT.Show(); m_frmCustDisplayDT.Refresh(); m_frmCustDisplayDT.StartCustDisplay(); } else { if (m_frmCustDisplay == null) { m_frmCustDisplay = new frmCustDisplayPipe(); } m_frmCustDisplay.Show(); m_frmCustDisplay.Refresh(); m_frmCustDisplay.StartCustDisplay(); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 고객용 화면 멈춤 /// public void StopCustDisplay() { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.StopCustDisplay(); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.StopCustDisplay(); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.StopCustDisplay(); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 고객용 화면 종료 /// public void CloseCustDisplay() { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.StopCustDisplay(); m_frmCustDisplay.Close(); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.StopCustDisplay(); m_frmCustDisplayDT.Close(); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.StopCustDisplay(); m_frmCustDisplay.Close(); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 상품등록 내역 초기화 /// public void ClearSaleItemList() { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.ClearSaleItemList(); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.ClearSaleItemList(); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.ClearSaleItemList(); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 상품등록 내역 화면 표시 /// public void DisplaySaleItemList(bool bPlu, bool bPay, int nSelRow) { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemList(bPlu, bPay, "", nSelRow); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.DisplaySaleItemList(bPlu, bPay, "", nSelRow); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemList(bPlu, bPay, "", nSelRow); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 상품등록 내역 포커스 처리 /// public void DisplaySaleItemSelect(int nSelRow) { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemSelect(nSelRow); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.DisplaySaleItemSelect(nSelRow); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemSelect(nSelRow); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 거래완료 내역 화면 표시 /// public void SaleCompleteDisplay(double nChangeAmt) { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.SaleCompleteDisplay(nChangeAmt); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.SaleCompleteDisplay(nChangeAmt); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.SaleCompleteDisplay(nChangeAmt); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 외화 내역 화면 표시 /// public void DisplayForeignCashList(string sForeignInfo) { try { // 고객용동영상 관련(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemList(false, true, sForeignInfo, 0); */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.DisplaySaleItemList(false, true, sForeignInfo, 0); } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.DisplaySaleItemList(false, true, sForeignInfo, 0); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 캠페인 컨텐츠 표시 /// public void DisplayCampaign(string sFileDiv, string sFileName) { try { // 캠페인 컨텐츠 사용유무(0:미사용, 1:사용) if (PosMstManager.GetPosOption(POS_OPTION.OPT106) == "0") return; if (sFileDiv == PosConst.MEDIA_FILE_DIV.IMAGE) m_cTrnStatus.Sale.CampaignFileName = sFileName; else m_cTrnStatus.Sale.CampaignFileName = ""; //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start //기존 /* if (m_frmCustDisplay == null) return; m_frmCustDisplay.m_sCampaignFileName = sFileName; if (sFileDiv == "") sFileDiv = "0"; m_frmCustDisplay.m_sCampaignFileDiv = sFileDiv; */ //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "1") { if (m_frmCustDisplayDT == null) return; m_frmCustDisplayDT.m_sCampaignFileName = sFileName; if (sFileDiv == "") sFileDiv = "0"; m_frmCustDisplayDT.m_sCampaignFileDiv = sFileDiv; } else { if (m_frmCustDisplay == null) return; m_frmCustDisplay.m_sCampaignFileName = sFileName; if (sFileDiv == "") sFileDiv = "0"; m_frmCustDisplay.m_sCampaignFileDiv = sFileDiv; } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end //m_frmCustDisplay.DisplayCampaign(sFileDiv, sFileName); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 화면 보호기 시작 /// public bool ScreenSaverDisplay() { try { if (m_cPosStatus.Sale.ScreenSaverTime == "" || CmUtil.LongParse(m_cPosStatus.Sale.ScreenSaverTime) == 0) return false; //스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF)) if (PosMstManager.GetPosOption(POS_OPTION.OPT013) != "1" && PosMstManager.GetPosOption(POS_OPTION.OPT013) != "2") return false; // 스크린세이버 기능(0:사용안함. 그외 사용함(대기시간초)) long nScreenDurTime = CmUtil.LongParse(PosMstManager.GetPosOption(POS_OPTION.OPT014)); if (nScreenDurTime <= 0) return false; // 경과 시간 체크 DateTime dtDurTime = DateTime.ParseExact(m_cPosStatus.Sale.ScreenSaverTime, "yyyyMMddHHmmss", null); if ( dtDurTime.AddSeconds(nScreenDurTime) > DateTime.Now) return false; if (m_frmScreenSaver == null) m_frmScreenSaver = new frmScreenSaver(); m_frmScreenSaver.ShowDialog(); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); return true; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } return false; } } }