using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FrameworkDAL.DTO.WebService; using FrameworkDAL.Query.Address; using FrameworkDAL.Query.WebService; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using Newtonsoft.Json; namespace FrameworkDAL.CustomCode.WebService { public class WebServiceDAL : IWebServiceDAL { private readonly IQueryExecutor _queryExecutor; public WebServiceDAL(IQueryExecutor IQueryExecutor) { _queryExecutor = IQueryExecutor; } public async Task GetWebService(int WebServiceId, LoginDTO LoginDTO) { string Json = ""; try { string sql = WebServiceQB.GET_WEB_SERVICE; var parameters = new { webserviceId = WebServiceId }; IEnumerable WebServiceDTOs = await _queryExecutor.QueryAsync(LoginDTO, sql, parameters); Json = JsonConvert.SerializeObject(WebServiceDTOs); return Json; } catch (Exception) { throw; } finally { Json = null; } } public async Task GetSelectListWebService(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO) { try { string SQL = WebServiceQB.GET_SELECTLIST_WEBSERVICE; var Result = await _queryExecutor.QueryAsync(LoginDTO, SQL, null!); string Json = JsonConvert.SerializeObject(Result); return Json; } catch (Exception) { throw; } } public async Task GetWebServiceIdByEntityAndMethod(int EntityId, byte MethodType, LoginDTO LoginDTO) { try { var parameter = new { EntityId, MethodType }; return await _queryExecutor.ExecuteScalarAsync( LoginDTO, WebServiceQB.GET_WEBSERVICEID_BY_ENTITY_AND_METHOD, parameter); } catch (Exception) { throw; } } } }