public async Task <PublicHolidayResponse> GetPublicHolidays(int year, string countryCode)
 {
     if (year < 0 || !Helper.IsCountryCodeValid(countryCode.ToUpper()))
     {
         return(GetExceptionPublicHolidayResponse("Invalid Year or Country code, Please pass correct parameters."));
     }
     using (HttpClient client = new HttpClient())
     {
         try
         {
             this.serializerSettings = new DataContractJsonSerializerSettings();
             this.serializerSettings.DateTimeFormat = new System.Runtime.Serialization.DateTimeFormat(DateTimeFormat);
             serializer = new DataContractJsonSerializer(typeof(List <PublicHoliday>), serializerSettings);
             var stream   = client.GetStreamAsync(string.Format(PublicHolidaysAPIUrl, year, countryCode));
             var response = serializer.ReadObject(await stream) as List <PublicHoliday>;
             if (response != null)
             {
                 this.publicHolidayResponse = new PublicHolidayResponse();
                 this.publicHolidayResponse.PublicHolidays   = response;
                 this.publicHolidayResponse.Status           = true;
                 this.publicHolidayResponse.ExceptionMessage = string.Empty;
                 return(this.publicHolidayResponse);
             }
             else
             {
                 return(GetExceptionPublicHolidayResponse("An unexpected Exception happend, Please try again."));
             }
         }
         catch (Exception ex)
         {
             return(GetExceptionPublicHolidayResponse(ex.Message));
         }
     }
 }
        public PublicHolidayClientStub WithResponse(PublicHolidayResponse response)
        {
            _response = response;

            return(this);
        }