public HttpResponseMessage AddGroupsJinRunXian([FromBody] SensorGroupJinRunXian model) { using (var db = new SecureCloud_Entities()) { try { var group = new T_DIM_GROUP(); group.GROUP_NAME = model.GroupName; group.GROUP_TYPE_ID = 3; var entry = db.Entry(group); entry.State = System.Data.EntityState.Added; var sensorIds = model.SensorList.Select(s => s.SensorId); var sensors = db.T_DIM_SENSOR.Where(s => sensorIds.Contains(s.SENSOR_ID)).ToList(); StringBuilder sb = new StringBuilder(); foreach (var sensor in model.SensorList) { sb.AppendFormat( "位置-{0}_高度-{1};", sensors.Where(s => s.SENSOR_ID == sensor.SensorId) .Select(s => s.SENSOR_LOCATION_DESCRIPTION) .FirstOrDefault(), sensor.Height); var sensorGroupJinRunXian = new T_DIM_SENSOR_GROUP_JINRUNXIAN(); sensorGroupJinRunXian.GROUP_ID = group.GROUP_ID; sensorGroupJinRunXian.SENSOR_ID = sensor.SensorId; sensorGroupJinRunXian.HEIGHT = sensor.Height; var test = db.Entry(sensorGroupJinRunXian); test.State = System.Data.EntityState.Added; } #region 日志 this.Request.Properties["ActionParameter"] = JsonConvert.SerializeObject(model); this.Request.Properties["ActionParameterShow"] = string.Format("组:{0},传感器:{1}", model.GroupName, sb); #endregion db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Accepted, StringHelper.GetMessageString("测斜传感器组新增成功"))); } catch (NullReferenceException e) { return(Request.CreateResponse( HttpStatusCode.BadRequest, StringHelper.GetMessageString("测斜传感器组新增失败:参数无效"))); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("测斜传感器组新增失败"))); } } }
public HttpResponseMessage ModifyGroupJinRunXian([FromUri] int groupId, [FromBody] SensorGroupJinRunXian model) { using (var db = new SecureCloud_Entities()) { try { var group = (from s in db.T_DIM_GROUP where s.GROUP_ID == groupId select s ).FirstOrDefault(); if (group == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("传感器组不存在"))); } var sensorIds = model.SensorList.Select(s => s.SensorId); var sensors = db.T_DIM_SENSOR.Where(s => sensorIds.Contains(s.SENSOR_ID)).ToList(); StringBuilder sb = new StringBuilder(); group.GROUP_NAME = model.GroupName; // 修改前的传感器列表 var sensorExists = from s in db.T_DIM_SENSOR_GROUP_JINRUNXIAN where s.GROUP_ID == groupId select s; // 删除旧的配置 foreach (var sensorExist in sensorExists) { db.T_DIM_SENSOR_GROUP_JINRUNXIAN.Remove(sensorExist); } // 修改后的传感器列表 var sensorModels = model.SensorList; // 插入新的配置 foreach (var sensor in sensorModels) { sb.AppendFormat( "位置-{0}_是否基准点-{1};", sensors.Where(s => s.SENSOR_ID == sensor.SensorId) .Select(s => s.SENSOR_LOCATION_DESCRIPTION) .FirstOrDefault(), sensor.Height); var sensorGroupJinRunXian = new T_DIM_SENSOR_GROUP_JINRUNXIAN(); sensorGroupJinRunXian.GROUP_ID = groupId; sensorGroupJinRunXian.SENSOR_ID = sensor.SensorId; sensorGroupJinRunXian.HEIGHT = sensor.Height; var entry = db.Entry(sensorGroupJinRunXian); entry.State = System.Data.EntityState.Added; } #region 日志 this.Request.Properties["ActionParameter"] = JsonConvert.SerializeObject(model); this.Request.Properties["ActionParameterShow"] = string.Format("组:{0},传感器:{1}", model.GroupName, sb); #endregion db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Accepted, StringHelper.GetMessageString("测斜传感器组修改成功"))); } catch (NullReferenceException e) { return(Request.CreateResponse( HttpStatusCode.BadRequest, StringHelper.GetMessageString("测斜传感器组修改失败:参数无效"))); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("测斜传感器组修改失败"))); } } }