/// <summary>
        /// Метаданные отправляемого
        /// файла синхронизации
        /// </summary>
        /// <returns></returns>
        public virtual string GetBodyByMetadata()
        {
            const string cAttachedFileMask = "File=\"{0}\";";

            const string cHashMask = "Checksum=\"{1}\";"; //todo: опредилиться с вычислением контрольной суммы

            const bool calculateHash = false;             //todo: опредилиться с вычислением контрольной суммы

            var body = Resources.cMetadataHeader + "\r\n";

            body += string.Join(";\r\n", Metadata.Select(x => x.Key + "=" + x.Value).ToArray());

            body += ";";

            body += Resources.cEndMetadata;

            body += "[attached]\r\n";
            //перечисление прикрепленных документов
            body = Attachments.Aggregate(body, (current, file) =>
                                         current + (string.Format(calculateHash ? cAttachedFileMask + cHashMask : cAttachedFileMask, file.Name, 0) + "\r\n"));

            body += "[end_attached]";

            return(body);
        }