public AttachmentsSynchronizationContext( TisAttachmentsOperation attachmentsOperation, ITisAttachmentsFilter attachmentsFilter, TisAttachmentsSynchronizationPolicy attachmentsSynchronizationPolicy) { m_attachmentsOperation = attachmentsOperation; m_attachmentsFilter = attachmentsFilter; m_attachmentsSynchronizationPolicy = attachmentsSynchronizationPolicy; }
protected virtual bool NeedDownload( string attachment, TisAttachmentsSynchronizationPolicy attachmentsComparePolicy) { return(AreLocalAndSourceDifferent( attachment, attachmentsComparePolicy )); }
// TO_DO: Change to internal and move to client.... public virtual ITisAttachmentsSynchronizationContext AddAttachmentsSynchronizationContext( TisAttachmentsOperation attachmentsOperation, ITisAttachmentsFilter attachmentsFilter, TisAttachmentsSynchronizationPolicy attachmentsSynchronizationPolicy) { ITisAttachmentsSynchronizationContext attachmentsSynchronizationContext = new AttachmentsSynchronizationContext( attachmentsOperation, attachmentsFilter, attachmentsSynchronizationPolicy); AddAttachmentsSynchronizationContext(attachmentsSynchronizationContext); return(attachmentsSynchronizationContext); }
protected virtual bool NeedUpload( string attachment, TisAttachmentsSynchronizationPolicy attachmentsComparePolicy) { // Don't need to save if local file not exists if (!System.IO.File.Exists(GetLocalFileName(attachment))) { return(false); } // Return true if files are different return(AreLocalAndSourceDifferent( attachment, attachmentsComparePolicy)); }
private bool AreLocalAndSourceDifferent( string attachemnt, TisAttachmentsSynchronizationPolicy attachmentsComparePolicy) { if (attachmentsComparePolicy == TisAttachmentsSynchronizationPolicy.None) { return(true); } string localFileName = GetLocalFileName(attachemnt); FileInfo oFileInfo = new FileInfo(localFileName); if (!oFileInfo.Exists) { // No local file = different return(true); } ITisAttachmentInfo oRemoteAttInfo = m_RemoteAttachmentsInfo.GetAttachmentInfo(attachemnt); if (oRemoteAttInfo == null) { // No remote attachment = different return(true); } if (attachmentsComparePolicy == TisAttachmentsSynchronizationPolicy.LocalNew) { return(oFileInfo.LastWriteTime > oRemoteAttInfo.LastModified); } if (attachmentsComparePolicy == TisAttachmentsSynchronizationPolicy.RemoteNew) { return(oFileInfo.LastWriteTime < oRemoteAttInfo.LastModified); } if (oFileInfo.LastWriteTime != oRemoteAttInfo.LastModified || oFileInfo.Length != oRemoteAttInfo.SizeBytes) { // Different modify time -> different return(true); } // The same return(false); }