Skip to content

Commit 30b946e

Browse files
committed
Add obsolete flags to V1 code so that it is marked for deletion in time
1 parent 56ec2f4 commit 30b946e

3 files changed

Lines changed: 17 additions & 18 deletions

File tree

src/api/Nhs.Appointments.Core/BookingWriteService.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ public class BookingWriteService(
8282
}
8383
else
8484
{
85+
#pragma warning disable CS0618 // Code to be removed once Flags.BookingReferenceV2 is fully enabled
8586
booking.Reference = await referenceNumberProviderV1.GetReferenceNumber(booking.Site);
87+
#pragma warning restore CS0618 // Code to be removed once Flags.BookingReferenceV2 is fully enabled
8688
}
8789

8890
booking.ReminderSent = false;

src/api/Nhs.Appointments.Core/ReferenceNumber/V1/Provider.cs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,36 @@ namespace Nhs.Appointments.Core.ReferenceNumber.V1;
22

33
public interface IReferenceNumberProvider
44
{
5+
[Obsolete("Deprecated in favor of ReferenceNumber.V2.IProvider.GetReferenceNumber")]
56
Task<string> GetReferenceNumber(string siteId);
67
}
78

8-
public class ReferenceNumberProvider : IReferenceNumberProvider
9+
[Obsolete("Deprecated in favor of ReferenceNumber.V2.Provider")]
10+
public class ReferenceNumberProvider(
11+
ISiteStore siteStore,
12+
IReferenceNumberDocumentStore referenceNumberDocumentStore,
13+
TimeProvider timeProvider)
14+
: IReferenceNumberProvider
915
{
10-
private readonly ISiteStore _siteStore;
11-
private readonly IReferenceNumberDocumentStore _referenceNumberDocumentStore;
12-
private readonly TimeProvider _timeProvider;
13-
public ReferenceNumberProvider(
14-
ISiteStore siteStore,
15-
IReferenceNumberDocumentStore referenceNumberDocumentStore,
16-
TimeProvider timeProvider)
17-
{
18-
_siteStore = siteStore;
19-
_referenceNumberDocumentStore = referenceNumberDocumentStore;
20-
_timeProvider = timeProvider;
21-
}
16+
[Obsolete("Deprecated in favor of ReferenceNumber.V2.Provider.GetReferenceNumber")]
2217
public async Task<string> GetReferenceNumber(string siteId)
2318
{
24-
var referenceGroup = await _siteStore.GetReferenceNumberGroup(siteId);
19+
var referenceGroup = await siteStore.GetReferenceNumberGroup(siteId);
2520
if (referenceGroup == 0)
2621
{
27-
referenceGroup = await _referenceNumberDocumentStore.AssignReferenceGroup();
28-
await _siteStore.AssignPrefix(siteId, referenceGroup);
22+
referenceGroup = await referenceNumberDocumentStore.AssignReferenceGroup();
23+
await siteStore.AssignPrefix(siteId, referenceGroup);
2924
}
3025

31-
var sequence = await _referenceNumberDocumentStore.GetNextSequenceNumber(referenceGroup);
32-
var now = _timeProvider.GetUtcNow();
26+
var sequence = await referenceNumberDocumentStore.GetNextSequenceNumber(referenceGroup);
27+
var now = timeProvider.GetUtcNow();
3328
var rng = now.Day + now.Second;
3429

3530
return $"{referenceGroup:00}-{rng:00}-{sequence:000000}";
3631
}
3732
}
3833

34+
[Obsolete("Deprecated in favor of ReferenceNumber.V2.IBookingReferenceDocumentStore")]
3935
public interface IReferenceNumberDocumentStore
4036
{
4137
Task<int> AssignReferenceGroup();

tests/Nhs.Appointments.Core.UnitTests/ReferenceNumber/V1/ReferenceNumberProviderTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Nhs.Appointments.Core.ReferenceNumber.V1;
2+
#pragma warning disable CS0618 // Code to be removed once Flags.BookingReferenceV2 is fully enabled
23

34
namespace Nhs.Appointments.Core.UnitTests.ReferenceNumber.V1;
45

0 commit comments

Comments
 (0)