using HRM.BO;
using Ease.Core.DataAccess;
using System;
using System.Data;


namespace HRM.DA
{
    public class BoardMemberDA
    {
        internal static void Insert(BoardMember obBm, TransactionContext tc)
        {
            string sql = SQLParser.MakeSQL(@"Insert Into RECRUITEMENTBOARDMEMBER(BoardMemberID,EmployeeId,
                         StepId,ProcessId, InerviewSessionID, MarkEntryStatus) 
                         Values(%n,%n,%n,%n, %n, %n)", obBm.ID, obBm.EmployeeId, obBm.StepId, 
                         obBm.ProcessId, obBm.InterveiwSessionID, obBm.markEntryStatus);
            tc.ExecuteNonQuery(sql);
        }

        internal static void Delete(int oID, int recrStepId, TransactionContext tc)
        {
            string sql = SQLParser.MakeSQL(@"Delete From RECRUITEMENTBOARDMEMBER Where ProcessId = %n And StepId = %n",
                oID, recrStepId);
            tc.ExecuteNonQuery(sql);
        }

        internal static void Update(BoardMember obBm, TransactionContext tc)
        {
            string sql = SQLParser.MakeSQL(
                @"Update RECRUITEMENTBOARDMEMBER Set  
                        MarkEntryStatus=%n  Where EmployeeId = %n and StepId = %n and ProcessId = %n",
                obBm.markEntryStatus, obBm.EmployeeId, obBm.StepId, obBm.ProcessId);
            tc.ExecuteNonQuery(sql);
        }

        internal static IDataReader Get(TransactionContext tc, int processID, int stepID)
        {
            string sql =
                SQLParser.MakeSQL(@"Select * From RECRUITEMENTBOARDMEMBER Where ProcessId = %n And StepId = %n",
                    processID, stepID);
            return tc.ExecuteReader(sql);
        }

        internal static IDataReader Get(TransactionContext tc, int inteveiwSessionID)
        {
            string sql =
                SQLParser.MakeSQL(@"Select * From RECRUITEMENTBOARDMEMBER Where InerviewSessionID = %n ",
                    inteveiwSessionID);
            return tc.ExecuteReader(sql);
        }

        internal static void Delete(int stepID, TransactionContext tc)
        {
            string sql = SQLParser.MakeSQL(@"Delete From RECRUITEMENTBOARDMEMBER Where StepId = %n", stepID);
            tc.ExecuteNonQuery(sql);
        }

        internal static void Delete(int processID, int stepID, int employeeID, TransactionContext tc)
        {
            string sql =
                SQLParser.MakeSQL(
                    @"Delete From RECRUITEMENTBOARDMEMBER Where ProcessId = %n And StepId = %n And EmployeeId = %n",
                    processID, stepID, employeeID);
            tc.ExecuteNonQuery(sql);
        }
    }
}