// UsePoint.cpp : implementation file
//
#include "stdafx.h"
#include "ylgl.h"
#include "UsePoint.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// UsePoint dialog IDC_EDITmembername
UsePoint::UsePoint(CWnd* pParent /*=NULL*/)
	: CDialog(UsePoint::IDD, pParent)
{
	//{{AFX_DATA_INIT(UsePoint)
	m_name1 = _T("");
	m_name2 = _T("");
	m_id = _T("");
	m_ren = _T("");
	m_taoxiname = _T("");
	m_memberno = _T("");
	m_name = _T("");
	m_point = _T("");
	m_taoxijiage = _T("");
	m_card2no = _T("");
	m_goods = _T("");
	m_point2 = _T("");
	m_mode = 0;
	//}}AFX_DATA_INIT
}

void UsePoint::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(UsePoint)
	DDX_Control(pDX, IDC_EDIT3, m_editnum);
	DDX_Control(pDX, IDC_COMBO5, m_combobox);
	DDX_Text(pDX, IDC_EDITname, m_name1);
	DDX_Text(pDX, IDC_EDITname2, m_name2);
	DDX_Text(pDX, IDC_EDITid, m_id);
	DDX_Text(pDX, IDC_EDITOren, m_ren);
	DDX_Text(pDX, IDC_EDITtaoxiname, m_taoxiname);
	DDX_Text(pDX, IDC_EDIT1, m_memberno);
	DDX_Text(pDX, IDC_EDITmembername, m_name);
	DDX_Text(pDX, IDC_EDIT2, m_point);
	DDX_Text(pDX, IDC_EDITtaoxijiage, m_taoxijiage);
	DDX_Text(pDX, IDC_EDITcard2no, m_card2no);
	DDX_Text(pDX, IDC_EDIT7, m_goods);
	DDX_Text(pDX, IDC_EDIT3, m_point2);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(UsePoint, CDialog)
	//{{AFX_MSG_MAP(UsePoint)
	ON_CBN_SELCHANGE(IDC_COMBO5, OnSelchangeCombo5)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// UsePoint message handlers

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

	// TODO: Add extra initialization here
	if (m_mode == 1)
	{
		SetWindowText("���ͻ���");
		GetDlgItem(IDC_STATIC4)->SetWindowText("*����˵��:");
		GetDlgItem(IDC_STATIC5)->SetWindowText("*�˴����ͻ���:");
	}
	else if (m_mode == 2)
	{
		SetWindowText("���ű��");
		GetDlgItem(IDC_STATIC4)->SetWindowText("*�������¿���:");
		GetDlgItem(IDC_STATIC5)->ShowWindow(0);
		GetDlgItem(IDC_EDIT3)->ShowWindow(0);
	}
	return false;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void UsePoint::OnOK()
{
	// TODO: Add extra validation here
	UpdateData();
	if (m_mode == 2)
	{
		g_sendhead.bsql = 0;
		g_sendhead.code[0] = 68;
		g_sendhead.tabcount = 1;
		g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
		CArray<CStringArray, CStringArray>m_List1array;
		DataToArray(&m_List1array);

		CString newno = m_goods;
		if (newno.IsEmpty())
		{
			AfxMessageBox("���Ų���Ϊ�գ�����������!", MB_ICONINFORMATION);
			return;
		}
		if (newno == m_memberno)
		{
			AfxMessageBox("���Ų�����ɿ�����ͬ������������!", MB_ICONINFORMATION);
			m_goods = "";
			UpdateData(false);
			GetDlgItem(IDC_EDIT7)->SetFocus();
			return;
		}
		for (int i = 0; i < m_List1array.GetSize(); i++)
		{
			if (newno == m_List1array.ElementAt(i).ElementAt(1))
			{
				AfxMessageBox("�˻�Ա�������Ѵ��ڣ�����������!", MB_ICONINFORMATION);
				m_goods = "";
				UpdateData(false);
				GetDlgItem(IDC_EDIT7)->SetFocus();
				return;
			}
		}
		CString sql;
		sql = "update membermanage set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update memberreg set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update memberreg2 set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update memberreg3 set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update memberreg4 set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update membercard3usereg set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update membercard2 set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		sql += "***update membercard3 set [memberno]='" + newno + "' where [memberno]='" + m_memberno + "'";
		g_sendhead.bsql = 1;
		g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
		AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);
		CDialog::OnOK();
		return;
	}
	if (atol(m_point2) < 1)
	{
		AfxMessageBox("���ֲ���С��1��!", MB_ICONINFORMATION);
		return;
	}
	CString point2;	CString sql;

	if (m_mode == 0)
	{
		if (atol(m_point) < 1)
		{
			AfxMessageBox("���ֲ���С��1��!", MB_ICONINFORMATION);
			return;
		}
		if (atol(m_point2) > atol(m_point))
		{
			AfxMessageBox("���ֲ���!", MB_ICONINFORMATION);
			return;
		}


		point2.Format("%d", (int)(atof(m_point2)*GetPointScale2()));

		sql = "insert into [memberreg2]([memberno],[dindanid],[money],[point],[date])values('" + m_memberno + "','" + m_goods + "','0','" + point2 + "','" + g_date + "')";
		sql += "&&&update membermanage set [sendmark1]='',[sendmark2]='' where [memberno]='" + m_memberno + "'";
		if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
		{
			CString content, timestamp;

			content.Format("%s����,�����ζһ�%s,ʹ�û���%d��,��%d��", m_name, m_goods, atol(m_point2), atol(m_point) - atol(m_point2));
			timestamp = "msgtimestamp";
			if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
			{
				int count = GetLengthEx(content) / MSG_LENGTH;
				if (GetLengthEx(content) % MSG_LENGTH)
					count++;
				CString scount;
				scount.Format("%d", count);
#if JEFF_TEST_ON
				CString sql2 = _T("");
				sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
				sql += _T("&&&") + sql2;
#else
				CString sql2 = "&&&insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
				sql += sql2;
#endif
			}
		}
		sql += "&&&";
		sql += m_memberno;
	}
	else//���ͻ���
	{
		point2.Format("%d", (int)(atof(m_point2)*GetPointScale2()));
		sql = "insert into memberreg([memberno],[dindanid],[money],[date],[type])values('" + m_memberno + "','" + m_goods + "','" + point2 + "','" + g_date + "','���ѻ���')";
		if (0)//atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
		{
			CString content, timestamp;

			content.Format("%s���ã�%s���������ͻ���%d����%d��", m_name, m_goods, atol(m_point2), atol(m_point) + atol(m_point2));
			timestamp = "msgtimestamp";
			if (CheckPhoneType(m_phone) != -1)//&& CheckBadWords(content,0) && CheckBadWords2(content,0) )
			{
				int count = GetLengthEx(content) / MSG_LENGTH;
				if (GetLengthEx(content) % MSG_LENGTH)
					count++;
				CString scount;
				scount.Format("%d", count);
#if JEFF_TEST_ON
				CString sql2 = _T("");
				sql2.Format(INSERT_SENDREG, _T("16"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("ϵͳ�Զ�����"));
				sql += _T("&&&") + sql2;
#else
				CString sql2 = "&&&insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + content + "','" + timestamp + "','" + scount + "','0','0','0','ϵͳ�Զ�����')";
				sql += sql2;
#endif
			}
		}

		sql += "&&&";
		sql += m_memberno;
	}


	g_sendhead.bsql = 1;
	g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
	AfxMessageBox("����ɹ�!", MB_ICONINFORMATION);

	CDialog::OnOK();
}

void UsePoint::ClientChange()
{
	CString filter = "id='" + id + "'";
	g_sendhead.code[0] = 11;
	g_sendhead.tabcount = 1;
	g_sendhead.bsql = 0;
	g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return;
	DataToArray(&g_List1array);

	if (g_List1array.GetSize())
	{
		m_id = g_List1array.ElementAt(0).ElementAt(0);
		m_name1 = g_List1array.ElementAt(0).ElementAt(4);
		m_name2 = g_List1array.ElementAt(0).ElementAt(5);
		m_taoxiname = g_List1array.ElementAt(0).ElementAt(7);
		m_point = m_taoxijiage = g_List1array.ElementAt(0).ElementAt(8);
		m_ren = g_List1array.ElementAt(0).ElementAt(14);
		UpdateData(false);
	}
}

void UsePoint::OnSelchangeCombo5()
{
	// TODO: Add your control notification handler code here
	int pos = m_combobox.GetCurSel();
	if (pos == -1)return;
	if (m_acCombo.m_posarray.GetSize() <= pos)return;
	int pos2 = m_acCombo.m_posarray.ElementAt(pos);
	id = m_List1array.ElementAt(pos2).ElementAt(0);
	ClientChange();
}