Пример #1
0
        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("测斜传感器组新增失败")));
                }
            }
        }
Пример #2
0
        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("测斜传感器组修改失败")));
                }
            }
        }