using System;
using System.Collections;
using System.Windows.Forms;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
using System.Drawing;
namespace Cosmos.Win
{
public partial class frmRegGuest : Form
{
#region Variable
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 string m_sPosMenuKeyIn;
public string PosMenuKeyIn { set { m_sPosMenuKeyIn = value; } get { return m_sPosMenuKeyIn; } }
private string m_sPosMenuKeyOut;
public string PosMenuKeyOut { set { m_sPosMenuKeyOut = value; } get { return m_sPosMenuKeyOut; } }
#endregion
#region 생성자 & 소멸자
public frmRegGuest()
{
InitializeComponent();
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
//this.UpdateStyles();
m_cPosStatus = (PosStatus)StateObject.POS;
m_cTrnStatus = (TranStatus)StateObject.TRAN;
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
SetLabel();
}
///
/// 폼로드
///
///
///
private void frmRegGuest_Load(object sender, EventArgs e)
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
InitControl();
}
///
/// 폼 클로즈
///
///
///
private void frmRegGuest_FormClosing(object sender, FormClosingEventArgs e)
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text);
}
#endregion
#region 폼 컨트롤 초기화
///
/// 라벨 초기화
///
private void SetLabel()
{
try
{
this.Size = new Size(788, 402);
FormManager.MovePopUpForm(this, true, m_cPosStatus.Sale.ScreenSizeUser);
picBack.Image = ImageManager.GetImage(Cosmos.BaseFrame.BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
btnExit.Image = ImageManager.GetImage(Cosmos.BaseFrame.BaseCom.NxImgPath, ImageManager.BTN_CLOSE);
if (btnExit.Image != null) btnExit.Text = "";
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
FormManager.SetTextBoxGlobalInfo(this, m_cPosStatus.Global.m_stCultureMaster.nGroupingDigits, m_cPosStatus.Global.m_stCultureMaster.strGroupingSymbol
, m_cPosStatus.Global.m_stCultureMaster.nDecimalDigits, m_cPosStatus.Global.m_stCultureMaster.strDecimalSymbol);
//테마색상 적용!
btnSave.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
padInPut.ThemeColor = m_cPosStatus.ScnMst.ThemeColor;
padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817);
padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018);
lblTitleL.Text = string.Format("{0}{1}{2}", "[[", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0100), "]]");
lblTitleR.Text = string.Format("{0}{1}{2}", "[[", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0099), "]]");
lbl50R.Text = lbl50L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0101);
lbl40R.Text = lbl40L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0102);
lbl30R.Text = lbl30L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0103);
lbl20R.Text = lbl20L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0104);
lbl10R.Text = lbl10L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0105);
lblTotal.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0107);
btn60R.Text = btn60L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0129);
btn50R.Text = btn50L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0101);
btn40R.Text = btn40L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0102);
btn30R.Text = btn30L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0103);
btn20R.Text = btn20L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0104);
btn10R.Text = btn10L.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0105);
btn60L.Tag = "F60";
btn50L.Tag = "F50";
btn40L.Tag = "F40";
btn30L.Tag = "F30";
btn20L.Tag = "F20";
btn10L.Tag = "F10";
btn60R.Tag = "M60";
btn50R.Tag = "M50";
btn40R.Tag = "M40";
btn30R.Tag = "M30";
btn20R.Tag = "M20";
btn10R.Tag = "M10";
// 기능 버튼 설정 체크
FormManager.SetbtnMenu(null, m_cDevStatus.ICReader.UseYn, btnMenu1, btnMenu2, btnMenu3, btnMenu4);
}
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 InitControl()
{
try
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT004) == "2")
FormManager.MovePopUpForm(this, true, m_cPosStatus.Sale.ScreenSizeUser);
else
FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser);
ControlVisible(m_sPosMenuKeyIn == "PAY" ? false : true);
if (m_sPosMenuKeyIn == "PAY")
{
//결제 정보일때 처리 없음!
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0130);
}
else
{
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0106);
ArrayList alCuestItem = (ArrayList)StateObject.GetItemObject(Column.TR_GUEST.ITEM);
if (alCuestItem.Count > 0)
{
Column.TR_GUEST.DATA clCuestItem = (Column.TR_GUEST.DATA)alCuestItem[0];
txt50L.Text = clCuestItem.FMALE_50L.ToString();
txt40L.Text = clCuestItem.FMALE_40L.ToString();
txt30L.Text = clCuestItem.FMALE_30L.ToString();
txt20L.Text = clCuestItem.FMALE_20L.ToString();
txt10L.Text = clCuestItem.FMALE_10L.ToString();
txt50R.Text = clCuestItem.MALE_50L.ToString();
txt40R.Text = clCuestItem.MALE_40L.ToString();
txt30R.Text = clCuestItem.MALE_30L.ToString();
txt20R.Text = clCuestItem.MALE_20L.ToString();
txt10R.Text = clCuestItem.MALE_10L.ToString();
TotalSum();
}
else
{
txt50L.Text = "";
txt40L.Text = "";
txt30L.Text = "";
txt20L.Text = "";
txt10L.Text = "";
txt50R.Text = "";
txt40R.Text = "";
txt30R.Text = "";
txt20R.Text = "";
txt10R.Text = "";
txtTotal.Text = "0";
txt50L.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);
}
}
#endregion
#region Control Event
///
/// 입력박스 이벤트
///
///
///
private void txtEditBox_EditBoxKeyDownEvent(object sender, string sFuncValue)
{
try
{
if (sFuncValue == PosKey.MENU_KEY.ENTER)
{
if (((Cosmos.UI.CsmPosEditBox)sender) == txt10R)
{
txt50L.SelectText();
}
else
{
SendKeys.Send("{TAB}");
}
TotalSum();
}
else if (sFuncValue == PosKey.MENU_KEY.CLEAR)
{
if (((Cosmos.UI.CsmPosEditBox)sender).ReadOnly == false) ((Cosmos.UI.CsmPosEditBox)sender).Text = "";
}
else if (sFuncValue == PosKey.MENU_KEY.ESC_PREVIOUS)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
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 txtEditBox_EnterEvent(object sender, EventArgs e)
{
try
{
padInPut.SetActiveControl = (Control)sender;
TotalSum();
}
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 btnExit_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
///
/// 저장
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
try
{
ArrayList alCuestItem = (ArrayList)StateObject.GetItemObject(Column.TR_GUEST.ITEM);
if (alCuestItem.Count == 0)
{
Column.TR_GUEST.DATA clCuestItem = new Column.TR_GUEST.DATA();
clCuestItem.FMALE_50L = CmUtil.IntParse(txt50L.Value);
clCuestItem.FMALE_40L = CmUtil.IntParse(txt40L.Value);
clCuestItem.FMALE_30L = CmUtil.IntParse(txt30L.Value);
clCuestItem.FMALE_20L = CmUtil.IntParse(txt20L.Value);
clCuestItem.FMALE_10L = CmUtil.IntParse(txt10L.Value);
clCuestItem.MALE_50L = CmUtil.IntParse(txt50R.Value);
clCuestItem.MALE_40L = CmUtil.IntParse(txt40R.Value);
clCuestItem.MALE_30L = CmUtil.IntParse(txt30R.Value);
clCuestItem.MALE_20L = CmUtil.IntParse(txt20R.Value);
clCuestItem.MALE_10L = CmUtil.IntParse(txt10R.Value);
alCuestItem.Add(clCuestItem);
}
else
{
Column.TR_GUEST.DATA clCuestItem = (Column.TR_GUEST.DATA)alCuestItem[0];
clCuestItem.FMALE_50L = CmUtil.IntParse(txt50L.Value);
clCuestItem.FMALE_40L = CmUtil.IntParse(txt40L.Value);
clCuestItem.FMALE_30L = CmUtil.IntParse(txt30L.Value);
clCuestItem.FMALE_20L = CmUtil.IntParse(txt20L.Value);
clCuestItem.FMALE_10L = CmUtil.IntParse(txt10L.Value);
clCuestItem.MALE_50L = CmUtil.IntParse(txt50R.Value);
clCuestItem.MALE_40L = CmUtil.IntParse(txt40R.Value);
clCuestItem.MALE_30L = CmUtil.IntParse(txt30R.Value);
clCuestItem.MALE_20L = CmUtil.IntParse(txt20R.Value);
clCuestItem.MALE_10L = CmUtil.IntParse(txt10R.Value);
}
// 총 고객수
int iGuestCnt = CmUtil.IntParse(txt50L.Text) + CmUtil.IntParse(txt40L.Text) + CmUtil.IntParse(txt30L.Text) + CmUtil.IntParse(txt20L.Text) + CmUtil.IntParse(txt10L.Text)
+ CmUtil.IntParse(txt50R.Text) + CmUtil.IntParse(txt40R.Text) + CmUtil.IntParse(txt30R.Text) + CmUtil.IntParse(txt20R.Text) + CmUtil.IntParse(txt10R.Text);
m_cTrnStatus.Head.CustCnt = iGuestCnt;
// 여자동반자수
iGuestCnt = CmUtil.IntParse(txt50L.Text) + CmUtil.IntParse(txt40L.Text) + CmUtil.IntParse(txt30L.Text) + CmUtil.IntParse(txt20L.Text) + CmUtil.IntParse(txt10L.Text);
m_cTrnStatus.Head.WomanCmpnpsnCnt = iGuestCnt;
// 남자동반자수
iGuestCnt = CmUtil.IntParse(txt50R.Text) + CmUtil.IntParse(txt40R.Text) + CmUtil.IntParse(txt30R.Text) + CmUtil.IntParse(txt20R.Text) + CmUtil.IntParse(txt10R.Text);
m_cTrnStatus.Head.ManCmpnpsnCnt = iGuestCnt;
this.DialogResult = DialogResult.OK;
this.Close();
}
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 EditBoxTextChangedEvnet(object sender, EventArgs e)
{
try
{
//string stmp = ((Cosmos.UI.CsmPosEditBox)sender).Value;
//if (stmp.IndexOf(".") != -1 )
// ((Cosmos.UI.CsmPosEditBox)sender).Value = Math.Truncate(CmUtil.DoubleParse(stmp)).ToString();
}
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 btnProc_Click(object sender, EventArgs e)
{
try
{
m_sPosMenuKeyOut = ((UI.CsmButton)sender).Tag.ToString();
this.DialogResult = DialogResult.OK;
this.Close();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region User Method
///
/// 고객 합계
///
private void TotalSum()
{
try
{
int iGuestCnt = 0;
iGuestCnt = CmUtil.IntParse(txt50L.Text) + CmUtil.IntParse(txt40L.Text) + CmUtil.IntParse(txt30L.Text) + CmUtil.IntParse(txt20L.Text) + CmUtil.IntParse(txt10L.Text) + CmUtil.IntParse(txt50R.Text) + CmUtil.IntParse(txt40R.Text) + CmUtil.IntParse(txt30R.Text) + CmUtil.IntParse(txt20R.Text) + CmUtil.IntParse(txt10R.Text);
txtTotal.Text = iGuestCnt.ToString();
}
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 ControlVisible(bool bValue)
{
try
{
lbl50R.Visible = bValue;
lbl50L.Visible = bValue;
lbl40R.Visible = bValue;
lbl40L.Visible = bValue;
lbl30R.Visible = bValue;
lbl30L.Visible = bValue;
lbl20R.Visible = bValue;
lbl20L.Visible = bValue;
lbl10R.Visible = bValue;
lbl10L.Visible = bValue;
lblTotal.Visible = bValue;
txt50L.Visible = bValue;
txt40L.Visible = bValue;
txt30L.Visible = bValue;
txt20L.Visible = bValue;
txt10L.Visible = bValue;
txt50R.Visible = bValue;
txt40R.Visible = bValue;
txt30R.Visible = bValue;
txt20R.Visible = bValue;
txt10R.Visible = bValue;
txtTotal.Visible = bValue;
btnSave.Visible = bValue;
PayControlVisible(bValue == true ? false : true);
}
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 PayControlVisible(bool bValue)
{
try
{
btn60L.Visible = bValue;
btn60R.Visible = bValue;
btn50R.Visible = bValue;
btn50L.Visible = bValue;
btn40R.Visible = bValue;
btn40L.Visible = bValue;
btn30R.Visible = bValue;
btn30L.Visible = bValue;
btn20R.Visible = bValue;
btn20L.Visible = bValue;
btn10R.Visible = bValue;
btn10L.Visible = bValue;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
}
}