public ActionResult AddMapLines(MapLinesAddModel model) { if (ModelState.IsValid) { var result = MapLinesBLL.AddMapLines(model, base.CurrentUserID, base.CurrentStrucID); base.DoLog(OperationTypeEnum.Add, result, "LinesName:" + model.LinesName); return(Json(result)); } else { return(PartialView("_AddMapLines", model)); } }
public static OperationResult AddMapLines(MapLinesAddModel model, int currentUserID, int currentStrucID) { int len = model.MapLinesDetails.Count + 1; string[] sqls = new string[len]; SqlParameter[][] linesParas = new SqlParameter[len][]; int num = 1; #region 主表添加 sqls[0] = @"INSERT INTO dbo.MapLinesList ( LinesType , LinesName , StartTime , EndTime , Status , CreateTime , UpdateTime , CreateUserID, UpdateUserID, StrucID ) VALUES ( @LinesType , @LinesName, @StartTime , @EndTime , @Status, @CreateTime , @UpdateTime, @CreateUserID, @UpdateUserID, @StrucID );SELECT SCOPE_IDENTITY();"; linesParas[0] = new SqlParameter[10]; linesParas[0][0] = new SqlParameter() { ParameterName = "@LinesType", SqlDbType = SqlDbType.Int, Value = 4 }; linesParas[0][1] = new SqlParameter() { ParameterName = "@LinesName", SqlDbType = SqlDbType.NVarChar, Size = 50, Value = model.LinesName }; if (string.IsNullOrEmpty(model.StartTime)) { linesParas[0][2] = new SqlParameter() { ParameterName = "@StartTime", SqlDbType = SqlDbType.DateTime, Value = DBNull.Value }; } else { linesParas[0][2] = new SqlParameter() { ParameterName = "@StartTime", SqlDbType = SqlDbType.DateTime, Value = model.StartTime }; } if (string.IsNullOrEmpty(model.EndTime)) { linesParas[0][3] = new SqlParameter() { ParameterName = "@EndTime", SqlDbType = SqlDbType.DateTime, Value = DBNull.Value }; } else { linesParas[0][3] = new SqlParameter() { ParameterName = "@EndTime", SqlDbType = SqlDbType.DateTime, Value = model.EndTime }; } linesParas[0][4] = new SqlParameter() { ParameterName = "@Status", SqlDbType = SqlDbType.Int, Value = 0 }; linesParas[0][5] = new SqlParameter() { ParameterName = "@CreateTime", SqlDbType = SqlDbType.DateTime, Value = DateTime.Now }; linesParas[0][6] = new SqlParameter() { ParameterName = "@UpdateTime", SqlDbType = SqlDbType.DateTime, Value = DateTime.Now }; linesParas[0][7] = new SqlParameter() { ParameterName = "@CreateUserID", SqlDbType = SqlDbType.Int, Value = currentUserID }; linesParas[0][8] = new SqlParameter() { ParameterName = "@UpdateUserID", SqlDbType = SqlDbType.Int, Value = currentUserID }; linesParas[0][9] = new SqlParameter() { ParameterName = "@StrucID", SqlDbType = SqlDbType.Int, Value = currentStrucID }; #endregion #region 明细表添加 int orderID = 0;//定位点序号 for (int i = 0; i < model.MapLinesDetails.Count; i++) { string tempSql = string.Empty; tempSql = @"INSERT INTO dbo.MapLinesDetails( LinesID, OrderID, Latitude, Longitude, RoadWidth, IsCheckTime, MaxSecond, MinSecond, IsCheckSpeed, SpeedLimit, OverSpeedDuration ) VALUES ( @LinesID,@OrderID,@Latitude,@Longitude,@RoadWidth,@IsCheckTime,@MaxSecond,@MinSecond,@IsCheckSpeed,@SpeedLimit,@OverSpeedDuration)"; sqls[num] = tempSql; linesParas[num] = new SqlParameter[11]; linesParas[num][0] = new SqlParameter { ParameterName = "@LinesID", SqlDbType = SqlDbType.BigInt }; linesParas[num][1] = new SqlParameter() { ParameterName = "@OrderID", SqlDbType = SqlDbType.TinyInt, Value = orderID }; //纠偏 double lat = double.Parse(model.MapLinesDetails[i].Latitude.ToString()); double lng = double.Parse(model.MapLinesDetails[i].Longitude.ToString()); //NetDecry.Fix(ref lng, ref lat, false); Rectify.Gcj02_To_Wgs84(ref lat, ref lng); linesParas[num][2] = new SqlParameter() { ParameterName = "@Latitude", SqlDbType = SqlDbType.Float, Value = lat }; linesParas[num][3] = new SqlParameter() { ParameterName = "@Longitude", SqlDbType = SqlDbType.Float, Value = lng }; if (model.MapLinesDetails[i].RoadWidth == null) { linesParas[num][4] = new SqlParameter() { ParameterName = "@RoadWidth", SqlDbType = SqlDbType.Float, Value = DBNull.Value }; } else { linesParas[num][4] = new SqlParameter() { ParameterName = "@RoadWidth", SqlDbType = SqlDbType.Float, Value = model.MapLinesDetails[i].RoadWidth }; } linesParas[num][5] = new SqlParameter() { ParameterName = "@IsCheckTime", SqlDbType = SqlDbType.Bit, Value = false }; if (model.MapLinesDetails[i].MaxSecond == null) { linesParas[num][6] = new SqlParameter() { ParameterName = "@MaxSecond", SqlDbType = SqlDbType.Int, Value = DBNull.Value }; } else { linesParas[num][6] = new SqlParameter() { ParameterName = "@MaxSecond", SqlDbType = SqlDbType.Int, Value = model.MapLinesDetails[i].MaxSecond }; } if (model.MapLinesDetails[i].MinSecond == null) { linesParas[num][7] = new SqlParameter() { ParameterName = "@MinSecond", SqlDbType = SqlDbType.Float, Value = DBNull.Value }; } else { linesParas[num][7] = new SqlParameter() { ParameterName = "@MinSecond", SqlDbType = SqlDbType.Float, Value = model.MapLinesDetails[i].MinSecond }; } linesParas[num][8] = new SqlParameter() { ParameterName = "@IsCheckSpeed", SqlDbType = SqlDbType.Bit, Value = false }; if (model.MapLinesDetails[i].SpeedLimit == null) { linesParas[num][9] = new SqlParameter() { ParameterName = "@SpeedLimit", SqlDbType = SqlDbType.Float, Value = DBNull.Value }; } else { linesParas[num][9] = new SqlParameter() { ParameterName = "@SpeedLimit", SqlDbType = SqlDbType.Float, Value = model.MapLinesDetails[i].SpeedLimit }; } if (model.MapLinesDetails[i].OverSpeedDuration == null) { linesParas[num][10] = new SqlParameter() { ParameterName = "@OverSpeedDuration", SqlDbType = SqlDbType.Int, Value = DBNull.Value }; } else { linesParas[num][10] = new SqlParameter() { ParameterName = "@OverSpeedDuration", SqlDbType = SqlDbType.Int, Value = model.MapLinesDetails[i].OverSpeedDuration }; } //判断行驶时间选中,限速、最高速度、超速持续时间控件不可用,数据未传递过来 if (model.MapLinesDetails[i].IsCheckTime == true) { linesParas[num][5] = new SqlParameter() { ParameterName = "@IsCheckTime", SqlDbType = SqlDbType.Bit, Value = true }; linesParas[num][6] = new SqlParameter() { ParameterName = "@MaxSecond", SqlDbType = SqlDbType.Int, Value = model.MapLinesDetails[i].MaxSecond }; linesParas[num][7] = new SqlParameter() { ParameterName = "@MinSecond", SqlDbType = SqlDbType.Float, Value = model.MapLinesDetails[i].MinSecond }; linesParas[num][8] = new SqlParameter() { ParameterName = "@IsCheckSpeed", SqlDbType = SqlDbType.Bit, Value = false }; linesParas[num][9] = new SqlParameter() { ParameterName = "@SpeedLimit", SqlDbType = SqlDbType.Float, Value = DBNull.Value }; linesParas[num][10] = new SqlParameter() { ParameterName = "@OverSpeedDuration", SqlDbType = SqlDbType.Int, Value = DBNull.Value }; } //限速选中,判断行驶时间、路段行驶过长、路段行驶不足控件不可用,数据未传递过来 if (model.MapLinesDetails[i].IsCheckSpeed == true) { linesParas[num][5] = new SqlParameter() { ParameterName = "@IsCheckTime", SqlDbType = SqlDbType.Bit, Value = false }; linesParas[num][6] = new SqlParameter() { ParameterName = "@MaxSecond", SqlDbType = SqlDbType.Int, Value = DBNull.Value }; linesParas[num][7] = new SqlParameter() { ParameterName = "@MinSecond", SqlDbType = SqlDbType.Float, Value = DBNull.Value }; linesParas[num][8] = new SqlParameter() { ParameterName = "@IsCheckSpeed", SqlDbType = SqlDbType.Bit, Value = true }; linesParas[num][9] = new SqlParameter() { ParameterName = "@SpeedLimit", SqlDbType = SqlDbType.Float, Value = model.MapLinesDetails[i].SpeedLimit }; linesParas[num][10] = new SqlParameter() { ParameterName = "@OverSpeedDuration", SqlDbType = SqlDbType.Int, Value = model.MapLinesDetails[i].OverSpeedDuration }; } num++; orderID++; } #endregion bool result = MSSQLHelper.ExecuteIdentityIncludeTransaction(CommandType.Text, sqls, linesParas) != 0; return(new OperationResult() { Success = result, Message = result ? PromptInformation.OperationSuccess : PromptInformation.DBError }); }
public ActionResult AddMapLines() { MapLinesAddModel model = new MapLinesAddModel(); return(PartialView("_AddMapLines", model)); }