239 lines
9.2 KiB
C#
239 lines
9.2 KiB
C#
|
using System;
|
||
|
using System.Data;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
using Ease.Core.DataAccess;
|
||
|
using HRM.BO;
|
||
|
|
||
|
namespace HRM.DA
|
||
|
{
|
||
|
#region GL DA
|
||
|
|
||
|
public class GLDA
|
||
|
{
|
||
|
#region Constructor
|
||
|
|
||
|
public GLDA()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Insert function
|
||
|
|
||
|
public static void Insert(TransactionContext tc, GL oItem)
|
||
|
{
|
||
|
tc.ExecuteNonQuery(
|
||
|
"INSERT INTO GL(GLID, GLCode, GLDescription, GLType, GLHeadType, OwnerID, TierNo,PositionNo, LegacyCode, IsActive, CreatedBy, CreateDate, Modifiedby, ModifiedDate)" +
|
||
|
" VALUES(%n, %s, %s, %n, %n, %n,%n ,%n, %s, %n, %n, %d, %n, %d)", oItem.ID, oItem.GLCode,
|
||
|
oItem.GLDescription, oItem.GLType, oItem.GLHeadType, oItem.OwnerID, oItem.TierNo, oItem.PositionNo,
|
||
|
oItem.LegacyCode, oItem.IsActive, oItem.CreatedBy, oItem.CreateDate,
|
||
|
NullHandler.GetNullValue(oItem.Modifiedby), NullHandler.GetNullValue(oItem.ModifiedDate));
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Update function
|
||
|
|
||
|
public static void Update(TransactionContext tc, GL oItem)
|
||
|
{
|
||
|
tc.ExecuteNonQuery(
|
||
|
"UPDATE GL SET GLCode=%s, GLDescription=%s, GLType=%n, GLHeadType=%n, OwnerID=%n, TierNo=%n,PositionNo=%n ,LegacyCode=%s, IsActive=%n, CreatedBy=%n, CreateDate=%d, Modifiedby=%n, ModifiedDate=%d" +
|
||
|
" WHERE GLID=%n", oItem.GLCode, oItem.GLDescription, oItem.GLType, oItem.GLHeadType, oItem.OwnerID,
|
||
|
oItem.TierNo, oItem.PositionNo, NullHandler.GetNullValue(oItem.LegacyCode), oItem.IsActive,
|
||
|
oItem.CreatedBy, oItem.CreateDate, NullHandler.GetNullValue(oItem.Modifiedby),
|
||
|
NullHandler.GetNullValue(oItem.ModifiedDate), oItem.ID);
|
||
|
}
|
||
|
|
||
|
public static void UpdateHeaType(TransactionContext tc, GL gl)
|
||
|
{
|
||
|
tc.ExecuteNonQuery("UPDATE GL SET GLHeadType=%n WHERE GLID=%n", gl.GLHeadType, gl.ID);
|
||
|
}
|
||
|
|
||
|
public static void UpdatePositionNo(TransactionContext tc, int glID, int positionNo)
|
||
|
{
|
||
|
tc.ExecuteNonQuery("UPDATE GL SET PositionNo=%n WHERE GLID=%n", positionNo, glID);
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region ID Generation function
|
||
|
|
||
|
public static int GetNewID(TransactionContext tc)
|
||
|
{
|
||
|
return tc.GenerateID("GL", "GLID");
|
||
|
}
|
||
|
|
||
|
public static int GenerateMaxPositionNo(TransactionContext tc, int nOwnerID)
|
||
|
{
|
||
|
object nMaxID = tc.ExecuteScalar("SELECT MAX(PositionNo) FROM GL Where OwnerID=%n ", nOwnerID);
|
||
|
if (nMaxID == DBNull.Value)
|
||
|
{
|
||
|
nMaxID = 1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
nMaxID = Convert.ToInt32(nMaxID) + 1;
|
||
|
if ((int)nMaxID <= 0)
|
||
|
{
|
||
|
nMaxID = 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return (int)nMaxID;
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Get Function
|
||
|
|
||
|
public static bool IsTranExist(TransactionContext tc, string bottomMostChildKeys)
|
||
|
{
|
||
|
object count = tc.ExecuteScalar("SELECT COUNT(*) FROM GLTranDetail WHERE GLID in (%q)",
|
||
|
bottomMostChildKeys);
|
||
|
if (count == null || count == DBNull.Value || Convert.ToInt32(count) <= 0)
|
||
|
{
|
||
|
object countOpen = tc.ExecuteScalar("SELECT COUNT(*) FROM OpenGLTranDetail WHERE GLID in (%q)",
|
||
|
bottomMostChildKeys);
|
||
|
if (countOpen == null || countOpen == DBNull.Value || Convert.ToInt32(countOpen) <= 0)
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL ORDER BY dbo.GL.GLCode, dbo.GL.PositionNo");
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc, int nGLID)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLID=%n", nGLID);
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc, string code, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLCode=%s AND TierNo=%n", code, tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc, string code)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLCode=%s", code);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetRoot(TransactionContext tc)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE OwnerID IS NULL ");
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetByOwnerID(TransactionContext tc, int nOwnerID)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE OwnerID=%n Order By PositionNo", nOwnerID);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetOwner(TransactionContext tc, int nOwnerID)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE OwnerID=%n Order By PositionNo", nOwnerID);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetByTierNo(TransactionContext tc, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE TierNo=%n ORDER BY GLCode,PositionNo", tierNo);
|
||
|
}
|
||
|
|
||
|
//public static DataSet GetByTierNoDS(TransactionContext tc, int tierNo)
|
||
|
//{
|
||
|
// return tc.ExecuteDataSet("SELECT dbo.GL.GLCode AS [" + SystemConfig.GetGLLevelName(tierNo) + " Code], dbo.GL.GLDescription AS [Description], OwnerGL.GLCode AS [Parent Code] FROM dbo.GL INNER JOIN"
|
||
|
// + " dbo.GL OwnerGL ON dbo.GL.OwnerID = OwnerGL.GLID WHERE dbo.GL.TierNo=%n ORDER BY dbo.GL.GLCode, dbo.GL.PositionNo", tierNo);
|
||
|
//}
|
||
|
//public static DataSet GetByTierNoDSControl(TransactionContext tc, int tierNo)
|
||
|
//{
|
||
|
// return tc.ExecuteDataSet("SELECT dbo.GL.GLCode AS [" + SystemConfig.GetGLLevelName(tierNo) + " Code], dbo.GL.GLDescription AS [Description] FROM dbo.GL WHERE dbo.GL.TierNo=%n ORDER BY dbo.GL.GLCode, dbo.GL.PositionNo", tierNo);
|
||
|
//}
|
||
|
public static DataSet GetByTierNoDS(TransactionContext tc)
|
||
|
{
|
||
|
return tc.ExecuteDataSet(
|
||
|
"SELECT dbo.UserRecord.Field1 AS [Subsidiary Code], dbo.UserRecord.Field2 AS [Subsidiary Name], dbo.GL.GLCode AS [Parent Code] " +
|
||
|
"FROM dbo.GL RIGHT OUTER JOIN " +
|
||
|
"dbo.GLUserObject ON dbo.GL.GLID = dbo.GLUserObject.GLID LEFT OUTER JOIN " +
|
||
|
"dbo.UserRecord LEFT OUTER JOIN " +
|
||
|
"dbo.UserObject ON dbo.UserRecord.UserObjectID = dbo.UserObject.UserObjectID ON dbo.GLUserObject.UserObjectID = dbo.UserObject.UserObjectID");
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc, EnumGLType glType, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLType=%n AND TierNo=%n ORDER BY GLCode,PositionNo", glType,
|
||
|
tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader Get(TransactionContext tc, EnumGLHeadType gLHeadType, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLHeadType=%n AND TierNo=%n ORDER BY GLCode,PositionNo",
|
||
|
gLHeadType, tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetByGLHeadType(TransactionContext tc, EnumGLHeadType gLHeadType)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLHeadType=%n ORDER BY GLCode,GLDescription", gLHeadType);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetBySearch(TransactionContext tc, string sSearch)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL %q ORDER BY GLCode,PositionNo", sSearch);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetByTierNoOrdrByDesc(TransactionContext tc, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE TierNo=%n ORDER BY GLCode,dbo.GL.GLDescription", tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetOrdrByDesc(TransactionContext tc)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL ORDER BY dbo.GL.GLDescription");
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetOrdrByDesc(TransactionContext tc, EnumGLType glType, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLType=%n AND TierNo=%n ORDER BY dbo.GL.GLDescription",
|
||
|
glType, tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetOrdrByDesc(TransactionContext tc, EnumGLHeadType gLHeadType, int tierNo)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL WHERE GLHeadType=%n AND TierNo=%n ORDER BY dbo.GL.GLDescription",
|
||
|
gLHeadType, tierNo);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetBySearchOrdrByDesc(TransactionContext tc, string sSearch)
|
||
|
{
|
||
|
return tc.ExecuteReader("SELECT * FROM GL %q ORDER BY dbo.GL.GLDescription", sSearch);
|
||
|
}
|
||
|
|
||
|
public static IDataReader GetPostingLevelGL(TransactionContext tc, int p)
|
||
|
{
|
||
|
throw new Exception("The method or operation is not implemented.");
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Delete function
|
||
|
|
||
|
public static void Delete(TransactionContext tc, int nGLID)
|
||
|
{
|
||
|
tc.ExecuteNonQuery("DELETE FROM GL WHERE GLID=%n", nGLID);
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
}
|
||
|
|
||
|
#endregion
|
||
|
}
|