// DLG_SmsTask_Modify.cpp: 实现文件
//
#include "StdAfx.h"
#include "SmsManager.h"
#include "DLG_SmsTask_Modify.h"
#include "afxdialogex.h"


// DLG_SmsTask_Modify 对话框

IMPLEMENT_DYNAMIC(DLG_SmsTask_Modify, CDialogEx)

DLG_SmsTask_Modify::DLG_SmsTask_Modify(CWnd* pParent /*=nullptr*/)
	: CDialogEx(IDD_K_SMSTASK_MODIFY, pParent)
	, m_strCorpID(_T(""))
	, m_strCreateTime(_T(""))
	, m_strMsg(_T(""))
	, m_strReason(_T(""))
{
	memset(&m_SeeData, 0, sizeof(m_SeeData));
	m_lReasonType = 0;
	m_lOperCount = 0;
}

DLG_SmsTask_Modify::~DLG_SmsTask_Modify()
{
}

void DLG_SmsTask_Modify::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CORPID, m_strCorpID);
	DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_CREATETIME, m_strCreateTime);
	DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_MSG, m_strMsg);
	//  DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason);
	DDX_Text(pDX, IDD_K_SMSTASK_MODIFY_REASON, m_strReason);
	DDV_MaxChars(pDX, m_strReason, 60);
	DDX_Control(pDX, IDD_K_SMSTASK_MODIFY_REASON_S, m_S_Reason);
}


BEGIN_MESSAGE_MAP(DLG_SmsTask_Modify, CDialogEx)
	ON_BN_CLICKED(IDOK, &DLG_SmsTask_Modify::OnBnClickedOk)
	ON_BN_CLICKED(IDD_K_SMSTASK_MODIFY_FAILREASON, &DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason)
	ON_COMMAND_RANGE(MENU_SMSTASK_FAILREASON_BEGIN, MENU_SMSTASK_FAILREASON_END, On_User_FailReason)
END_MESSAGE_MAP()


// DLG_SmsTask_Modify 消息处理程序


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

	if (m_strReason.GetLength() <= 3)
	{
		MessageBox(_T("请输入审核失败原因!"), _T("错误"), MB_ICONWARNING|MB_OK);
		GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON)->SetFocus();
		return;
	}

	CDialogEx::OnOK();
}


BOOL DLG_SmsTask_Modify::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO:  在此添加额外的初始化
	m_strCorpID.Format(_T("%d"), m_SeeData.lCorpID);
	m_strCreateTime.Format(_T("%04d.%02d.%02d %02d:%02d"), m_SeeData.tCreateTime.wYear, m_SeeData.tCreateTime.wMonth, m_SeeData.tCreateTime.wDay, m_SeeData.tCreateTime.wHour, m_SeeData.tCreateTime.wMinute);
	m_strMsg = m_SeeData.szMsg;

	CString strTitle;
	this->GetWindowText(strTitle);
	if (m_lReasonType == 1)  //停止任务
	{
		strTitle = _T("批量短信任务-强制停止");
		m_S_Reason.SetWindowText(_T("强制停止原因"));
	}
	if (m_lReasonType == 2)  //重启任务
	{
		strTitle = _T("批量短信任务-重启任务");
		m_S_Reason.SetWindowText(_T("重启任务原因"));
	}

	if (m_lOperCount > 1)
		strTitle.Append(_T("  注意:你已选择多条记录,此为批量操作!"));

	this->SetWindowText(strTitle);

	UpdateData(false);

	return TRUE;  // return TRUE unless you set the focus to a control
				  // 异常: OCX 属性页应返回 FALSE
}

void DLG_SmsTask_Modify::SetParam(ANS_PLTaskSms_SeeData * pSeeData,long lReasonType,long lOperCount)
{
	m_SeeData = *pSeeData;
	m_lReasonType = lReasonType;
	m_lOperCount = lOperCount;
}

void DLG_SmsTask_Modify::OnBnClickedKSmstaskModifyFailreason()
{
	
	CMenu menu;
	menu.CreatePopupMenu();
	if (m_strFailReason.GetCount() <= 0)
	{
		m_strFailReason.Add(_T("短信内容含双签名,请修改后重新提交。"));
		m_strFailReason.Add(_T("短信内容有乱码,请修改后重新提交。"));
		m_strFailReason.Add(_T("短信内容含涉嫌敏感内容,请修改后重新提交。"));
		m_strFailReason.Add(_T("行业应用账号不允许发送此内容,请用营销账号重新提交。"));
		m_strFailReason.Add(_T("请规范退订格式,修改后重新提交。短信结尾为:拒收请回复R"));
		m_strFailReason.Add(_T("此内容暂不支持发送。"));
		m_strFailReason.Add(_T("客户申请驳回,审核失败。"));
	}

	int iCount = m_strFailReason.GetCount();
	for (int i = 0; i < iCount; i++)
	{
		menu.AppendMenu(MF_STRING, MENU_SMSTASK_FAILREASON_BEGIN+i, m_strFailReason.GetAt(i));
	}


	//显示菜单
	RECT rect = { 0 };
	this->GetDlgItem(IDD_K_SMSTASK_MODIFY_FAILREASON)->GetWindowRect(&rect);
	//this->ClientToScreen( &pt);
	menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, rect.left, rect.bottom, this, NULL);
	menu.DestroyMenu();
}

void DLG_SmsTask_Modify::On_User_FailReason(UINT nID)
{
	UINT ll = MENU_SMSTASK_FAILREASON_BEGIN;
	long lIndex = nID - ll;

	if (lIndex>=0 && lIndex < m_strFailReason.GetCount())
	{
		//CString str = m_strFailReason.GetAt(lIndex);
		//if (!UpdateData(true))
		//	return;
		//m_strReason = m_strReason + str;
		//		UpdateData(false);

		((CEdit*)GetDlgItem(IDD_K_SMSTASK_MODIFY_REASON))->SetWindowText(m_strFailReason.GetAt(lIndex));


	}

}