// DlgLogin.cpp: 实现文件
//

#include "stdafx.h"
#include "SATHelper.h"
#include "DlgLogin.h"
#include "afxdialogex.h"
#include "SATClient.h"


// CDlgLogin 对话框

IMPLEMENT_DYNAMIC(CDlgLogin, CDialogEx)

CDlgLogin::CDlgLogin(CWnd* pParent /*=nullptr*/)
	: CDialogEx(IDD_DLG_LOGIN, pParent)
{

}

CDlgLogin::~CDlgLogin()
{
}

void CDlgLogin::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CDlgLogin, CDialogEx)
	ON_BN_CLICKED(IDOK, &CDlgLogin::OnBnClickedOk)
	ON_BN_CLICKED(IDCANCEL, &CDlgLogin::OnBnClickedCancel)
END_MESSAGE_MAP()


// CDlgLogin 消息处理程序


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

	// TODO:  在此添加额外的初始化
#ifdef _DEBUG
	SetDlgItemText(IDC_EDIT_USERNAME, "superAdmin");
	SetDlgItemText(IDC_EDIT_PASSWORD, "123456");
#endif

	SetDlgItemText(IDOK, SATData::login_resp.bStatus ? _T("登出") : _T("登录"));

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


void CDlgLogin::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	CString strUserName, strPassword;
	GetDlgItemText(IDC_EDIT_USERNAME, strUserName);
	GetDlgItemText(IDC_EDIT_PASSWORD, strPassword);

	if (!SATData::login_resp.bStatus) {
		if (CSATClient::GetInstance()->TCPLogin(strUserName.GetString(), strPassword.GetString(), Global::g_Config.strActuator)) {
			if (!SATData::login_resp.bStatus)
				AfxMessageBox("登录失败");
		}
	} 
	else {
		if (CSATClient::GetInstance()->TCPLogout(strUserName.GetString(), strPassword.GetString(), Global::g_Config.strActuator)) {
			if (!SATData::logout_resp.bStatus)
				AfxMessageBox("登出失败");
		}
	}

	CDialogEx::OnOK();
}


void CDlgLogin::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知处理程序代码
	CDialogEx::OnCancel();
}
