public async Task ExportFormAsync(int siteId, string directoryPath, int formId) { var formInfo = await _formRepository.GetFormInfoAsync(siteId, formId); var filePath = PathUtils.Combine(directoryPath, formInfo.Id + ".xml"); var feed = GetEmptyFeed(); foreach (var tableColumn in _formRepository.TableColumns) { SetValue(feed.AdditionalElements, tableColumn, formInfo); } //var styleDirectoryPath = PathUtils.Combine(directoryPath, formInfo.Id.ToString()); var relatedIdentities = GetRelatedIdentities(formInfo.Id); await _pathManager.ExportStylesAsync(siteId, FormUtils.TableNameData, relatedIdentities); //await ExportFieldsAsync(formInfo.Id, styleDirectoryPath); var dataInfoList = await _dataRepository.GetAllDataInfoListAsync(formInfo); foreach (var dataInfo in dataInfoList) { var entry = GetAtomEntry(dataInfo); feed.Entries.Add(entry); } feed.Save(filePath); var plugin = _pluginManager.GetPlugin(PluginId); await FileUtils.WriteTextAsync(PathUtils.Combine(directoryPath, VersionFileName), plugin.Version); }