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)); }
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); } }
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)); }
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); } }
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)); }
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)); }
public IFileMD5Stats ValidateLength(DateTime lastValidated) { lastValidated = FileStats.NormalizeDateTime(lastValidated); return((lastValidated.Equals(_fileStats.LengthLastVerifedUTC)) ? (IFileMD5Stats)this : new FileMD5StatsVerifiedLength(this, lastValidated)); }
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)); }
public IFileMD5Stats ValidateLength(DateTime lastValidated) { lastValidated = FileStats.NormalizeDateTime(lastValidated); return((lastValidated.Equals(_lastCalculated)) ? (IFileMD5Stats)(new FileMD5Stats(_fileStats.Length, lastValidated, _checksum)) : this); }