Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="layerInfo"></param>
        public static void UpdateUserLayerMetadata(UserDbLayerInfo layerInfo)
        {
            if (string.IsNullOrEmpty(layerInfo.m_Name) || layerInfo.m_Id == Guid.Empty)
            {
                throw new ArgumentException(Resources.gis_UserDbLayersManager_UpdateUserLayerMetadataException);
            }

            using (var conn = new SqlConnection(ConnectionString))
            {
                conn.Open();

                var style = (layerInfo.m_Style == null) ? (Object)DBNull.Value : StyleSerializer.SerializeAsDocument(layerInfo.m_Style).InnerXml;
                var theme = (layerInfo.m_Theme == null) ? (Object)DBNull.Value : ThemeSerializer.SerializeAsDocument(layerInfo.m_Theme).InnerXml;

                using (var updCommand = new SqlCommand("spGisUpdateUserLayerMetadata", conn))
                {
                    updCommand.CommandType = CommandType.StoredProcedure;

                    updCommand.Parameters.AddWithValue("@LAYERID", layerInfo.m_Id);
                    updCommand.Parameters.AddWithValue("@Name", layerInfo.m_Name);
                    updCommand.Parameters.AddWithValue("@STYLE", style);
                    updCommand.Parameters.AddWithValue("@THEME", theme);
                    updCommand.Parameters.AddWithValue("@DESC", string.IsNullOrEmpty(layerInfo.m_Description) ? DBNull.Value : (object)layerInfo.m_Description);

                    updCommand.ExecuteNonQuery();
                }

                conn.Close();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Insert new user layer metadata
        /// </summary>
        /// <param name="newLayerInfo">LayerInfo. REQUERED: Id, name, UserID, LayerType</param>
        /// <param name="conn"> </param>
        /// <param name="trans">Transaction</param>
        public static void InsertUserLayerMetadata(UserDbLayerInfo newLayerInfo, SqlConnection conn, SqlTransaction trans = null)
        {
            if (string.IsNullOrEmpty(newLayerInfo.m_Name))
            {
                throw new ArgumentException(Resources.gis_UserDbLayersManager_InsertUserLayerMetadataException);
            }



            var style = (newLayerInfo.m_Style == null)?string.Empty:StyleSerializer.SerializeAsDocument(newLayerInfo.m_Style).InnerXml;
            var theme = (newLayerInfo.m_Theme == null) ? string.Empty : ThemeSerializer.SerializeAsDocument(newLayerInfo.m_Theme).InnerXml;

            //TODO[enikulin]: make with SqlHelper
            using (var addCommand = new SqlCommand("spGisInsertUserLayerMetadata", conn, trans))
            {
                addCommand.CommandType = CommandType.StoredProcedure;

                addCommand.Parameters.AddWithValue("@ID", newLayerInfo.m_Id);
                addCommand.Parameters.AddWithValue("@Name", newLayerInfo.m_Name);
                addCommand.Parameters.AddWithValue("@UserID", newLayerInfo.m_UserId);
                addCommand.Parameters.AddWithValue("@LayerType", (int)newLayerInfo.m_LayerType);
                addCommand.Parameters.AddWithValue("@STYLE", style);
                addCommand.Parameters.AddWithValue("@THEME", theme);
                addCommand.Parameters.AddWithValue("@DESC", string.IsNullOrEmpty(newLayerInfo.m_Description) ? DBNull.Value : (object)newLayerInfo.m_Description);
                addCommand.Parameters.AddWithValue("@PIVOTALLAYER", newLayerInfo.m_PivotalLayer);

                addCommand.ExecuteNonQuery();
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Insert new user layer metadata
 /// </summary>
 /// <param name="newLayerInfo">LayerInfo. REQUERED: Id, name, UserID, LayerType</param>
 public static void InsertUserLayerMetadata(UserDbLayerInfo newLayerInfo)
 {
     using (var conn = new SqlConnection(ConnectionString))
     {
         conn.Open();
         InsertUserLayerMetadata(newLayerInfo, conn);
         conn.Close();
     }
 }
Esempio n. 4
0
        public static EidssUserDbLayer GetUserLayer(Guid layerId)
        {
            UserDbLayerInfo info = GetLayerMetadata(layerId);

            switch (info.m_LayerType)
            {
            case UserDbLayerType.BuffZones:
                return(new EidssUserBufZoneLayer(info.m_Id, info.m_Name));

            default:
                throw new NotImplementedException();
            }
        }
Esempio n. 5
0
        //BufferZoneColumns

        public static EidssUserBufZoneLayer CreateBufZoneLayer(string name, string desc, PivotLayerType pivotLayerType)
        {
            using (var conn = new SqlConnection(ConnectionString))
            {
                conn.Open();
                //SqlTransaction trans = conn.BeginTransaction("Create buff zones layer");

                //create new metadata
                var layerInfo = new UserDbLayerInfo();
                layerInfo.m_Id           = Guid.NewGuid();
                layerInfo.m_LayerType    = UserDbLayerType.BuffZones;
                layerInfo.m_Name         = name;
                layerInfo.m_Description  = desc;
                layerInfo.m_UserId       = (long)EidssUserContext.User.ID;
                layerInfo.m_PivotalLayer = pivotLayerType;

                InsertUserLayerMetadata(layerInfo); //, conn, trans);

                //create new user layer table in db
                var addtionalColumns = new List <DataColumn>();
                addtionalColumns.Add(new DataColumn("strName", typeof(string)));
                addtionalColumns.Add(new DataColumn("strDescription", typeof(string)));
                addtionalColumns.Add(new DataColumn("dblRadius", typeof(double)));
                addtionalColumns.Add(new DataColumn("dblCenterX", typeof(double)));
                addtionalColumns.Add(new DataColumn("dblCenterY", typeof(double)));

                var deleted = new DataColumn("intDeleted", typeof(int));
                deleted.DefaultValue = 0;
                deleted.AllowDBNull  = false;
                addtionalColumns.Add(deleted);


                var tableName = UserTablePrefix + layerInfo.m_Id.ToString("N");

                TableCreator.CreateGeomTable(conn, tableName, addtionalColumns, GisDbShema);

                if (UserLayersListChanged != null)
                {
                    UserLayersListChanged(null, EventArgs.Empty);
                }

                return(GetUserLayer(layerInfo.m_Id) as EidssUserBufZoneLayer);
            }
        }
Esempio n. 6
0
 /// <summary>
 /// Delete user layer metadata
 /// </summary>
 /// <param name="layerInfo">User Layer metadata. REQUERED: valid LayerId </param>
 public static void RemoveUserLayerMetadata(UserDbLayerInfo layerInfo)
 {
     RemoveUserLayerMetadata(layerInfo.m_Id);
 }