using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using AdminDAL.DTO.DataAlertSummary; using AdminDAL.Query.DataAlertSummary; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using GB5Shared.Validation; using Newtonsoft.Json; namespace AdminDAL.CustomCode.DataAlertSummary { public class DataAlertSummaryDAL : IDataAlertSummaryDAL { private readonly IQueryExecutor _QueryExecutor; private readonly IValidation _Validation; public DataAlertSummaryDAL(IQueryExecutor QueryExecutor, IValidation IValidation) { _QueryExecutor = QueryExecutor; _Validation = IValidation; } public async Task GetDataAlertSummaryList(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false) { try { string Json = ""; if (IsCount == false) { string SQL = DataAlertSummaryQB.GET_DATAALERTSUMMARYLIST; var parameter = new { firstnumber = FirstNumber, maxresult = MaxResult, ouid = LoginDTO.WorkOUId }; List DataAlertSummaryDTO = (await _QueryExecutor.QueryAsync(LoginDTO, SQL, parameter)).ToList(); Json = JsonConvert.SerializeObject(DataAlertSummaryDTO); } else { //int Count = 0; //Json = Count.ToString(); string SQL = DataAlertSummaryQB.GET_DATAALERTSUMMARYLIST_COUNT; var parameter = new { ouid = LoginDTO.WorkOUId }; List DataAlertSummaryDTO = (await _QueryExecutor.QueryAsync(LoginDTO, SQL, parameter)).ToList(); Json = JsonConvert.SerializeObject(DataAlertSummaryDTO); } return Json; } catch (Exception) { throw; } } public async Task GetDataAlertSummaryDetail(int DataAlertId, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false) { try { string Json = ""; string SQL = DataAlertSummaryQB.GET_DATAALERT_ID; var parameter = new { dataalertid = DataAlertId }; string? Expression = (await _QueryExecutor.QueryAsync(LoginDTO, SQL, parameter)).FirstOrDefault(); if (string.IsNullOrWhiteSpace(Expression)) { return string.Empty; } var result = await _QueryExecutor.QueryAsync( LoginDTO, Expression, null!); Json = JsonConvert.SerializeObject(result); return Json; } catch (Exception) { throw; } } } }