Skip to content

Commit

Permalink
fix: don't lookup niscode for building version
Browse files Browse the repository at this point in the history
  • Loading branch information
jvandaal authored and emalfroy committed Feb 2, 2024
1 parent 19a3f3f commit 71d6947
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ public sealed class BuildingVersion
public string? GeometryMethod { get; set; }
public string? OsloGeometryMethod { get; set; }
public Geometry? Geometry { get; set; }
public string? NisCode { get; set; }
public bool IsRemoved { get; set; }

public string PuriId { get; set; }
Expand Down Expand Up @@ -74,7 +73,6 @@ public BuildingVersion CloneAndApplyEventInfo(
GeometryMethod = GeometryMethod,
OsloGeometryMethod = OsloGeometryMethod,
Geometry = Geometry,
NisCode = NisCode,
IsRemoved = IsRemoved,

PuriId = PuriId,
Expand Down Expand Up @@ -110,7 +108,6 @@ public void Configure(EntityTypeBuilder<BuildingVersion> builder)
builder.Property(x => x.GeometryMethod).HasColumnName("geometry_method");
builder.Property(x => x.OsloGeometryMethod).HasColumnName("oslo_geometry_method");
builder.Property(x => x.Geometry).HasColumnName("geometry");
builder.Property(x => x.NisCode).HasColumnName("nis_code");
builder.Property(x => x.IsRemoved).HasColumnName("is_removed");
builder.Property(x => x.PuriId).HasColumnName("puri_id");
builder.Property(x => x.Namespace).HasColumnName("namespace");
Expand All @@ -126,7 +123,6 @@ public void Configure(EntityTypeBuilder<BuildingVersion> builder)
builder.HasIndex(x => x.Status);
builder.HasIndex(x => x.OsloStatus);
builder.HasIndex(x => x.IsRemoved);
builder.HasIndex(x => x.NisCode);
builder.HasIndex(x => x.Geometry).HasMethod("GIST");
builder.HasIndex(BuildingVersion.VersionTimestampBackingPropertyName);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = null;
building.GeometryMethod = null;
building.OsloGeometryMethod = null;
building.NisCode = null;
},
ct);
});
Expand All @@ -270,8 +269,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingId,
message,
Expand All @@ -280,7 +277,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map();
building.NisCode = nisCode;
},
ct);
});
Expand All @@ -290,8 +286,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingId,
message,
Expand All @@ -300,7 +294,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.Outlined.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.Outlined.Map();
building.NisCode = nisCode;
},
ct);
});
Expand All @@ -310,8 +303,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingId,
message,
Expand All @@ -320,7 +311,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map();
building.NisCode = nisCode;
},
ct);
});
Expand All @@ -330,8 +320,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingId,
message,
Expand All @@ -340,7 +328,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.Outlined.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.Outlined.Map();
building.NisCode = nisCode;
},
ct);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,16 @@ public BuildingVersionProjections(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

var building = new BuildingVersion
{
BuildingPersistentLocalId = message.Message.BuildingPersistentLocalId,
Position = message.Position,
BuildingId = message.Message.BuildingId,
Status = BuildingStatus.Parse(message.Message.BuildingStatus).Value,
OsloStatus = BuildingStatus.Parse(message.Message.BuildingStatus).Map(),
GeometryMethod = BuildingGeometryMethod.Parse(message.Message.GeometryMethod).Value,
OsloGeometryMethod = BuildingGeometryMethod.Parse(message.Message.GeometryMethod).Map(),
Geometry = sysGeometry,
NisCode = nisCode,
IsRemoved = message.Message.IsRemoved,
VersionTimestamp = message.Message.Provenance.Timestamp,
CreatedOnTimestamp = message.Message.Provenance.Timestamp,
Expand All @@ -54,8 +53,6 @@ await context
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

var building = new BuildingVersion
{
Position = message.Position,
Expand All @@ -65,7 +62,6 @@ await context
GeometryMethod = BuildingGeometryMethod.Outlined.Value,
OsloGeometryMethod = BuildingGeometryMethod.Outlined.Map(),
Geometry = sysGeometry,
NisCode = nisCode,
IsRemoved = false,
VersionTimestamp = message.Message.Provenance.Timestamp,
CreatedOnTimestamp = message.Message.Provenance.Timestamp,
Expand All @@ -83,8 +79,6 @@ await context
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

var building = new BuildingVersion
{
Position = message.Position,
Expand All @@ -94,7 +88,6 @@ await context
GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value,
OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map(),
Geometry = sysGeometry,
NisCode = nisCode,
IsRemoved = false,
VersionTimestamp = message.Message.Provenance.Timestamp,
CreatedOnTimestamp = message.Message.Provenance.Timestamp,
Expand All @@ -112,8 +105,6 @@ await context
var geometryAsBinary = message.Message.ExtendedWkbGeometryBuilding.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
Expand All @@ -122,7 +113,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.Outlined.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.Outlined.Map();
building.NisCode = nisCode;
},
ct);
});
Expand All @@ -132,8 +122,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometryBuilding.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
Expand All @@ -142,7 +130,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map();
building.NisCode = nisCode;
},
ct);
});
Expand Down Expand Up @@ -230,8 +217,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometryBuilding.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
Expand All @@ -240,7 +225,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map();
building.NisCode = nisCode;
},
ct);
});
Expand All @@ -250,8 +234,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometryBuilding.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
Expand All @@ -260,7 +242,6 @@ await context.CreateNewBuildingVersion(
building.Geometry = sysGeometry;
building.GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value;
building.OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map();
building.NisCode = nisCode;
},
ct);
});
Expand Down Expand Up @@ -328,8 +309,6 @@ await context.CreateNewBuildingVersion(
var geometryAsBinary = message.Message.ExtendedWkbGeometry.ToByteArray();
var sysGeometry = wkbReader.Read(geometryAsBinary);

var nisCode = await context.FindMostIntersectingNisCodeBy(sysGeometry, ct);

var building = new BuildingVersion
{
Position = message.Position,
Expand All @@ -339,7 +318,6 @@ await context.CreateNewBuildingVersion(
GeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Value,
OsloGeometryMethod = BuildingGeometryMethod.MeasuredByGrb.Map(),
Geometry = sysGeometry,
NisCode = nisCode,
IsRemoved = false,
VersionTimestamp = message.Message.Provenance.Timestamp,
CreatedOnTimestamp = message.Message.Provenance.Timestamp,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ await context
.AddAsync(newBuildingUnitVersion, ct);
}

private static async Task<BuildingUnitVersion?> LatestPosition(
public static async Task<BuildingUnitVersion?> LatestPosition(
this IntegrationContext context,
Guid buildingUnitId,
CancellationToken ct)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ private void RegisterLegacyBuildingUnitEvents(
await context.CreateNewBuildingUnitVersion(
message.Message.BuildingUnitId,
message,
buildingUnit =>
{
buildingUnit.BuildingUnitPersistentLocalId = message.Message.PersistentLocalId;
},
buildingUnit => { buildingUnit.BuildingUnitPersistentLocalId = message.Message.PersistentLocalId; },
ct);
});

Expand Down Expand Up @@ -198,13 +195,25 @@ await context

When<Envelope<BuildingUnitWasAddedToRetiredBuilding>>(async (context, message, ct) =>
{
// await AddUnit(context, message.Message.BuildingId, message.Message.BuildingUnitId, null, message.Message.Provenance.Timestamp, false, ct);
// var addedUnit = await context.BuildingUnitDetails.FindAsync(message.Message.BuildingUnitId, cancellationToken: ct);
// var building = await context.BuildingUnitBuildings.FindAsync(message.Message.BuildingId, cancellationToken: ct);
//
// addedUnit.Status = building.BuildingRetiredStatus == BuildingStatus.NotRealized
// ? BuildingUnitStatus.NotRealized
// : BuildingUnitStatus.Retired;
var building = await context.LatestPosition(message.Message.BuildingId, ct);

if (building is null)
{
throw new InvalidOperationException($"No building found for {message.Message.BuildingId}");
}

var buildingUnitStatus = building.Status == BuildingStatus.NotRealized
? BuildingUnitStatus.NotRealized
: BuildingUnitStatus.Retired;
await context.CreateNewBuildingUnitVersion(
message.Message.BuildingUnitId,
message,
buildingUnit =>
{
buildingUnit.Status = buildingUnitStatus;
buildingUnit.OsloStatus = buildingUnitStatus.Map();
},
ct);
});

When<Envelope<BuildingUnitWasRemoved>>(async (context, message, ct) =>
Expand Down Expand Up @@ -275,7 +284,6 @@ await context.CreateNewBuildingUnitVersion(
}
},
ct);

});

When<Envelope<BuildingUnitWasReaddressed>>(async (context, message, ct) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,6 @@ await Sut
buildingVersion.Geometry.Should().BeNull();
buildingVersion.GeometryMethod.Should().BeNull();
buildingVersion.OsloGeometryMethod.Should().BeNull();
buildingVersion.NisCode.Should().BeNull();
buildingVersion.VersionTimestamp.Should().Be(buildingGeometryWasRemoved.Provenance.Timestamp);
});
}
Expand Down
Loading

0 comments on commit 71d6947

Please sign in to comment.