Beispiel #1
0
 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));
     }
 }
Beispiel #2
0
        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
            });
        }
Beispiel #3
0
        public ActionResult AddMapLines()
        {
            MapLinesAddModel model = new MapLinesAddModel();

            return(PartialView("_AddMapLines", model));
        }