/// <summary> /// Обработать импорт модели. /// </summary> /// <param name="path">Путь к папке с моделью.</param> /// <param name="serializer">Сериализатор XML.</param> /// <returns>Модель.</returns> protected RecordRefModel HandleImportModel(string path, XmlSerializer serializer) { var cardFileName = GetCardFileName(path); this.currentRecordRefModel = ImportModelFromFile(cardFileName, serializer); this.PrepareForImport(path, this.currentRecordRefModel); return(this.currentRecordRefModel); }
/// <summary> /// Преобразовать модель компоненты к формату для импорта. /// </summary> /// <param name="path">Путь к папке с моделью.</param> /// <param name="model">Модель.</param> /// <returns>Выходной формат.</returns> protected virtual void PrepareForImport(string path, RecordRefModel model) { if (model.Requisites.Count > 0) { // Конвертировать реквизиты. foreach (var requisite in model.Requisites) { requisite.PrepareForImport(); } this.ImportRequisites(path, model.Requisites); } }
/// <summary> /// Обработать экспорт модели. /// </summary> /// <param name="path">Путь к папке с моделью.</param> /// <param name="model">Модель компоненты.</param> /// <param name="settings">Настройки записи XML.</param> /// <param name="namespaces">Пространства имен сериализации.</param> /// <param name="serializer">Сериализатор модели.</param> protected virtual void HandleExportModel(string path, RecordRefModel model, XmlWriterSettings settings, XmlSerializerNamespaces namespaces, XmlSerializer serializer) { this.currentRecordRefModel = model; var cardFilePath = GetCardFileName(path); this.outputFileNames.Clear(); this.outputFolderNames.Clear(); this.PrepareForExport(path, model); this.ExportModelToFile(model, cardFilePath, settings, namespaces, serializer); this.DeleteUnwantedFiles(path); }