public IFileCompareStats ValidateChecksum(DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (lastCalculated.Equals(_lastCompared))
     {
         return(new FileCompareStatsVerifiedLength(_md5.Length, _md5.LengthLastVerifedUTC, _md5.Checksum, _groupID, lastCalculated));
     }
     return(new FileCompareStatusReverified(_md5.Length, _md5.LengthLastVerifedUTC, _md5.Checksum, lastCalculated, _groupID, _lastCompared));
 }
Esempio n. 2
0
 IFileMD5Stats IFileStats.WithMD5(DateTime calculated, MD5Checksum checksum)
 {
     calculated = FileStats.NormalizeDateTime(calculated);
     if (calculated.Equals(_fileStats.LengthLastVerifedUTC))
     {
         return(new FileMD5Stats(_fileStats.Length, calculated, _checksum));
     }
     return(new FileMD5StatsVerifiedLength(_fileStats.Length, _fileStats.LengthLastVerifedUTC, _checksum, calculated));
 }
 IFileMD5Stats IFileStats.WithMD5(DateTime calculated, MD5Checksum checksum)
 {
     calculated = FileStats.NormalizeDateTime(calculated);
     if (calculated.Equals(_lastCompared))
     {
         return(new FileCompareStatsVerifiedLength(_md5.Length, _md5.LengthLastVerifedUTC, checksum, _groupID, calculated));
     }
     return(new FileCompareStatusReverified(_md5.Length, _md5.LengthLastVerifedUTC, checksum, calculated, _groupID, _lastCompared));
 }
 public IFileStats ValidateChecksum(long length, MD5Checksum checksum, DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (length == _md5.Length && checksum.Equals(_md5.Checksum))
     {
         return((lastCalculated.Equals(_lastCompared)) ? (IFileCompareStats)(new FileCompareStats(_md5.Length, lastCalculated, checksum, _groupID)) : new FileCompareStatsVerifiedMD5(this, lastCalculated));
     }
     return(new FileMD5Stats(_md5.Length, lastCalculated, _md5.Checksum));
 }
Esempio n. 5
0
 public IFileStats ValidateLength(long length, DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     if (_md5.Length == length)
     {
         return((lastValidated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)(new FileCompareStats(length, lastValidated, _md5.Checksum, _groupID)) : new FileCompareStatsVerifiedLength(this, lastValidated));
     }
     return(new FileStats(length, lastValidated));
 }
 IFileCompareStats IFileStats.AsCompared(DateTime compared, MD5Checksum checksum, Guid groupID)
 {
     compared = FileStats.NormalizeDateTime(compared);
     if (compared.Equals(_md5.LastCalculatedUTC))
     {
         return(new FileCompareStatsVerifiedLength(_md5.Length, _md5.LengthLastVerifedUTC, checksum, groupID, compared));
     }
     return(new FileCompareStatusReverified(_md5.Length, _md5.LengthLastVerifedUTC, checksum, _md5.LastCalculatedUTC, groupID, compared));
 }
Esempio n. 7
0
 public IFileStats ValidateLength(long length, DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     if (length == _fileStats.Length)
     {
         return((lastValidated.Equals(_fileStats.LengthLastVerifedUTC)) ? (IFileMD5Stats)this: new FileMD5StatsVerifiedLength(this, lastValidated));
     }
     return(new FileStats(length, lastValidated));
 }
 IFileCompareStats IFileMD5Stats.AsCompared(DateTime compared, Guid groupID)
 {
     compared = FileStats.NormalizeDateTime(compared);
     if (compared.Equals(_md5.LastCalculatedUTC))
     {
         return(new FileCompareStats(_md5.Length, compared, _md5.Checksum, groupID));
     }
     return(new FileCompareStatsVerifiedMD5(_md5.Length, _md5.LastCalculatedUTC, _md5.Checksum, groupID, compared));
 }
Esempio n. 9
0
 IFileStats IFileMD5Stats.ValidateLength(long length, DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     if (length == _md5.Length)
     {
         return((lastValidated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)this : new FileCompareStatsVerifiedLength(this, lastValidated));
     }
     return(new FileStats(_md5.Length, lastValidated));
 }
