コード例 #1
0
        protected virtual void OnMakeGeoValid2008(IStructureSchema schema, IDacParameter sidParam)
        {
            var sql = SqlStatements.GetSql("GetGeo").Inject(schema.GetSpatialTableName());
            var geo = GetGeograpy(sql, sidParam);

            if (geo.STIsValid())
            {
                return;
            }

            geo = geo.MakeValid();

            var geoParam = new GeographyDacParameter(GeoParamName, geo);

            sql = SqlStatements.GetSql("UpdateGeo").Inject(schema.GetSpatialTableName());
            Session.DbClient.ExecuteNonQuery(sql, sidParam, geoParam);
        }
コード例 #2
0
        protected virtual string GetUpsertTableSql(IStructureSchema structureSchema)
        {
            var tableName          = structureSchema.GetSpatialTableName();
            var structureTableName = structureSchema.GetStructureTableName();

            if (structureSchema.IdAccessor.IdType.IsIdentity())
            {
                return(SqlStatements.GetSql("UpsertSpatialTableWithIdentity").Inject(tableName, structureTableName));
            }

            if (structureSchema.IdAccessor.IdType.IsGuid())
            {
                return(SqlStatements.GetSql("UpsertSpatialTableWithGuid").Inject(tableName, structureTableName));
            }

            if (structureSchema.IdAccessor.IdType.IsString())
            {
                return(SqlStatements.GetSql("UpsertSpatialTableWithString").Inject(tableName, structureTableName));
            }

            throw new SisoDbException(ExceptionMessages.IdTypeNotSupported.Inject(structureSchema.IdAccessor.IdType));
        }
コード例 #3
0
        protected virtual void OnMakeGeoValid(IStructureSchema schema, IDacParameter sidParam)
        {
            var sql = SqlStatements.GetSql("MakeGeoValid").Inject(schema.GetSpatialTableName());

            Session.DbClient.ExecuteNonQuery(sql, sidParam);
        }
コード例 #4
0
 public static void should_have_been_deleted_from_spatial_table(this ITestDbUtils db, IStructureSchema structureSchema, object structureId)
 {
     db.RowCount(structureSchema.GetSpatialTableName(), "{0} = '{1}'".Inject(SpatialStorageSchema.Fields.Id.Name, structureId)).ShouldEqual(0);
 }