// DLG_TDSet_Add.cpp : implementation file
//

#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_TDSet_Add.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// DLG_TDSet_Add dialog


DLG_TDSet_Add::DLG_TDSet_Add(CWnd* pParent /*=NULL*/)
	: CDialog(DLG_TDSet_Add::IDD, pParent)
	, m_lYYSType(0)
{
	//{{AFX_DATA_INIT(DLG_TDSet_Add)
	m_strBZ = _T("");
	m_lCorpID = -1;
	m_lUserID = -1;
	m_strMobile = _T("");
	m_bEnable = false;
	//}}AFX_DATA_INIT


	memset(&m_TDSet, 0, sizeof(m_TDSet));
	m_lModifyCount = 0;

}


void DLG_TDSet_Add::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DLG_TDSet_Add)
	DDX_Text(pDX, IDC_TDSET_ADD_BZ, m_strBZ);
	DDV_MaxChars(pDX, m_strBZ, 120);
	DDX_Text(pDX, IDC_TDSET_ADD_CORPID, m_lCorpID);
	DDV_MinMaxLong(pDX, m_lCorpID, -1, 10000000);
	DDX_Text(pDX, IDC_TDSET_ADD_USERID, m_lUserID);
	DDV_MinMaxLong(pDX, m_lUserID, -1, 1000000000);
	DDX_Text(pDX, IDC_TDSET_ADD_MOBILE, m_strMobile);

	DDX_Control(pDX, IDC_TDSET_ADD_UNICOM, m_wndUnicom);
	DDX_Control(pDX, IDC_TDSET_ADD_TELCOM, m_wndTelcom);
	DDX_Control(pDX, IDC_TDSET_ADD_PHS, m_wndPhs);
	DDX_Control(pDX, IDC_TDSET_ADD_CMCC, m_wndCmcc);
	DDX_Control(pDX, IDC_TDSET_ADD_CW, m_B_CW);
	DDX_Check(pDX, IDC_TDSET_ADD_ENABLE, m_bEnable);

	//}}AFX_DATA_MAP

	DDX_CBIndex(pDX, IDC_TDSET_ADD_YYS, m_lYYSType);
}


BEGIN_MESSAGE_MAP(DLG_TDSet_Add, CDialog)
	//{{AFX_MSG_MAP(DLG_TDSet_Add)
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDOK, &DLG_TDSet_Add::OnBnClickedOk)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLG_TDSet_Add message handlers


BOOL DLG_TDSet_Add::OnInitDialog() 
{
	CDialog::OnInitDialog();


	m_bEnable = m_TDSet.lStatus;
	m_lCorpID = m_TDSet.lCorpID;
	m_strMobile = m_TDSet.szMobile;
	m_strBZ = m_TDSet.szBZ;
	m_lYYSType = m_TDSet.lYYSType;  //��Ӫ�����ͣ�0���Զ�;1-�ƶ�;2-��ͨ;3-С��ͨ;4-����;5-����

	UpdateData(false);

	/*
	m_B_CW.SetCheck(m_CliTD.bCW);
	if (!m_CliTD.bCliTD_CW)
		m_B_CW.ShowWindow(SW_HIDE);
    */

	m_TDSet.szOutAll[0] = '1' + m_B_CW.GetCheck();

	//_tcscpy(m_TDSet.szTD, _T("0000"));
	//_tcscpy(m_TDSet.szOutAll, _T("0000"));

	TCHAR szBuf[32] = { 0 };
	_tcscpy(szBuf, m_TDSet.szTD);
	m_wndCmcc.SetCurSel(szBuf[0] - '0');
	m_wndUnicom.SetCurSel(szBuf[1] - '0');
	m_wndPhs.SetCurSel(szBuf[2] - '0');
	m_wndTelcom.SetCurSel(szBuf[3] - '0');



	if (m_lModifyCount>1)
	{
		GetDlgItem(IDC_TDSET_ADD_MOBILE)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TDSET_ADD_MOBILE_S)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TDSET_ADD_BZ)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_TDSET_ADD_MOBILE_S2)->ShowWindow(SW_HIDE);
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void DLG_TDSet_Add::SetParam(ANS_TDSet_Data data, long lType, long lModifyCount)
{
	m_TDSet = data;
	m_lType=lType;
	m_lModifyCount = lModifyCount;
}

