// DLG_MasApi_Modify.cpp : implementation file
//

#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_MasApi_Modify.h"

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

/////////////////////////////////////////////////////////////////////////////
// DLG_MasApi_Modify dialog


DLG_MasApi_Modify::DLG_MasApi_Modify(CWnd* pParent /*=NULL*/)
	: CDialog(DLG_MasApi_Modify::IDD, pParent)
{
	//{{AFX_DATA_INIT(DLG_MasApi_Modify)
	m_strApiCode = _T("");
	m_strPasswd = _T("");
	m_strUser = _T("");
	m_lStatus = -1;
	m_bReport = FALSE;
	m_strTip = _T("");
	m_lDefPriority = 0;
	m_bNoSendTime = FALSE;
	m_bClearMO = FALSE;
	m_bClearMT = FALSE;
	m_bClearRPT = FALSE;
	m_strMOCount = _T("");
	m_strMTCount = _T("");
	m_strRPTCount = _T("");
	//}}AFX_DATA_INIT

	memset(&m_ApiData,0,sizeof(m_ApiData));
}


void DLG_MasApi_Modify::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DLG_MasApi_Modify)
	DDX_Text(pDX, IDC_MASAPI_MODIFY_APICODE, m_strApiCode);
	DDV_MaxChars(pDX, m_strApiCode, 16);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_PASSWD, m_strPasswd);
	DDV_MaxChars(pDX, m_strPasswd, 16);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_USER, m_strUser);
	DDV_MaxChars(pDX, m_strUser, 16);
	DDX_CBIndex(pDX, IDC_MASAPI_MODIFY_STATUS, m_lStatus);
	DDX_Check(pDX, IDC_MASAPI_MODIFY_REPORT, m_bReport);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_TIP, m_strTip);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_DEFPRIORITY, m_lDefPriority);
	DDV_MinMaxUInt(pDX, m_lDefPriority, 1, 99);
	DDX_Check(pDX, IDC_MASAPI_MODIFY_NOSENDTIME, m_bNoSendTime);
	DDX_Check(pDX, IDC_MASAPI_MODIFY_CLEARMO, m_bClearMO);
	DDX_Check(pDX, IDC_MASAPI_MODIFY_CLEARMT, m_bClearMT);
	DDX_Check(pDX, IDC_MASAPI_MODIFY_CLEARRPT, m_bClearRPT);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_MOCOUNT, m_strMOCount);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_MTCOUNT, m_strMTCount);
	DDX_Text(pDX, IDC_MASAPI_MODIFY_RPTCOUNT, m_strRPTCount);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DLG_MasApi_Modify, CDialog)
	//{{AFX_MSG_MAP(DLG_MasApi_Modify)
	ON_CBN_EDITCHANGE(IDC_MASAPI_MODIFY_STATUS, OnEditchangeMasapiModifyStatus)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLG_MasApi_Modify message handlers

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

	m_strApiCode = m_ApiData.if_code;
	m_strUser = m_ApiData.if_user;
	m_strPasswd = m_ApiData.if_pwd;

	m_lStatus = m_ApiData.if_status;
	m_bReport = m_ApiData.if_has_rpt;

	m_lDefPriority = m_ApiData.lDefPriority;
	m_bNoSendTime = m_ApiData.lNoSendTime;

	m_strMTCount.Format( _T("%d") , m_ApiData.lMTCount);
	m_strMOCount.Format( _T("%d") , m_ApiData.lMOCount);
	m_strRPTCount.Format( _T("%d") , m_ApiData.lRPTCount);

	m_strTip = _T("1����Ҫ�Ƚ����û����ܿ��µ�Mas Api�ʺš�\r\n")\
		_T("2��һ����ҵIDֻ�ܽ�һ��Mas Api�ʺš�\r\n")\
		_T("3��API�������û���ͬʱΪ��ʱɾ���ʺš�\r\n");

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

void DLG_MasApi_Modify::OnOK() 
{
	if ( !UpdateData(true) )
		return ;

	if ( m_strApiCode.GetLength()<=0 && m_strUser.GetLength()<=0 )
	{
		//Ϊɾ���û�
		int iRet = MessageBox( _T("��ɾ����ID�µ�Mas API�ʺţ�ȷ�ϣ�") , _T("����") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
		if ( iRet != IDYES )
			return ;
	}
	else
	{
		if ( m_strApiCode.GetLength()<=0  )
		{
			MessageBox( _T("API���벻��Ϊ�գ���¼��!") , _T("����") , MB_ICONWARNING );
			GetDlgItem(IDC_MASAPI_MODIFY_APICODE)->SetFocus();
			return ;
		}
		if ( m_strUser.GetLength()<=0 )
		{
			MessageBox( _T("�û�������Ϊ�գ���¼��!") , _T("����") , MB_ICONWARNING );
			GetDlgItem(IDC_MASAPI_MODIFY_USER)->SetFocus();
			return ;
		}

		if ( m_strPasswd.GetLength()<=0 )
		{
			MessageBox( _T("���벻��Ϊ�գ���¼��!") , _T("����") , MB_ICONWARNING );
			GetDlgItem(IDC_MASAPI_MODIFY_PASSWD)->SetFocus();
			return ;
		}
	}

	_tcscpy(m_ApiData.if_code,m_strApiCode);
	_tcscpy(m_ApiData.if_user,m_strUser);
	_tcscpy(m_ApiData.if_pwd,m_strPasswd);

	m_ApiData.if_status = m_lStatus;
	m_ApiData.if_has_rpt = m_bReport;
	m_ApiData.lDefPriority = m_lDefPriority;
	m_ApiData.lNoSendTime = m_bNoSendTime;

	m_ApiData.bClearMT  = m_bClearMT;
	m_ApiData.bClearMO  = m_bClearMO;
	m_ApiData.bClearRPT  = m_bClearRPT;

	
	CDialog::OnOK();
}

void DLG_MasApi_Modify::SetParam(ANS_MySqlAPIData apidata)
{
	m_ApiData = apidata;
}

ANS_MySqlAPIData  DLG_MasApi_Modify::GetParam()
{
	return m_ApiData;
}

void DLG_MasApi_Modify::OnEditchangeMasapiModifyStatus() 
{
	MessageBox( _T("�ӿ�״̬�ı䣬Ϊ��ֹ�󷢶��ţ�������ձ�����") , _T("����") , MB_ICONWARNING );

	UpdateData(true);
	m_bClearMT = true;
	m_bClearMO = true;
	m_bClearRPT = true;

	UpdateData(false);
	
}