protected void CallOnFileOperation(FileOperationRequestBase operation)
 {
     if (OnFileOperation != null)
     {
         OnFileOperation(this, operation);
     }
 }
 protected virtual void SendOperationRequest(FileOperationRequestBase operation)
 {
     if (handleFileOperationsAutomatically)
     {
         operation.PerformOperation();
         return;
     }
     CallOnFileOperation(operation);
 }
        protected async override void SendOperationRequest(FileOperationRequestBase operation)
        {
            if (handleFileOperationsAutomatically)
            {
                if (lastDownloadOperation != null)
                    await lastDownloadOperation;
                lastDownloadOperation = operation.PerformOperationAsyncTask(downloadClient);
                return;
            }

            CallOnFileOperation(operation);
        }
        protected async override void SendOperationRequest(FileOperationRequestBase operation)
        {
            if (handleFileOperationsAutomatically)
            {
                if (lastDownloadOperation != null)
                {
                    await lastDownloadOperation;
                }
                lastDownloadOperation = operation.PerformOperationAsyncTask(downloadClient);
                return;
            }

            CallOnFileOperation(operation);
        }
 protected virtual void SendOperationRequest(FileOperationRequestBase operation)
 {
     if(handleFileOperationsAutomatically)
     {
         operation.PerformOperation();
         return;
     }
     CallOnFileOperation(operation);
 }
 protected void CallOnFileOperation(FileOperationRequestBase operation)
 {
     if (OnFileOperation != null)
         OnFileOperation(this, operation);
 }