2024-10-14 10:01:49 +06:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using HRM.BO ;
using Ease.Core.DataAccess ;
using System.Data ;
namespace HRM.DA
{
class DataPermissionDA
{
#region Constructor
private DataPermissionDA ( )
{
}
#endregion
#region Insert function
internal static void Insert ( TransactionContext tc , DataPermission item )
{
tc . ExecuteNonQuery (
"INSERT INTO DataPermission(UserID, PayrollTypeID, PermissionType, ReferenceID, CreatedBy, CreatedDate, PermissionStatus)" +
" VALUES(%n, %n, %n, %n, %n, %D, %n)" , item . UserID , item . PayrollTypeID , item . PermissionType ,
item . ReferenceID , item . CreatedBy , item . CreatedDate , item . PermissionStatus ) ;
}
#endregion
#region Update function
internal static void Update ( TransactionContext tc , DataPermission item )
{
//tc.ExecuteNonQuery(
// "UPDATE Religion SET code=%s, name=%s, ModifiedBy=%n, ModifiedDate=%d, SequenceNo=%n, Status=%n, nameinbangla=%u" +
// " WHERE ReligionID=%n", item.Code, item.Name, DataReader.GetNullValue(item.ModifiedBy),
// DataReader.GetNullValue(item.ModifiedDate), item.Sequence, item.Status, item.NameInBangla, item.ID);
}
#endregion
#region Get Function
2026-01-15 14:17:51 +06:00
#region GetUsersByUserType
2024-10-14 10:01:49 +06:00
internal static IDataReader GetUsersByUserType ( TransactionContext tc , EnumUserType type )
{
return tc . ExecuteReader ( "SELECT * FROM Users where UserType = %n" , type ) ;
}
internal static bool hasPermissoin ( TransactionContext tc , int userid , int payrolltypeid )
{
var datam = tc . ExecuteScalar ( "SELECT count(*) FROM DataPermission where UserID = %n and PayrollTypeID=%n" , userid , payrolltypeid ) ;
if ( datam = = DBNull . Value )
{
return false ;
}
else
{
if ( Convert . ToInt32 ( datam ) = = 0 )
return false ;
else return true ;
}
}
#endregion
2026-01-15 14:17:51 +06:00
2024-10-14 10:01:49 +06:00
internal static void InsertDataPermission ( TransactionContext tc , DataPermission item )
{
item . CreatedDate = DateTime . Now ;
string sql = SQLParser . MakeSQL ( @ "INSERT INTO DataPermission(UserID, PayrollTypeID, PermissionType, ReferenceID, CreatedBy, CreatedDate, PermissionStatus)
VALUES ( % n , % n , % n , % n , % n , % d , % n ) ", item.UserID, item.PayrollTypeID, item.PermissionType, item.ReferenceID, item.CreatedBy, item.CreatedDate, item.PermissionStatus );
tc . ExecuteNonQuery ( sql ) ;
}
internal static IDataReader GetDataPermission ( TransactionContext tc )
{
return tc . ExecuteReader ( "SELECT * FROM DataPermission" ) ;
}
internal static IDataReader Get ( TransactionContext tc , int userid , int payrolltypeid )
{
return tc . ExecuteReader ( @ "select d.*, c.DESCRIPTION referenceName from DataPermission d, CATEGORY c where PermissionType =1
and d . ReferenceID = c . CATEGORYID and d . userid = % n and d . payrolltypeid = % n
union
select d . * , g . DESCRIPTION referenceName from DataPermission d , GRADES g where PermissionType = 2
and d . ReferenceID = g . GRADEID and d . userid = % n and d . payrolltypeid = % n
union
select d . * , dd . DESCRIPTION referenceName from DataPermission d , DEPARTMENT dd where PermissionType = 3
and d . ReferenceID = dd . DEPARTMENTID and d . userid = % n and d . payrolltypeid = % n
union
select d . * , l . DESCRIPTION referenceName from DataPermission d , LOCATION l where PermissionType = 4
and d . ReferenceID = l . LOCATIONID and d . userid = % n and d . payrolltypeid = % n ", userid, payrolltypeid,
userid , payrolltypeid , userid , payrolltypeid , userid , payrolltypeid ) ;
}
2026-01-15 14:17:51 +06:00
internal static bool PermissionAlreadyExsits ( TransactionContext tc , DataPermission item )
{
bool Exist = false ;
string sql = SQLParser . MakeSQL ( "SELECT COUNT(*) FROM DATAPERMISSION WHERE USERID=%n AND REFERENCEID=%n AND PERMISSIONTYPE=%n AND PAYROLLTYPEID=%n" , item . UserID , item . ReferenceID , item . PermissionType , item . PayrollTypeID ) ;
Object obj =
tc . ExecuteScalar ( sql ) ;
Exist = Convert . ToInt32 ( obj ) > 0 ? true : false ;
return Exist ;
}
2024-10-14 10:01:49 +06:00
#endregion
#region Delete function
internal static void Delete ( TransactionContext tc , int id )
{
tc . ExecuteNonQuery ( "DELETE FROM DataPermission WHERE DataPermissionID=%n" , id ) ;
}
#endregion
}
}