// DLG_C_COmmend_Status.cpp : implementation file
//

#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_C_COmmend_Status.h"

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

/////////////////////////////////////////////////////////////////////////////
// DLG_C_COmmend_Status dialog
#include "MainFrm.h"
#include "C_Commend.h"

DLG_C_COmmend_Status::DLG_C_COmmend_Status(CWnd* pParent /*=NULL*/)
	: CDialog(DLG_C_COmmend_Status::IDD, pParent)
{
	//{{AFX_DATA_INIT(DLG_C_COmmend_Status)
	m_strBZ = _T("");
	m_strName = _T("");
	m_lStatus = -1;
	m_strTJCorpName = _T("");
	m_lVipInt = 0;
	m_lYWY = -1;
	m_lCorpID = 0;
	//}}AFX_DATA_INIT

	memset(&m_Data , 0 , sizeof(m_Data));
	m_pYWYName = NULL;
	m_pCommend = (CC_Commend*)pParent;
	memset(&m_Commend_GetVipInt,0,sizeof(m_Commend_GetVipInt));
	m_bGetVipInt = false;
}


void DLG_C_COmmend_Status::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DLG_C_COmmend_Status)
	DDX_Control(pDX, IDC_COMMEND_STATUS_CORPID, m_E_CorpID);
	DDX_Control(pDX, IDC_COMMEND_STATUS_YWY, m_L_YWY);
	DDX_Text(pDX, IDC_COMMEND_STATUS_BZ, m_strBZ);
	DDV_MaxChars(pDX, m_strBZ, 100);
	DDX_Text(pDX, IDC_COMMEND_STATUS_NAME, m_strName);
	DDV_MaxChars(pDX, m_strName, 30);
	DDX_CBIndex(pDX, IDC_COMMEND_STATUS_STATUS, m_lStatus);
	DDX_Text(pDX, IDC_COMMEND_STATUS_TJCORPNAME, m_strTJCorpName);
	DDV_MaxChars(pDX, m_strTJCorpName, 60);
	DDX_Text(pDX, IDC_COMMEND_STATUS_VIPINT, m_lVipInt);
	DDV_MinMaxLong(pDX, m_lVipInt, -20000, 20000);
	DDX_CBIndex(pDX, IDC_COMMEND_STATUS_YWY, m_lYWY);
	DDX_Text(pDX, IDC_COMMEND_STATUS_CORPID, m_lCorpID);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(DLG_C_COmmend_Status, CDialog)
	//{{AFX_MSG_MAP(DLG_C_COmmend_Status)
	ON_CBN_SELCHANGE(IDC_COMMEND_STATUS_STATUS, OnSelchangeCommendStatusStatus)
	ON_BN_CLICKED(IDC_COMMEND_STATUS_CORPID_READ, OnCommendStatusCorpidRead)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLG_C_COmmend_Status message handlers

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

	m_strName = m_Data.szName;
	m_strTJCorpName = m_Data.szTJ_CorpName;
	m_lStatus = m_Data.lStatus;
	m_lVipInt = m_Data.lVipInt;
	m_lCorpID = m_Data.lTJ_CorpID;
	UpdateData(false);

	//ҵ��Ա
	ANS_YWY_NameData * pYWY;
	CString strTemp;
	POSITION pos = m_pYWYName->GetHeadPosition();
	POSITION pos2=0;
	while (pos)
	{
		pos2=pos;
		pYWY = m_pYWYName->GetNext( pos );

		strTemp = pYWY->szYWYName;
		long lItem = m_L_YWY.AddString( strTemp );
		m_L_YWY.SetItemData( lItem , (DWORD_PTR)pos2);
		if ( m_Data.lProcess_YWYID == pYWY->lYWYID )
		{
			m_L_YWY.SetCurSel(lItem);

		}
	}
	UpdateData(true);

	if ( m_Data.lCommendType == 1 )  //�һ���Ʒ
	{
		GetDlgItem(IDC_COMMEND_STATUS_YWY)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_YWY_S)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_VIPINT_S)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_CORPID)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_CORPID_S)->ShowWindow(SW_HIDE);
		GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->ShowWindow(SW_HIDE);

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

void DLG_C_COmmend_Status::SetParam(ANS_GetCommendData data, CYWYName *pYSYName)
{
	m_Data = data;
	m_pYWYName = pYSYName;
}

