SGGL_JT/SUBQHSE/BLL/Common/WeatherService.cs

119 lines
4.5 KiB
C#

using Newtonsoft.Json;
using System;
using System.Linq;
namespace BLL
{
/// <summary>
/// 天气记录
/// </summary>
public class WeatherService
{
public static Model.SUBQHSEDB db = Funs.DB;
/// <summary>
/// 根据主键获取SUBQHSEDB
/// </summary>
/// <param name="weatherId"></param>
/// <returns></returns>
public static Model.Weather GetWeatherByDateAndCity(DateTime date, string city)
{
return Funs.DB.Weather.FirstOrDefault(e => e.Date == date && e.City == city);
}
/// <summary>
/// 添加天气
/// </summary>
/// <param name="weather"></param>
public static void AddWeather(Model.Weather weather)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
Model.Weather newWeather = new Model.Weather
{
WeatherId = weather.WeatherId,
City = weather.City,
Date = weather.Date,
WeatherRef = weather.WeatherRef,
CurrTem = weather.CurrTem,
AllTem = weather.AllTem
};
db.Weather.InsertOnSubmit(newWeather);
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除天气
/// </summary>
/// <param name="weatherId"></param>
public static void DeleteWeatherById(string weatherId)
{
Model.SUBQHSEDB db = Funs.DB;
Model.Weather weather = db.Weather.FirstOrDefault(e => e.WeatherId == weatherId);
if (weather != null)
{
db.Weather.DeleteOnSubmit(weather);
db.SubmitChanges();
}
}
/// <summary>
///
/// </summary>
public static Model.Weather GetWeather(string projectId)
{
try
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
Model.Weather getWeather = new Model.Weather();
string appkey = "7416f4dd68c9352e02be31b12f15d74f"; //配置您申请的appkey
var project = ProjectService.GetProjectByProjectId(projectId);
string city = "天津";
if (project != null && !string.IsNullOrEmpty(project.City))
{
city = project.City;
}
if (!string.IsNullOrEmpty(city))
{
getWeather = GetWeatherByDateAndCity(DateTime.Now.Date, city);
if (getWeather == null) //未生成天气记录
{
//string result = BLL.CommonService.CreateGetHttpResponse("http://apis.juhe.cn/simpleWeather/query?city=" + city + "&key=" + appkey);
//var j2 = JsonConvert.DeserializeObject<dynamic>(result);
//if (j2.reason == "查询成功!")
//{
// getWeather = new Model.Weather
// {
// WeatherId = SQLHelper.GetNewID(),
// City = city,
// Date = DateTime.Now.Date,
// WeatherRef = j2.result.realtime.info,
// CurrTem = j2.result.realtime.temperature,
// AllTem = j2.result.future[0].temperature,
// Humidity = j2.result.realtime.humidity,
// Wid = j2.result.realtime.wid,
// Direct = j2.result.realtime.direct,
// Power = j2.result.realtime.power,
// Aqi = j2.result.realtime.aqi,
// ProjectId = projectId,
// };
// db.Weather.InsertOnSubmit(getWeather);
// db.SubmitChanges();
//}
}
}
return getWeather;
}
}
catch (Exception ex)
{
ErrLogInfo.WriteLog("获取天气异常。", ex);
return null;
}
}
}
}