public ActionResult AddTemperatureAlarmRule(TemperatureAlarmRuleAddModel model) { if (ModelState.IsValid) { model.CreateUserID = base.UserIDForLog; var result = TemperatureAlarmRuleBLL.AddTemperatureAlarmRule(model); base.DoLog(OperationTypeEnum.Add, result, "Name:" + model.Name); return(Json(result)); } else { return(PartialView("_AddTemperatureAlarmRule", model)); } }
public ActionResult AddTemperatureAlarmRule() { var model = new TemperatureAlarmRuleAddModel(); model.StartTime = "00:00:00"; model.EndTime = "23:59:59"; //得到温度传感器 var list = TemperatureAlarmRuleBLL.GetTemperatureSensors(); model.TemperatureAlarmRuleDetails = new List <TemperatureAlarmRuleDetailModel>(list.Count); list.ForEach(item => { model.TemperatureAlarmRuleDetails.Add(new TemperatureAlarmRuleDetailModel() { SensorCode = item.SensorCode, SensorName = item.SensorName }); }); return(PartialView("_AddTemperatureAlarmRule", model)); }
// public static OperationResult AddTemperatureAlarmRule(TemperatureAlarmRuleAddModel model) // { // //规则基础数据1+时段数据1+明细数据n // int count = 2 + model.TemperatureAlarmRuleDetails.Count; // string[] sqls = new string[count]; // SqlParameter[][] paras = new SqlParameter[count][]; // #region 新增温度报警规则 // sqls[0] = @"INSERT INTO dbo.TemperatureAlarmRules // ( Name , // AffiliatedStrucID , // CreateUserID, // Description // ) //VALUES ( @Name , -- Name - nvarchar(50) // @AffiliatedStrucID , -- AffiliatedStrucID - int // @CreateUserID ,-- CreateUserID - int // @Description // );SELECT SCOPE_IDENTITY();"; // paras[0] = new SqlParameter[4]; // paras[0][0] = new SqlParameter() // { // ParameterName = "@Name", // SqlDbType = SqlDbType.NVarChar, // Value = model.Name // }; // paras[0][1] = new SqlParameter() // { // ParameterName = "@AffiliatedStrucID", // SqlDbType = SqlDbType.Int, // Value = model.AffiliatedStrucID // }; // paras[0][2] = new SqlParameter() // { // ParameterName = "@CreateUserID", // SqlDbType = SqlDbType.Int, // Value = model.CreateUserID // }; // if (string.IsNullOrWhiteSpace(model.Description)) // { // paras[0][3].Value = DBNull.Value; // } // else // { // paras[0][3].Value = model.Description; // } // #endregion // #region 新增报警规则时段数据 // sqls[1] = @"INSERT INTO dbo.TemperatureAlarmRuleTimePeriods // ( TemperatureAlarmRuleID , // StartTime , // EndTime // ) //VALUES ( @TemperatureAlarmRuleID , -- TemperatureAlarmRuleID - int // @StartTime , -- StartTime - time // @EndTime -- EndTime - time // ) "; // paras[1] = new SqlParameter[3]; // paras[0][0] = new SqlParameter() // { // ParameterName = "@TemperatureAlarmRuleID", // SqlDbType = SqlDbType.Int, // }; // paras[0][1] = new SqlParameter() // { // ParameterName = "@StartTime", // SqlDbType = SqlDbType.Time, // Value = model.StartTime // }; // paras[0][2] = new SqlParameter() // { // ParameterName = "@EndTime", // SqlDbType = SqlDbType.Time, // Value = model.EndTime // }; // #endregion // #region 新增报警规则的明细 // for (int i = 0; i < model.TemperatureAlarmRuleDetails.Count; i++) // { // var item = model.TemperatureAlarmRuleDetails[i]; // int index = i + 2;//开始是第三条语句 // sqls[index] = @"INSERT INTO dbo.TemperatureAlarmRuleDetails // ( TemperatureAlarmRuleID , // SensorCode , // InstallationPosition , // LowestTemperature , // HighestTemperature // ) //VALUES ( @TemperatureAlarmRuleID , -- TemperatureAlarmRuleID - int // @SensorCode , -- SensorCode - int // @InstallationPosition, -- InstallationPosition - nvarchar(50) // @LowestTemperature , -- LowestTemperature - float // @HighestTemperature -- HighestTemperature - float // )"; // paras[index] = new SqlParameter[5]; // paras[index][0] = new SqlParameter { ParameterName = "@TemperatureAlarmRuleID", SqlDbType = SqlDbType.Int }; // paras[index][1] = new SqlParameter() // { // ParameterName = "@SensorCode", // SqlDbType = SqlDbType.Int, // Value = item.SensorCode // }; // paras[index][2] = new SqlParameter() // { // ParameterName = "@InstallationPosition", // SqlDbType = SqlDbType.NVarChar, // Value = item.InstallationPosition // }; // paras[index][3] = new SqlParameter() // { // ParameterName = "@LowestTemperature", // SqlDbType = SqlDbType.Float, // Value = item.LowestTemperature // }; // paras[index][4] = new SqlParameter() // { // ParameterName = "@HighestTemperature", // SqlDbType = SqlDbType.Float, // Value = item.HighestTemperature // }; // } // #endregion // bool result = MSSQLHelper.ExecuteIdentityIncludeTransaction(CommandType.Text, sqls, paras) != 0; // return new OperationResult() // { // Success = result, // Message = result ? PromptInformation.OperationSuccess : PromptInformation.DBError // }; // } public static OperationResult AddTemperatureAlarmRule(TemperatureAlarmRuleAddModel model) { //获取有效的报警配置详细数据,安装位置为空的表示没设置 var effectiveDetails = (from item in model.TemperatureAlarmRuleDetails where !string.IsNullOrWhiteSpace(item.InstallationPosition) select item).ToList(); //规则基础数据1+时段数据1+有效明细数据n int count = 2 + effectiveDetails.Count; string[] sqls = new string[count]; SqlParameter[][] paras = new SqlParameter[count][]; #region 新增温度报警规则 sqls[0] = @"INSERT INTO dbo.TemperatureAlarmRules ( Name , AffiliatedStrucID , CreateUserID, Description ) VALUES ( @Name , @AffiliatedStrucID , @CreateUserID , @Description );SELECT SCOPE_IDENTITY();"; paras[0] = new SqlParameter[4]; paras[0][0] = new SqlParameter() { ParameterName = "@Name", SqlDbType = SqlDbType.NVarChar, Value = model.Name.Trim() }; paras[0][1] = new SqlParameter() { ParameterName = "@AffiliatedStrucID", SqlDbType = SqlDbType.Int, Value = model.AffiliatedStrucID }; paras[0][2] = new SqlParameter() { ParameterName = "@CreateUserID", SqlDbType = SqlDbType.Int, Value = model.CreateUserID }; paras[0][3] = new SqlParameter() { ParameterName = "@Description", SqlDbType = SqlDbType.NVarChar, Value = string.IsNullOrWhiteSpace(model.Description) ? (object)DBNull.Value : model.Description }; #endregion #region 新增报警规则时段数据 sqls[1] = @"INSERT INTO dbo.TemperatureAlarmRuleTimePeriods ( TemperatureAlarmRuleID , StartTime , EndTime ) VALUES ( @TemperatureAlarmRuleID , -- TemperatureAlarmRuleID - int @StartTime , -- StartTime - time @EndTime -- EndTime - time ) "; paras[1] = new SqlParameter[3]; paras[1][0] = new SqlParameter() { ParameterName = "@TemperatureAlarmRuleID", SqlDbType = SqlDbType.Int, }; paras[1][1] = new SqlParameter() { ParameterName = "@StartTime", SqlDbType = SqlDbType.Time, Value = model.StartTime }; paras[1][2] = new SqlParameter() { ParameterName = "@EndTime", SqlDbType = SqlDbType.Time, Value = model.EndTime }; #endregion #region 新增报警规则的明细 for (int i = 0; i < effectiveDetails.Count; i++) { var item = effectiveDetails[i]; int index = i + 2;//开始是第三条语句 sqls[index] = @"INSERT INTO dbo.TemperatureAlarmRuleDetails ( TemperatureAlarmRuleID , SensorCode , InstallationPosition , LowestTemperature , HighestTemperature, Enabled ) VALUES ( @TemperatureAlarmRuleID , -- TemperatureAlarmRuleID - int @SensorCode , -- SensorCode - int @InstallationPosition, -- InstallationPosition - nvarchar(50) @LowestTemperature , -- LowestTemperature - float @HighestTemperature, -- HighestTemperature - float @Enabled )"; paras[index] = new SqlParameter[6]; paras[index][0] = new SqlParameter { ParameterName = "@TemperatureAlarmRuleID", SqlDbType = SqlDbType.Int }; paras[index][1] = new SqlParameter() { ParameterName = "@SensorCode", SqlDbType = SqlDbType.Int, Value = item.SensorCode }; paras[index][2] = new SqlParameter() { ParameterName = "@InstallationPosition", SqlDbType = SqlDbType.NVarChar, Value = item.InstallationPosition.Trim() }; paras[index][3] = new SqlParameter() { ParameterName = "@LowestTemperature", SqlDbType = SqlDbType.Float, Value = item.LowestTemperature }; paras[index][4] = new SqlParameter() { ParameterName = "@HighestTemperature", SqlDbType = SqlDbType.Float, Value = item.HighestTemperature }; paras[index][5] = new SqlParameter() { ParameterName = "@Enabled", SqlDbType = SqlDbType.Bit, Value = item.Enabled }; } #endregion bool result = MSSQLHelper.ExecuteIdentityIncludeTransaction(CommandType.Text, sqls, paras) != 0; return(new OperationResult() { Success = result, Message = result ? PromptInformation.OperationSuccess : PromptInformation.DBError }); }