/// <summary> /// Ensure that the date provided to be injected into a GUID is the same date we get back from it. /// Allowed for an optional resolution loss in the time. Calculates the delta using ticks to /// avoid floating point drift in using TotalMilliseconds. /// </summary> private void IsReversible(ICombProvider Comb, int ClockDriftAllowedMs) { var dt = DateTime.UtcNow; var comb = Comb.Create(dt); var dtDecoded = Comb.GetTimestamp(comb); var delta = (dtDecoded.Ticks - dt.Ticks) / 10000; Assert.InRange(delta, -ClockDriftAllowedMs, ClockDriftAllowedMs); }
public UniqueIdentityProvider() { _noDupeProvider = new UtcNoRepeatTimestampProvider(); _sqlNoRepeatCombs = new SqlCombProvider(new SqlDateTimeStrategy(), customTimestampProvider: _noDupeProvider.GetTimestamp); }
public AddHandler(ShelterRepository repo, ICombProvider guidProvider) { _repo = repo; _guidProvider = guidProvider; }
public AddHandler(AccountUserRepository repo, ICombProvider guidProvider) { _repo = repo; _guidProvider = guidProvider; }