using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Cosmos.UserFrame; using Cosmos.BaseFrame; using Cosmos.ServiceProvider; using Cosmos.Common; using Cosmos.CommonManager; using Cosmos.UI; namespace Cosmos.Win { /// /// 좌석메모조회 /// public partial class frmKitchMsgList : Form { 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 DeviceStatus m_cDevStatus = new DeviceStatus(); // 디바이스 관리 private IDataProcessUs m_cDataSrv = null; //거래데이터 합계금액 계산 및 관리 private ITableUs m_cTableSvr = null; //테이블 서비스 관리 private DataTable m_dtMemo = null; /// /// 층코드 /// public string FloorCd { set; private get; } /// /// 층명 /// public string FloorNm { set; private get; } /// /// 테이블번호 /// public string TableNo { set; private get; } /// /// 화면표시용 테이블명 /// public string TableNm { set; private get; } /// /// 생성자 /// public frmKitchMsgList() { InitializeComponent(); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); //this.UpdateStyles(); m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보 m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보 m_cDataSrv = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE); m_cTableSvr = (ITableUs)sManager.InitServiceInstance(ServiceLists.BSV_TABLE.DLL, ServiceLists.BSV_TABLE.TABLE_SERVICE); this.FloorCd = string.Empty; this.FloorNm = string.Empty; this.TableNo = string.Empty; this.TableNm = string.Empty; } private void Form_Load(object sender, EventArgs e) { try { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ""); PosOLEDevice.SetEventHandle(null); this.InitControls(); this.InitializeGrid(); this.SetGridData(); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } private void Form_Activated(object sender, EventArgs e) { try { PosOLEDevice.SetEventHandle(null); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } private void Form_Closing(object sender, FormClosingEventArgs e) { try { this.FloorCd = string.Empty; this.FloorNm = string.Empty; this.TableNo = string.Empty; this.TableNm = string.Empty; PosOLEDevice.SetEventHandle(null); UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 화면컨트롤 초기화 /// private void InitControls() { try { this.picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_800X600); this.picBack.Location = new Point(0, 0); this.picBack.SendToBack(); this.Size = this.picBack.Size = new Size(800, 600); FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser); FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT); //테마색상 적용! btnEnter.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); btnExit.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BTN_CLOSE); if (btnExit.Image != null) btnExit.Text = ""; btnGridUp.DefaultImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_378X48_UP1_BASIC); btnGridUp.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_378X48_UP1_PRESS); btnGridUp.BorderStyle = BorderStyle.None; btnGridDn.DefaultImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_378X48_DOWN1_BASIC); btnGridDn.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_378X48_DOWN1_PRESS); btnGridDn.BorderStyle = BorderStyle.None; lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0174); lblLabel1.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0175); lblLabel2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0176); btnEnter.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0126); lblFloorCd.Text = string.IsNullOrWhiteSpace(this.FloorNm) ? this.FloorCd : this.FloorNm; lblTableNo.Text = string.IsNullOrWhiteSpace(this.TableNm) ? this.TableNo : this.TableNm; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 그리드 컨트롤 초기화 /// private void InitializeGrid() { try { gridMemo.CsmGridClear(); gridMemo.CsmGridDataSource = null; gridMemo.CsmGridColumnHeadersVisible = true; gridMemo.CsmGridColumnHeadersHeight = 37; gridMemo.CsmGridColumnHeadersFont = new Font(m_cPosStatus.Base.FONT, 11, FontStyle.Bold); gridMemo.CsmGridColumnCount = 4; gridMemo.CsmGridRowsHeight = 35; gridMemo.CsmGridShowPageRowsCount = 9; gridMemo.Font = new Font(m_cPosStatus.Base.FONT, 11, FontStyle.Regular); //그리드 홀수(Default)/짝수(Alternate)행의 배경색 지정 gridMemo.BackColor = Color.White; gridMemo.ForeColor = Color.Black; gridMemo.CsmGridSetHeaderBackColor(236, 238, 239); //그리드 헤더 배경색 gridMemo.CsmGridDefaultRowBackColor = Color.FromArgb(255, 255, 255); //그리드 홀수(Default)행의 배경색 지정 gridMemo.CsmGridAlternateRowBackColor = Color.FromArgb(251, 253, 255); //그리드 짝수(Alternate)행의 배경색 지정 gridMemo.CsmGridBackGroundColor = Color.FromArgb(251, 253, 255); //기본 백그라운드 컬러 gridMemo.CsmGridHighlightColor = Color.FromArgb(255, 251, 211); //그리드 선택 백 컬러 gridMemo.CsmGridHighlightTextColor = Color.Black; //그리드 선택 글자 컬러 // 컬럼 너비 gridMemo.CsmGridSetColumnWidth(new int[] { 40, 80, 100, 536 }); // 컬럼 정렬 0:왼쪽, 1:가운데, 2:오른쪽 gridMemo.CsmGridAlignment(new int[] { 1, 1, 0, 0 }); // 컬럼명 설정 gridMemo.CsmGridColumnName(0, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0014)); gridMemo.CsmGridColumnName(1, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0239)); gridMemo.CsmGridColumnName(2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0191)); gridMemo.CsmGridColumnName(3, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0193)); // 그리드 테이블 m_dtMemo = new DataTable("SEAT_MEMO"); m_dtMemo.Columns.Add(new DataColumn("NO", typeof(string))); m_dtMemo.Columns.Add(new DataColumn("REGTIME", typeof(string))); m_dtMemo.Columns.Add(new DataColumn("CASHIER", typeof(string))); m_dtMemo.Columns.Add(new DataColumn("MEMO", typeof(string))); m_dtMemo.Clear(); gridMemo.CsmGridDataSource = m_dtMemo; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } private void Button_Click(object sender, EventArgs e) { try { if (sender == btnExit) { this.DialogResult = DialogResult.OK; this.Close(); } else if (sender == btnGridUp) { gridMemo.CsmGridScroll("UP"); } else if (sender == btnGridDn) { gridMemo.CsmGridScroll("DOWN"); } else if (sender == btnEnter) { // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); m_cTrnStatus.Head.FloorCd = this.FloorCd; m_cTrnStatus.Head.TableNo = this.TableNo; m_cTrnStatus.Head.TableNm = this.TableNm; m_cTrnStatus.Head.OrderFlag = PosConst.ORDER_TYPE.NORMAL; m_cTableSvr.SelectMenuOrder(); WinTable.ShowForm(new string[] { FormManager.FORM_ETC_TABLE_MEMO, "2", this.FloorCd, this.TableNo, this.TableNm }); // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); this.SetGridData(); } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } private void SetGridData() { try { gridMemo.CsmGridClear(); m_dtMemo.Clear(); DataTable dtData = null; string ret = m_cTableSvr.SelectKtchOrderMessage(this.FloorCd, this.TableNo, out dtData); if (ret.StartsWith(UserCom.RST_IGNORE)) { // Select 결과 없음 return; } if (ret != UserCom.RST_OK) { WinManager.ErrorMessage(ret); return; } if (dtData == null || dtData.Rows.Count == 0) return; gridMemo.SuspendLayout(); for (var i = 0; i < dtData.Rows.Count; i++) { DataRow dr = m_dtMemo.NewRow(); dr["NO"] = (i + 1).ToString(); dr["REGTIME"] = CmUtil.StrToTime(dtData.Rows[i]["REG_TIME"].ToString().Substring(0, 6)); //dr["CASHIER"] = dtData.Rows[i]["CASHIER_ID"].ToString() // + (string.IsNullOrWhiteSpace(dtData.Rows[i]["CASHIER_NM"].ToString()) // ? string.Empty : Environment.NewLine + dtData.Rows[i]["CASHIER_NM"].ToString()); dr["CASHIER"] = dtData.Rows[i]["CASHIER_NM"].ToString(); dr["MEMO"] = dtData.Rows[i]["MSG1"].ToString() + Environment.NewLine + dtData.Rows[i]["MSG2"].ToString() + Environment.NewLine + dtData.Rows[i]["MSG3"].ToString() + Environment.NewLine; m_dtMemo.Rows.Add(dr); } gridMemo.CsmGridSelectRow(m_dtMemo.Rows.Count - 1); gridMemo.ResumeLayout(); gridMemo.Select(); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } finally { gridMemo.Update(); } } } }