Example #1
0
 public IFileCompareStats ValidateChecksum(DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (lastCalculated.Equals(_md5.LengthLastVerifedUTC))
     {
         return(new FileCompareStats(_md5.Length, lastCalculated, _md5.Checksum, _groupID));
     }
     if (lastCalculated.Equals(_md5.LastCalculatedUTC))
     {
         return(this);
     }
     return(new FileCompareStatusReverified(_md5.Length, _md5.LengthLastVerifedUTC, _md5.Checksum, lastCalculated, _groupID, _md5.LastCalculatedUTC));
 }
 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;
 }
 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));
 }
Example #4
0
 public FileMD5Stats(long length, DateTime lastVerified, byte[] checksum)
 {
     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);
     try { _checksum = new MD5Checksum(checksum); }
     catch (Exception e) { throw new ArgumentException(e.Message, "checksum", e); }
 }
Example #5
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;
 }
 IFileMD5Stats IFileStats.WithMD5(DateTime calculated, MD5Checksum checksum)
 {
     calculated = FileStats.NormalizeDateTime(calculated);
     if (_md5.LastCalculatedUTC.Equals(calculated))
     {
         if (checksum.Equals(_md5.Checksum))
         {
             return(this);
         }
         return(new FileCompareStatsVerifiedMD5(_md5.Length, calculated, checksum, _groupID, _lastCompared));
     }
     if (_lastCompared.Equals(calculated))
     {
         return(new FileCompareStatsVerifiedLength(_md5.Length, _md5.LastCalculatedUTC, checksum, _groupID, calculated));
     }
     return(new FileCompareStatusReverified(_md5.Length, _md5.LastCalculatedUTC, checksum, calculated, _groupID, _lastCompared));
 }
 public IFileStats ValidateChecksum(long length, MD5Checksum checksum, DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     if (length == _md5.Length)
     {
         if (checksum.Equals(_md5.Checksum))
         {
             if (lastCalculated.Equals(_lastCompared))
             {
                 return(new FileCompareStats(length, lastCalculated, checksum, _groupID));
             }
             return(new FileCompareStatsVerifiedMD5(length, lastCalculated, checksum, _groupID, _lastCompared));
         }
         return(new FileMD5Stats(length, lastCalculated, checksum));
     }
     return(new FileStats(length, lastCalculated));
 }
Example #8
0
 public FileMD5Stats(IFileStats stats, byte[] checksum)
 {
     if (stats == null)
     {
         throw new ArgumentNullException("status");
     }
     if (checksum == null)
     {
         throw new ArgumentNullException("checksum");
     }
     if (checksum.Length == 0)
     {
         throw new ArgumentException("Checksum cannot have zero bytes", "checksum");
     }
     _fileStats = (stats is FileStats) ? (FileStats)stats : new FileStats(stats.Length, stats.LengthLastVerifedUTC);
     try { _checksum = new MD5Checksum(checksum); }
     catch (Exception e) { throw new ArgumentException(e.Message, "checksum", e); }
 }
Example #9
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); }
 }
 public IFileCompareStats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)this : new FileCompareStatusReverified(this, lastValidated));
 }
Example #11
0
 public IFileCompareStats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)(new FileCompareStats(_md5.Length, lastValidated, _md5.Checksum, _groupID)) : new FileCompareStatsVerifiedLength(this, lastValidated));
 }
Example #12
0
 public IFileMD5Stats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_fileStats.LengthLastVerifedUTC)) ? (IFileMD5Stats)this : new FileMD5StatsVerifiedLength(this, lastValidated));
 }
Example #13
0
 public FileMD5Stats(long length, DateTime lastVerified, MD5Checksum checksum)
 {
     _fileStats = new FileStats(length, lastVerified);
     _checksum  = checksum;
 }
 public IFileCompareStats ValidateChecksum(DateTime lastCalculated)
 {
     lastCalculated = FileStats.NormalizeDateTime(lastCalculated);
     return((lastCalculated.Equals(_md5.LastCalculatedUTC)) ? (IFileCompareStats)this : new FileCompareStatsVerifiedMD5(this, lastCalculated));
 }
Example #15
0
 public IFileMD5Stats ValidateLength(DateTime lastValidated)
 {
     lastValidated = FileStats.NormalizeDateTime(lastValidated);
     return((lastValidated.Equals(_lastCalculated)) ? (IFileMD5Stats)(new FileMD5Stats(_fileStats.Length, lastValidated, _checksum)) : this);
 }