using Long.Common.System;
using Long.Dapper;
namespace Long.DAO.System
{
///
/// 下一个值-数据库
///
public class NextValueDatabase : Database, INextValueDatabase
{
#region 获取编码
///
/// 获取编码
///
/// 前缀
/// 表名
/// 字段名
/// 默认值
/// 编码长度
///
public async Task GetCodeAsync(string prefix, string tableName, string fieldName, int defaultValue = 1, int length = 5)
{
var value = await GetNextValueAsync(tableName, fieldName, defaultValue);
string result = string.Format("{{0}}{{1:d" + length.ToString() + "}}", prefix, value);
return result;
}
#endregion
#region 获取日期编码
///
/// 获取日期编码
///
/// 前缀
/// 表名
/// 字段名
/// 默认值
/// 日期后编码长度
///
public async Task ExcuteGetCodeFromDateAsync(string prefix, string tableName, string fieldName, long defaultValue = 1, int length = 5)
{
var value = await GetNextValueAsync(tableName, fieldName, defaultValue);
string result = string.Format("{{0}}{{1}}{{2:d" + length.ToString() + "}}", prefix, new DateTime().ToString("yyyyMMdd"), value);
return result;
}
#endregion
}
}