public void AllLocationTemperaturesCsv() { string csvFileName = $"Temperatures-{DateTime.Now.ToString("MMddyyyy")}.csv"; DataSet temperatureDataset = ClassFunctions.GetAllTemperatures(); List <Temperature> temperatureList = new List <Temperature>(); for (int i = 0; i < temperatureDataset.Tables[0].Rows.Count; i++) { DataRow dataRow = temperatureDataset.Tables[0].Rows[i]; Temperature t = new Temperature(); t.Id = Convert.ToInt32(dataRow["TempID"]); t.Timestamp = Convert.ToDateTime(dataRow["Timestamp"]); t.Celsius = Convert.IsDBNull(dataRow["TempC"]) ? double.NaN : Convert.ToDouble(dataRow["TempC"]); t.Fahrenheit = Convert.IsDBNull(dataRow["TempC"]) ? double.NaN : Convert.ToDouble(dataRow["TempF"]); t.Location = Convert.ToString(dataRow["SensorName"]); temperatureList.Add(t); } byte[] allTempDataBytes = DataProcessor.CreateCsvAsBytes(temperatureList); Context.Response.Clear(); Context.Response.ContentType = "application/force-download"; Context.Response.AddHeader("content-disposition", "attachment; filename=" + csvFileName); Context.Response.BinaryWrite(allTempDataBytes); Context.Response.End(); }