예제 #1
0
		/// <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);
		}
예제 #2
0
        /// <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);
        }
예제 #3
0
 public UniqueIdentityProvider()
 {
     _noDupeProvider   = new UtcNoRepeatTimestampProvider();
     _sqlNoRepeatCombs = new SqlCombProvider(new SqlDateTimeStrategy(), customTimestampProvider: _noDupeProvider.GetTimestamp);
 }
예제 #4
0
 public AddHandler(ShelterRepository repo, ICombProvider guidProvider)
 {
     _repo         = repo;
     _guidProvider = guidProvider;
 }
예제 #5
0
 public AddHandler(AccountUserRepository repo, ICombProvider guidProvider)
 {
     _repo         = repo;
     _guidProvider = guidProvider;
 }