ANS_TDSet_Data DLG_TDSet_Add::GetParam(void)
{
	return m_TDSet;
}


void DLG_TDSet_Add::OnBnClickedOk()
{
	if ( !UpdateData(true) )
		return ;

	TCHAR szMobile[32] = { 0 };
	_tcscpy(szMobile, m_strMobile);
	ExMobileGZM(szMobile);  //ȥ��������
	if (m_lModifyCount <= 1 && !isMobileNum(szMobile))  //�����ֻ����룬�������ӻ��޸�
	{
		MessageBox(_T("�ֻ����������������飡"), _T("����"), MB_ICONWARNING);
		GetDlgItem(IDC_TDSET_ADD_MOBILE)->SetFocus();
		return;
	}
/*
	if (m_lModifyCount <= 1 && m_pTDSet &&  CString(m_TDSet.szMobile) != CString(szMobile))
	{
		if (m_pTDSet->MobileInList(szMobile))
		{
			MessageBox(_T("��������ֻ������Ѵ��ڣ����飡"), _T("����"), MB_ICONWARNING);
			GetDlgItem(TDSET_MODIFY_MOBILE)->SetFocus();
			return;
		}
	}
*/
	if (m_lModifyCount>1)
	{
		CString str;
		str.Format(_T("����Ϊ����������ȷ���󽫻����%d�������ͨ���󶨣�"), m_lModifyCount);
		int iRet = MessageBox(str, _T("����"), MB_ICONWARNING | MB_YESNO);
		if (iRet != IDYES)
			return;
	}
	m_TDSet.lStatus = m_bEnable;
	m_TDSet.lCorpID = m_lCorpID;
	_tcscpy(m_TDSet.szMobile, szMobile);
	_tcscpy(m_TDSet.szBZ, m_strBZ);

	_tcscpy(m_TDSet.szTD, _T("0000"));
	_tcscpy(m_TDSet.szOutAll, _T("0000"));

	//m_TDSet.szOutAll[0] = '1' + m_B_CW.GetCheck();


	//��ȡ����ͨ��
	memset(m_TDSet.szTD, 0, sizeof(m_TDSet.szTD));
	m_TDSet.szTD[0] = '0' + m_wndCmcc.GetCurSel();
	m_TDSet.szTD[1] = '0' + m_wndUnicom.GetCurSel();
	m_TDSet.szTD[2] = '0' + m_wndPhs.GetCurSel();
	m_TDSet.szTD[3] = '0' + m_wndTelcom.GetCurSel();
	m_TDSet.szTD[4] = 0;

	m_TDSet.lYYSType = m_lYYSType;  //��Ӫ�����ͣ�0���Զ�;1-�ƶ�;2-��ͨ;3-С��ͨ;4-����;5-����
	
	CDialog::OnOK();
}


void DLG_TDSet_Add::OnCbnSelchangeBackAddStatus()
{
#ifdef SMSCENTER_GDYD_ADC
	if ( !UpdateData(true) )
		return ;

	if ( m_lStatus == 0 )
	{
		GetDlgItem(IDC_TDSET_ADD_QR)->EnableWindow(true);
	}
	else
	{
		m_lQR = 0;
		GetDlgItem(IDC_TDSET_ADD_QR)->EnableWindow(false);
	}
	UpdateData(false);

#endif
}


void DLG_TDSet_Add::OnCbnSelchangeBackAddQr()
{
#ifdef SMSCENTER_GDYD_ADC
	if ( !UpdateData(true) )
		return ;

#endif
}