49 lines
1.9 KiB
C#
49 lines
1.9 KiB
C#
using System.Data;
|
|
using System.Data.OracleClient;
|
|
using WX.CRM.Model;
|
|
using WX.CRM.Model.Enum;
|
|
|
|
namespace WX.CRM.DAL.Base
|
|
{
|
|
public class SEQUENCES_DAL
|
|
{
|
|
|
|
public decimal Seq_base_get(PKIDType ntype = PKIDType.SmallTable, string conn = null)
|
|
{
|
|
if (ConStringHelper.DatabaseType == ConStringHelper.DatabaseTypeNum.SQLSERVER)//SQLServerID是自增的不需要函数返回ID
|
|
{
|
|
using (var db = new Model.EntitySync.Entities())
|
|
{
|
|
var seed = new Model.EntitySync.BASE_SEED();
|
|
db.BASE_SEED.Add(seed);
|
|
db.SaveChanges();
|
|
return seed.PKID;
|
|
}
|
|
}
|
|
return ntype == PKIDType.SmallTable ? Seq_smallid_get(conn) : Seq_largeid_get(conn);
|
|
}
|
|
|
|
decimal Seq_smallid_get(string conn = null)
|
|
{
|
|
OracleParameter[] p = { new OracleParameter("pkid", OracleType.Number) };
|
|
p[0].Direction = ParameterDirection.ReturnValue;
|
|
if (string.IsNullOrEmpty(conn))
|
|
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_BASE.Seq_smallid_get", p);
|
|
else
|
|
OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_BASE.Seq_smallid_get", p);
|
|
return decimal.Parse(p[0].Value.ToString());
|
|
}
|
|
decimal Seq_largeid_get(string conn = null)
|
|
{
|
|
OracleParameter[] p = { new OracleParameter("pkid", OracleType.Number) };
|
|
p[0].Direction = ParameterDirection.ReturnValue;
|
|
if (string.IsNullOrEmpty(conn))
|
|
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_BASE.Seq_largeid_get", p);
|
|
else
|
|
OracleHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "PACK_BASE.Seq_largeid_get", p);
|
|
return decimal.Parse(p[0].Value.ToString());
|
|
}
|
|
|
|
}
|
|
}
|