void DLG_C_COmmend_Status::OnSelchangeCommendStatusStatus() 
{
	GetDlgItem(IDC_COMMEND_STATUS_YWY)->EnableWindow(false);
	GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->EnableWindow(false);
	GetDlgItem(IDC_COMMEND_STATUS_CORPID)->EnableWindow(false);
	GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->EnableWindow(false);
	
	if ( !UpdateData(true) )
		return ;

	if ( m_lStatus <= m_Data.lStatus )
	{
		MessageBox( _T("�޸�״̬���ܷ��أ�ֻ��סǰ�ߣ�") , _T("����") , MB_ICONWARNING );
		return;
	}

	switch(m_lStatus )
	{
	case 1: //���ڴ���
		 GetDlgItem(IDC_COMMEND_STATUS_YWY)->EnableWindow(true);
		 break;
	case 2: //�����ɹ�
		 GetDlgItem(IDC_COMMEND_STATUS_VIPINT)->EnableWindow(true);
		 GetDlgItem(IDC_COMMEND_STATUS_CORPID)->EnableWindow(true);
		 GetDlgItem(IDC_COMMEND_STATUS_CORPID_READ)->EnableWindow(true);
		 break;
	case 3: //����ʧ��
		 break;
	}
	
}

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

	if ( m_lStatus <= m_Data.lStatus )
	{
		MessageBox( _T("�޸�״̬���ܷ��أ�ֻ��סǰ�ߣ�") , _T("����") , MB_ICONWARNING );
		return;
	}
	if ( m_strBZ.GetLength() <=4 )
	{
		MessageBox( _T("�޸�״̬��������˵����") , _T("����") , MB_ICONWARNING );
		GetDlgItem(IDC_COMMEND_STATUS_BZ)->SetFocus();
		return;
	}
	_tcscpy(m_Data.szMobset_BZ , m_strBZ );

	m_Data.lStatus = m_lStatus;

	switch(m_lStatus )
	{
	case 1: //���ڴ���
		//ҵ��ԱID
		m_Data.lProcess_YWYID = 0;
		if ( m_lYWY > 0 )
		{
			POSITION pos = (POSITION)m_L_YWY.GetItemData(m_lYWY);
			ANS_YWY_NameData * pData = m_pYWYName->GetNext( pos );
			if (pData)
			{
				m_Data.lProcess_YWYID = pData->lYWYID;
				_tcscpy(m_Data.szProcess_YWY , pData->szYWYName);
				CDialog::OnOK();
			}
		}
		else
		{
			if ( m_Data.lCommendType==0)
			{
				MessageBox(_T("��ѡ������ҵ��Ա��") , _T("����"),MB_ICONWARNING );
				return;
			}
			else
			{
				CDialog::OnOK();
			}
		}

		break;
	case 2: //�����ɹ�
#ifdef SMSMANAGER_KF
		MessageBox(_T("�ͷ���Ȩ�޽�״̬�ijɳɽ���ʧ�ܣ�") , _T("����") , MB_ICONWARNING );
		return ;
#endif
		if ( m_Data.lCommendType == 0 ) //�Ƽ��ͻ�����Ҫ��¼����
		{
			m_Data.lVipInt = m_lVipInt;
			m_Data.lTJ_CorpID = m_Commend_GetVipInt.lCorpID;
			if ( !m_bGetVipInt )
			{
				MessageBox( _T("��δ������ҵȡ���Ƽ�������Ϣ�����ܼ�����") , _T("����") , MB_ICONWARNING );
				return ;
			}
			if ( m_Data.lCommendType==0 && m_lVipInt <=0 )
			{
				int iRet = MessageBox( _T("������Ļ���С�ڻ����0���Ƿ������") , _T("����") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
				if ( iRet!=IDYES )
					return ;
			}
		}
		CDialog::OnOK();
		 break;
	case 3: //����ʧ��
		CDialog::OnOK();
		 break;
	}


	
	//CDialog::OnOK();
}

ANS_GetCommendData DLG_C_COmmend_Status::GetParam()
{
	return m_Data;
}

void DLG_C_COmmend_Status::OnCommendStatusCorpidRead() 
{
	CString strCorpID;
	long lCorpID=0;
	m_E_CorpID.GetWindowText(strCorpID);
	lCorpID = _ttol(strCorpID);
	if ( lCorpID<100000 || lCorpID>900000 )
	{
		MessageBox( _T("��ҵID�����������飡") , _T("����"),MB_ICONWARNING);
		GetDlgItem(IDC_COMMEND_STATUS_CORPID)->SetFocus();
		return;
	}
	REQ_Commend_GetVipInt * pCommend = new REQ_Commend_GetVipInt;
	memset(pCommend , 0 , sizeof(REQ_Commend_GetVipInt));
	pCommend->lCorpID = lCorpID;
	m_pCommend->m_pMainFrame->SendFrame( SMSFUNC_COMMEND_GETVIPINT , (BYTE*)pCommend , sizeof(REQ_Commend_GetVipInt) );
	m_bGetVipInt =false;
}

void DLG_C_COmmend_Status::SetCommend_VipInt(ANS_Commend_GetVipInt Commend_GetVipInt)
{
	CString str;
	if ( Commend_GetVipInt.lErrCode!=0 )
	{
		MessageBox(Commend_GetVipInt.szErrMsg , _T("����") , MB_ICONWARNING );
		return ;
	}
	str.Format(_T("ȡ����ҵID%d����ҵ����Ϊ:%s���Ƽ�����:%d��\r\n�Ƿ�ȷ�ϴ˴��Ƽ����֣�"),Commend_GetVipInt.lCorpID,Commend_GetVipInt.szCorpName,Commend_GetVipInt.lCommend_VipInt);
	int iRet = MessageBox( str , _T("��ȷ��") ,MB_ICONQUESTION|MB_YESNO);
	if ( iRet!=IDYES )
		return;

	m_Commend_GetVipInt = Commend_GetVipInt;

	if ( !UpdateData(true) )
		return ;

	m_lVipInt = Commend_GetVipInt.lCommend_VipInt;
	//m_strTJCorpName = Commend_GetVipInt.szCorpName;
	m_bGetVipInt = true;


	UpdateData(false);



}