using GraphQL; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BodyshopPartner.Utils.Queries { class JobsQueries { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public static async Task CheckSupplementByClaimNo(string ClmNo) { if (string.IsNullOrEmpty(ClmNo)) return null; var r = new GraphQLRequest { Query = @"query QUERY_JOB_BY_CLM_NO($clm_no: String!) { jobs(where: {clm_no: {_eq: $clm_no}}) { id } }", Variables = new { clm_no = ClmNo } }; try { var d = await Utils.GraphQL.ExecuteQuery(r); return d?.jobs?[0]?.id; } catch (ArgumentOutOfRangeException Ex) { logger.Trace(Ex, "No jobs returned in GQL query."); return null; } catch (Exception Ex) { logger.Error(Ex, "Querying for jobs by clm_no failed."); return null; } } } }