/// <summary> /// 增加一条数据 /// </summary> public int Add(Osiris.Model.DeviceInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into DeviceInfo("); strSql.Append("DeviceId,Brightness,Temperature,Powerwaste,ViewModel,Switch,Lon,Lat,Creator,Remark)"); strSql.Append(" values ("); strSql.Append("@DeviceId,@Brightness,@Temperature,@Powerwaste,@ViewModel,@Switch,@Lon,@Lat,@Creator,@Remark)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@DeviceId", SqlDbType.VarChar, 20), new SqlParameter("@Brightness", SqlDbType.VarChar, 10), new SqlParameter("@Temperature", SqlDbType.VarChar, 10), new SqlParameter("@Powerwaste", SqlDbType.VarChar, 10), new SqlParameter("@ViewModel", SqlDbType.VarChar, 10), new SqlParameter("@Switch", SqlDbType.VarChar, 10), new SqlParameter("@Lon", SqlDbType.VarChar, 20), new SqlParameter("@Lat", SqlDbType.VarChar, 20), new SqlParameter("@Creator", SqlDbType.VarChar, 20), new SqlParameter("@Remark", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.DeviceId; parameters[1].Value = model.Brightness; parameters[2].Value = model.Temperature; parameters[3].Value = model.Powerwaste; parameters[4].Value = model.ViewModel; parameters[5].Value = model.Switch; parameters[6].Value = model.Lon; parameters[7].Value = model.Lat; parameters[8].Value = model.Creator; parameters[9].Value = model.Remark; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
public Osiris.Model.DeviceInfo GetModel(int id) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 Id,DeviceId,Brightness,Temperature,Powerwaste,ViewModel,Switch,IsLock,Lon,Lat,CreateTime,UpdateTime,Creator,Remark,Gyroscope from DeviceInfo "); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int) }; parameters[0].Value = id; Osiris.Model.DeviceInfo model = new Osiris.Model.DeviceInfo(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
public bool Update(Osiris.Model.DeviceInfo model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Osiris.Model.DeviceInfo model) { return(dal.Add(model)); }
/// <summary> /// 控制设置 /// </summary> /// <param name="value">传的value</param> public HttpResponseMessage ControlDevice([FromBody] RequestUpdateObject obj) { StringBuilder strJson = new StringBuilder(); strJson.Append("{\"code\":200,"); strJson.Append(" \"msg\":\""); if (obj == null) { strJson.Append(" Post请求错误 \","); strJson.Append(" \"payload\":{}"); } else { //第一步,修改deviceinfo Osiris.Model.DeviceInfo model = new Osiris.Model.DeviceInfo(); Osiris.BLL.DeviceInfo bll = new Osiris.BLL.DeviceInfo(); try { model.DeviceId = obj.deviceid; model.Brightness = obj.deviceinfo.lightness; model.Temperature = obj.deviceinfo.temperature; model.Powerwaste = obj.deviceinfo.powerWaste; model.ViewModel = obj.deviceinfo.displayMode; model.Lon = obj.latlng.lng; model.Lat = obj.latlng.lat; model.UpdateTime = DateTime.Now; model.Gyroscope = obj.deviceinfo.gyroscope; bll.Update(model); } catch (Exception ex) { strJson.Append(" 数据更新失败 \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } //第二步,根据坐标计算地区并返回广告 string BaiduAK = System.Configuration.ConfigurationManager.AppSettings["BaiduAK"]; string lng = obj.latlng.lat + "," + obj.latlng.lng; string url = string.Format("http://api.map.baidu.com/geocoder/v2/?output=json&ak={0}&location={1}", BaiduAK, lng); string returnStr = HttpHelper.GetResponseString(HttpHelper.CreateGetHttpResponse(url, null)); JObject jo = (JObject)JsonConvert.DeserializeObject(returnStr); string district = jo["result"]["addressComponent"]["district"].ToString(); if (string.IsNullOrEmpty(district)) { strJson.Append(" 未获取到地区数据,请检查GPS数据! \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } //第三步,根据地区读取广告. Osiris.BLL.DeviceAd bllad = new Osiris.BLL.DeviceAd(); string returnValue; DataSet ds = bllad.GetAdByEareTime(obj.deviceid, district, out returnValue); DataRow dr = null; try { dr = ds.Tables[0].Rows[0]; model = bll.GetModel(obj.deviceid); } catch (Exception ex) { strJson.Append(" 未设置广告 \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } strJson.Append("success\","); strJson.Append(" \"payload\":{\"deviceCmds\":{ "); strJson.Append(string.Format("\"lightness\":\"{0}\",", model.Brightness)); strJson.Append(string.Format("\"on\":\"{0}\",", model.Switch)); strJson.Append(string.Format("\"displayMode\":\"{0}\",", model.ViewModel)); strJson.Append(string.Format("\"lock\":\"{0}\"", model.IsLock)); strJson.Append(" },\"adCmd\":{\"ad\":{ "); strJson.Append(string.Format("\"id\":\"{0}\",", dr[0])); strJson.Append(string.Format("\"type\":\"{0}\",", dr[1])); strJson.Append(string.Format("\"text\":\"{0}\",", dr[2])); strJson.Append(string.Format("\"url\":\"{0}\",", dr[3])); strJson.Append(string.Format("\"thumbUrl\":\"{0}\"", dr[4])); strJson.Append(" },"); strJson.Append(string.Format("\"repeatCount\":\"{0}\",", dr[5])); strJson.Append(string.Format("\"activeStartTime\":{0},", Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[7])))); strJson.Append(string.Format("\"activeEndTime\":{0}", Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[8])))); strJson.Append(" }}"); } strJson.Append("}"); HttpResponseMessage results = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(results); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Osiris.Model.DeviceInfo model) { Osiris.Model.DeviceInfo m = GetModel(model.Id); if (m == null) { return(false); } StringBuilder strSql = new StringBuilder(); strSql.Append("update DeviceInfo set "); strSql.Append("Brightness=@Brightness,"); strSql.Append("Temperature=@Temperature,"); strSql.Append("Powerwaste=@Powerwaste,"); strSql.Append("ViewModel=@ViewModel,"); strSql.Append("Switch=@Switch,"); strSql.Append("IsLock=@IsLock,"); strSql.Append("Lon=@Lon,"); strSql.Append("Lat=@Lat,"); strSql.Append("UpdateTime=@UpdateTime,"); strSql.Append("Remark=@Remark,"); strSql.Append("Gyroscope=@Gyroscope"); strSql.Append(" where DeviceId=@DeviceId"); SqlParameter[] parameters = { new SqlParameter("@DeviceId", SqlDbType.VarChar, 20), new SqlParameter("@Brightness", SqlDbType.VarChar, 10), new SqlParameter("@Temperature", SqlDbType.VarChar, 10), new SqlParameter("@Powerwaste", SqlDbType.VarChar, 10), new SqlParameter("@ViewModel", SqlDbType.VarChar, 10), new SqlParameter("@Switch", SqlDbType.VarChar, 10), new SqlParameter("@IsLock", SqlDbType.Bit, 1), new SqlParameter("@Lon", SqlDbType.VarChar, 20), new SqlParameter("@Lat", SqlDbType.VarChar, 20), new SqlParameter("@UpdateTime", SqlDbType.DateTime), new SqlParameter("@Remark", SqlDbType.NVarChar, 50), new SqlParameter("@Gyroscope", SqlDbType.VarChar, 20) }; parameters[0].Value = model.DeviceId == null ? m.DeviceId : model.DeviceId; parameters[1].Value = model.Brightness == null ? m.Brightness : model.Brightness; parameters[2].Value = model.Temperature == null ? m.Temperature : model.Temperature; parameters[3].Value = model.Powerwaste == null ? m.Powerwaste : model.Powerwaste; parameters[4].Value = model.ViewModel == null ? m.ViewModel : model.ViewModel; parameters[5].Value = model.Switch == null?m.Switch:model.Switch; parameters[6].Value = model.IsLock == false ? m.IsLock : model.IsLock; parameters[7].Value = model.Lon == null ? m.Lon : model.Lon; parameters[8].Value = model.Lat == null ? m.Lat : model.Lat; parameters[9].Value = DateTime.Now; parameters[10].Value = model.Remark == null?(m.Remark == null?"":m.Remark):model.Remark; parameters[11].Value = model.Gyroscope == null ? m.Gyroscope : model.Gyroscope; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Osiris.Model.DeviceInfo DataRowToModel(DataRow row) { Osiris.Model.DeviceInfo model = new Osiris.Model.DeviceInfo(); if (row != null) { if (row["Id"] != null && row["Id"].ToString() != "") { model.Id = int.Parse(row["Id"].ToString()); } if (row["DeviceId"] != null) { model.DeviceId = row["DeviceId"].ToString(); } if (row["Brightness"] != null) { model.Brightness = row["Brightness"].ToString(); } if (row["Temperature"] != null) { model.Temperature = row["Temperature"].ToString(); } if (row["Powerwaste"] != null) { model.Powerwaste = row["Powerwaste"].ToString(); } if (row["ViewModel"] != null) { model.ViewModel = row["ViewModel"].ToString(); } if (row["Switch"] != null) { model.Switch = row["Switch"].ToString(); } if (row["IsLock"] != null && row["IsLock"].ToString() != "") { if ((row["IsLock"].ToString() == "1") || (row["IsLock"].ToString().ToLower() == "true")) { model.IsLock = true; } else { model.IsLock = false; } } if (row["Lon"] != null) { model.Lon = row["Lon"].ToString(); } if (row["Lat"] != null) { model.Lat = row["Lat"].ToString(); } if (row["CreateTime"] != null && row["CreateTime"].ToString() != "") { model.CreateTime = DateTime.Parse(row["CreateTime"].ToString()); } if (row["UpdateTime"] != null && row["UpdateTime"].ToString() != "") { model.UpdateTime = DateTime.Parse(row["UpdateTime"].ToString()); } if (row["Creator"] != null) { model.Creator = row["Creator"].ToString(); } if (row["Remark"] != null) { model.Remark = row["Remark"].ToString(); } if (row["Gyroscope"] != null) { model.Remark = row["Gyroscope"].ToString(); } } return(model); }