using System; using System.Collections.Generic; using System.Data.SqlTypes; using System.Linq; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using PayRollDAL.DTO.PayProduction; using PayRollDAL.Query.PayProduction; namespace PayRollDAL.CustomeCode.PayProduction { public class PayProductionDAL : IPayProductionDAL { private readonly IQueryExecutor _queryExecutor; public PayProductionDAL(IQueryExecutor queryExecutor) { _queryExecutor = queryExecutor; } public async Task SavePayProduction(PayProductionDTO PayProductionDTO, LoginDTO LoginDTO) { try { string Sql1 = PayProductionQB.SAVE_PAY_PRODUCTION; string Sql2 = PayProductionQB.SAVE_PAY_PRODUCTION_DETAIL; List<(string sql, object param)> AllStatements = new List<(string, object)> { (Sql1, PayProductionDTO) }; for (int i = 0; i < PayProductionDTO.PayProductionDetailArray.Count; i++) { AllStatements.Add((Sql2, PayProductionDTO.PayProductionDetailArray[i])); } await _queryExecutor.ExecuteInTransactionAsync(LoginDTO, AllStatements); return $"PayProduction Details saved successfully with id : {PayProductionDTO.PayProductionId}"; } catch (Exception) { throw; } } } }