Esempio n. 10
0
 public IFileStats ValidateLength(long length, DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     if (length == _fileStats.Length)
     {
         return((lastValidated.Equals(_lastCalculated)) ? (IFileMD5Stats)(new FileMD5Stats(_fileStats.Length, lastValidated, _checksum)) : this);
     }
     return(new FileStats(length, lastValidated));
 }
 public IFileCompareStats ToLastCompared(DateTime lastCompared)
 {
     lastCompared = FileStats.NormalizeDateTime(lastCompared);
     if (lastCompared.Equals(_md5.LastCalculatedUTC))
     {
         return(new FileCompareStats(_md5.Length, lastCompared, _md5.Checksum, _groupID));
     }
     return(new FileCompareStatsVerifiedMD5(_md5, _groupID, lastCompared));
 }
 public FileCompareStatusReverified(FileMD5StatsVerifiedLength stats, Guid groupID, DateTime lastCompared)
 {
     _lastCompared = FileStats.NormalizeDateTime(lastCompared);
     if (stats.LastCalculatedUTC.Equals(_lastCompared))
     {
         throw new InvalidOperationException("Calculated date must differ from verified and compared dates");
     }
     _md5     = stats;
     _groupID = groupID;
 }
 public FileCompareStatusReverified(long length, DateTime lastVerified, byte[] checksum, DateTime lastCalculated, Guid groupID, DateTime lastCompared)
 {
     _md5          = new FileMD5StatsVerifiedLength(length, lastVerified, checksum, lastCalculated);
     _lastCompared = FileStats.NormalizeDateTime(lastCompared);
     if (_md5.LastCalculatedUTC.Equals(_lastCompared))
     {
         throw new InvalidOperationException("Calculated date must differ from verified and compared dates");
     }
     _groupID = groupID;
 }
Esempio n. 14
0
 public FileMD5StatsVerifiedLength(long length, DateTime lastVerified, MD5Checksum checksum, DateTime lastCalculated)
 {
     _fileStats      = new FileStats(length, lastVerified);
     _lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (_fileStats.LengthLastVerifedUTC.Equals(_lastCalculated))
     {
         throw new InvalidOperationException("Last calculated date must be different than the last verified date");
     }
     _checksum = checksum;
 }
 public FileCompareStatsVerifiedMD5(IFileStats stats, byte[] checksum, Guid groupID, DateTime lastCompared)
 {
     _md5          = new FileMD5Stats(stats, checksum);
     _lastCompared = FileStats.NormalizeDateTime(lastCompared);
     if (_md5.LastCalculatedUTC.Equals(_lastCompared))
     {
         throw new InvalidOperationException("Last verified date must be different from last calculated date");
     }
     _groupID = groupID;
 }
Esempio n. 16
0
 public FileMD5StatsVerifiedLength(IFileMD5Stats stats, DateTime lastVerified)
 {
     if (stats == null)
     {
         throw new ArgumentNullException("stats");
     }
     _fileStats      = new FileStats(stats.Length, lastVerified);
     _lastCalculated = FileStats.NormalizeDateTime(stats.LastCalculatedUTC);
     if (_fileStats.LengthLastVerifedUTC.Equals(_lastCalculated))
     {
         throw new InvalidOperationException("Last calculated date must be different than the last verified date");
     }
     _checksum = stats.Checksum;
 }
 public IFileStats ValidateLength(long length, DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     if (length == _md5.Length)
     {
         lastValidated = FileStats.NormalizeDateTime(lastValidated);
         if (lastValidated.Equals(_md5.LastCalculatedUTC))
         {
             return(new FileCompareStatsVerifiedMD5(length, lastValidated, _md5.Checksum, _groupID, _lastCompared));
         }
         return(new FileCompareStatusReverified(length, lastValidated, _md5.Checksum, _md5.LastCalculatedUTC, _groupID, _lastCompared));
     }
     return(new FileStats(length, lastValidated));
 }
 public FileCompareStatsVerifiedMD5(IFileCompareStats stats, DateTime lastCalculated)
 {
     if (stats == null)
     {
         throw new ArgumentNullException("stats");
     }
     _md5          = new FileMD5Stats(stats.Length, lastCalculated, stats.Checksum);
     _lastCompared = FileStats.NormalizeDateTime(stats.LastCompared);
     if (_md5.LastCalculatedUTC.Equals(_lastCompared))
     {
         throw new InvalidOperationException("Last verified date must be different from last calculated date");
     }
     _groupID = stats.GroupID;
 }
Esempio n. 19
0
 public FileMD5StatsVerifiedLength(long length, DateTime lastVerified, byte[] checksum, DateTime lastCalculated)
 {
     if (checksum == null)
     {
         throw new ArgumentNullException("checksum");
     }
     if (checksum.Length == 0)
     {
         throw new ArgumentException("Checksum cannot have zero bytes", "checksum");
     }
     _fileStats      = new FileStats(length, lastVerified);
     _lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (_fileStats.LengthLastVerifedUTC.Equals(_lastCalculated))
     {
         throw new InvalidOperationException("Last calculated date must be different than the last verified date");
     }
     try { _checksum = new MD5Checksum(checksum); }
     catch (Exception e) { throw new ArgumentException(e.Message, "checksum", e); }
 }
Esempio n. 20
0
 public IFileMD5Stats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_fileStats.LengthLastVerifedUTC)) ? (IFileMD5Stats)this : new FileMD5StatsVerifiedLength(this, lastValidated));
 }
Esempio n. 21
0
 public IFileCompareStats ValidateChecksum(DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     return((lastCalculated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)this : new FileCompareStatsVerifiedMD5(this, lastCalculated));
 }
 public IFileCompareStats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)this : new FileCompareStatusReverified(this, lastValidated));
 }