📄 accountdal.cs
字号:
using System;
using System.Data;
using System.Text;
using System.Data.OleDb;
using com.sungoal.MemberManage.Common;
using com.sungoal.MemberManage.DataAccess;
namespace com.sungoal.MemberManage.DataAccess
{
/// <summary>
/// 关于帐户和帐户历史信息的数据库操作类
/// </summary>
public class AccountDAL
{
private int retVal = 0;
private const string SELECT_ACCOUNTINFO_BY_ACCOUNTID = "select * from AccountInfo where AccountID=";
public AccountDAL()
{
}
#region 帐户信息数据库操作
/// <summary>
/// 生成新的账户ID
/// </summary>
/// <param name="number">生成个数</param>
/// <returns>账户ID</returns>
public string[] CreateNewID(long number)
{
// 1。获取账户信息的最大ID
// 2。根据步骤 1 得到的最大编号计算新的阅读卡编号
if (number > 99999999)
{
return null;
}
string identity = "";
string[] serial = new string[number];
string[] newID = new string[number];
int maxID = 0;
OleDbConnection conn = new OleDbConnection(AppConfiguration.GetConnectionString());
OleDBHelper helper = new OleDBHelper(conn);
string sqlString = "select max(AccountID) from AccountInfo";
DataSet dataSet = new DataSet();
helper.ExecuteSQL(sqlString, dataSet);
if (dataSet.Tables[0].Rows[0][0] == DBNull.Value)
{
serial[0] = "00000000";
maxID = 0;
newID[0] = identity + serial[0];
}
else
{
serial[0] = dataSet.Tables[0].Rows[0][0].ToString();
serial[0] = serial[0].Substring(serial[0].Length - 8, 8);
maxID = Int32.Parse(serial[0]);
maxID = maxID + 1;
if (maxID > 99999999)
{
throw new Exception("Too many Account!");
}
serial[0] = maxID.ToString();
int zeroCount = 8 - (int)Math.Log10(maxID) - 1;
for (int j = 0; j < zeroCount; j ++)
{
serial[0] = "0" + serial[0];
}
newID[0] = identity + serial[0];
}
for (long i = 1; i < number; i ++)
{
maxID ++;
if (maxID > 99999999)
{
throw new Exception("Too many Account!");
}
serial[i] = maxID.ToString();
int zeroCount = 8 - (int)Math.Log10(maxID) - 1;
for (int j = 0; j < zeroCount; j ++)
{
serial[i] = "0" + serial[i];
}
newID[i] = identity + serial[i];
}
return newID;
}
/// <summary>
/// 根据账户ID获取账户信息
/// </summary>
/// <param name="accountID">账户ID</param>
/// <returns>账户信息DataTable</returns>
public DataTable GetAccountByAccountID(string accountID)
{
AccountData.AccountInfoDataTable data = new AccountData().AccountInfo;
new OleDBHelper().ExecuteSQL(SELECT_ACCOUNTINFO_BY_ACCOUNTID + "'" + accountID + "'", data);
return data;
}
public int RemoveMoneyFromAccountByUserID(string userID, string removeType)
{
string updateAccountInfo = "";
string updateUserBaseInfo = "";
string insertAccountHistory = "";
UserDAL userDAL = new UserDAL();
UserBaseData.UserBaseInfoDataTable uTable = (UserBaseData.UserBaseInfoDataTable)userDAL.GetUserBaseInfoByUserID(userID);
UserBaseData.UserBaseInfoRow uRow = (UserBaseData.UserBaseInfoRow)uTable.Rows[0];
AccountData.AccountInfoDataTable aTable = (AccountData.AccountInfoDataTable)this.GetAccountByAccountID(uRow.AccountID);
AccountData.AccountInfoRow aRow = (AccountData.AccountInfoRow)aTable.Rows[0];
float removeMoney = 0; // 此处计算扣费金额
// if (aRow.Balance >= removeMoney)
// {
//// aRow.Balance = aRow.Balance - removeMoney; // 此处计算余额
//
// aRow.OverDate = aRow.OverDate.AddMonths(1); // 此处计算截止日期
//
// aRow.Status = "1"; // 此处更改账户状态
//
// uRow.Status = "1"; // 此处更改用户状态
//
//// AccountData.AccountHistoryInfoDataTable hTable = new AccountData
////
//// updateAccountInfo = OleDBHelper.GetUpdateSql(aRow, "AccountInfo", "AccountID");
//// updateUserBaseInfo = OleDBHelper.GetUpdateSql(uRow, "UserBaseInfo", "UserID");
//
// }
// else
// {
return 0;
// }
}
/// <summary>
/// 根据传入的参数更新帐户信息,对在数据库中不存在的记录的更新操作将被忽略。
/// </summary>
/// <param name="dtAccount">需要更新的关于帐户信息的内存表。</param>
/// <returns>返回-1:操作失败;0:没有操作;1操作成功。</returns>
public int UpdateAccount(DataTable dtAccount)
{
return 1;
}
/// <summary>
/// 根据传入的参数删除相应的帐户记录,对在数据库中不存在的记录的删除操作将被忽略。删除帐户信息的操作
/// 还将导致删除与该帐户相关的用户信息以及帐户历史信息。
/// </summary>
/// <param name="accountID">需要删除的关于帐户信息的主键数组。</param>
/// <returns>返回-1:操作失败;0:没有操作;1操作成功。</returns>
public int DeleteAccount(string[] accountID)
{
return 1;
}
#endregion
#region 帐户历史信息数据库操作
/// <summary>
/// 根据传入的参数添加帐户历史信息记录(可能是多个),对在数据库中已经存在的记录的添加操作将导致意外,并使整个事务回滚。
/// </summary>
/// <param name="dtAccountHistoryInfo">需要添加的关于帐户历史信息的内存表。</param>
/// <returns>返回-1:操作失败;0:没有操作;1操作成功。</returns>
public int InsertAccountHistoryInfo(DataTable dtAccountHistoryInfo)
{
return 1;
}
/// <summary>
/// 根据传入的参数更新帐户历史信息,对在数据库中不存在的记录的更新操作将被忽略。
/// </summary>
/// <param name="dtAccountHistoryInfo">需要更新的关于帐户历史信息的内存表。</param>
/// <returns>返回-1:操作失败;0:没有操作;1操作成功。</returns>
public int UpdateAccountHistoryInfo(DataTable dtAccountHistoryInfo)
{
return 1;
}
/// <summary>
/// 根据传入的参数删除相应的帐户历史信息记录,对在数据库中不存在的记录的删除操作将被忽略。
/// </summary>
/// <param name="accountID">需要删除的关于帐户历史信息的主键数组。</param>
/// <returns>返回-1:操作失败;0:没有操作;1操作成功。</returns>
public int DeleteAccountHistoryInfo(string[] accountID)
{
return 1;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -