| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- using economy.Helpers;
- namespace economy.Models.Days
- {
- public class DaysModel
- {
- private readonly DataGoKR _dataGoKR;
- public DaysModel(DataGoKR dataGoKR)
- {
- _dataGoKR = dataGoKR;
- }
- // 기념일 조회
- public async Task<Anniversary.Response> GetAnniversary(Anniversary.Request request)
- {
- Anniversary.Response parseData = new();
- try
- {
- var uriBuilder = new UriBuilder(_dataGoKR.APIUrl)
- {
- Path = "/B090041/openapi/service/SpcdeInfoService/getAnniversaryInfo",
- Query = $"ServiceKey={_dataGoKR.APIKey}&numOfRows=100&solYear={request.Year}"
- };
- var response = await _dataGoKR.httpClient.GetAsync(uriBuilder.Uri);
- if (response.IsSuccessStatusCode)
- {
- var xmlString = await response.Content.ReadAsStringAsync();
- parseData = await Common.ParseXmlDataAsync<Anniversary.Response>(xmlString);
- if (parseData.Body is null)
- {
- return new Anniversary.Response();
- }
- }
- response.EnsureSuccessStatusCode();
- }
- catch (HttpRequestException e)
- {
- Console.WriteLine($"Request error: {e.Message}");
- }
- return parseData;
- }
- // 국경일 조회
- public async Task<Holiday.Response> GetHoliday(Holiday.Request request)
- {
- Holiday.Response parseData = new();
- try
- {
- var uriBuilder = new UriBuilder(_dataGoKR.APIUrl)
- {
- Path = "/B090041/openapi/service/SpcdeInfoService/getHoliDeInfo",
- Query = $"ServiceKey={_dataGoKR.APIKey}&numOfRows=100&solYear={request.Year}"
- };
- var response = await _dataGoKR.httpClient.GetAsync(uriBuilder.Uri);
- if (response.IsSuccessStatusCode)
- {
- var xmlString = await response.Content.ReadAsStringAsync();
- parseData = await Common.ParseXmlDataAsync<Holiday.Response>(xmlString);
- if (parseData.Body is null)
- {
- return new Holiday.Response();
- }
- }
- response.EnsureSuccessStatusCode();
- }
- catch (HttpRequestException e)
- {
- Console.WriteLine($"Request error: {e.Message}");
- }
- return parseData;
- }
- // 기념일 조회
- public async Task<Seasonal.Response> GetSeasonal(Seasonal.Request request)
- {
- Seasonal.Response parseData = new();
- try
- {
- var uriBuilder = new UriBuilder(_dataGoKR.APIUrl)
- {
- Path = "/B090041/openapi/service/SpcdeInfoService/get24DivisionsInfo",
- Query = $"ServiceKey={_dataGoKR.APIKey}&numOfRows=100&solYear={request.Year}"
- };
- var response = await _dataGoKR.httpClient.GetAsync(uriBuilder.Uri);
- if (response.IsSuccessStatusCode)
- {
- var xmlString = await response.Content.ReadAsStringAsync();
- parseData = await Common.ParseXmlDataAsync<Seasonal.Response>(xmlString);
- if (parseData.Body is null)
- {
- return new Seasonal.Response();
- }
- }
- response.EnsureSuccessStatusCode();
- }
- catch (HttpRequestException e)
- {
- Console.WriteLine($"Request error: {e.Message}");
- }
- return parseData;
- }
- // 잡절 조회
- public async Task<Sundry.Response> GetSundry(Sundry.Request request)
- {
- Sundry.Response parseData = new();
- try
- {
- var uriBuilder = new UriBuilder(_dataGoKR.APIUrl)
- {
- Path = "/B090041/openapi/service/SpcdeInfoService/getSundryDayInfo",
- Query = $"ServiceKey={_dataGoKR.APIKey}&numOfRows=100&solYear={request.Year}"
- };
- var response = await _dataGoKR.httpClient.GetAsync(uriBuilder.Uri);
- if (response.IsSuccessStatusCode)
- {
- var xmlString = await response.Content.ReadAsStringAsync();
- parseData = await Common.ParseXmlDataAsync<Sundry.Response>(xmlString);
- if (parseData.Body is null)
- {
- return new Sundry.Response();
- }
- }
- response.EnsureSuccessStatusCode();
- }
- catch (HttpRequestException e)
- {
- Console.WriteLine($"Request error: {e.Message}");
- }
- return parseData;
- }
- }
- }
|