public static string GetWeatherData(string zipcode, DateTime date) { Weather_NearestStore_ServiceRef.OmniWSDLServiceInterfaceClient servClient = new Weather_NearestStore_ServiceRef.OmniWSDLServiceInterfaceClient(); string response = servClient.GetFutureWeatherData(zipcode, date); JavaScriptSerializer serializer = new JavaScriptSerializer(); Entity.WeatherDataResponse weathDatResp = serializer.Deserialize <Entity.WeatherDataResponse>(response); string htmlResp = ConvertWeatherRespToHTML(weathDatResp); return(htmlResp); }
private static string ConvertWeatherRespToHTML(Entity.WeatherDataResponse weathDatResp) { StringWriter stringWriter = new StringWriter(); HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter); htmlWriter.RenderBeginTag(HtmlTextWriterTag.H1); htmlWriter.Write("Weather Forecast"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Border, "1"); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Table); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tbody); foreach (Entity.WeatherDataResponseDatum data in weathDatResp.daily.data) { htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Rowspan, "6"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(FromUnixTime(data.time)); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("Summary"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(data.summary); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("Temperature"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(((data.temperatureMin + data.temperatureMax) / 2)); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("Humidity"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(data.humidity); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("Windspeed"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(data.windSpeed); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("Visibility"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(data.visibility); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Tr); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write("UV Index"); htmlWriter.RenderEndTag(); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Align, "center"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Td); htmlWriter.Write(data.uvIndex); htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); } htmlWriter.RenderEndTag(); htmlWriter.RenderEndTag(); return(htmlWriter.InnerWriter.ToString()); }