/// <summary>
        /// Создание дампа
        /// </summary>
        /// <param name="dataSet"></param>
        /// <param name="archiver"></param>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public virtual bool CreateDumpFile(DataSet dataSet, IArchiver archiver = null, string filePath = null)
        {
            try
            {
                string basePath = AppDomain.CurrentDomain.BaseDirectory;

                if (!string.IsNullOrEmpty(filePath))
                {
                    basePath = Path.GetDirectoryName(filePath);
                    if (basePath == null)
                    {
                        throw new Exception("Не удалось получить директорию для произвольного пути...");
                    }
                }


                var directory = new DirectoryInfo(Path.Combine(basePath, SyncSettings.TempFolderName)); //директория по умолчанию

                if (!directory.Exists)                                                                  //если папки нет, создаю
                {
                    directory.Create();
                }

                if (filePath == null)
                {
                    filePath = Path.Combine(basePath, SyncSettings.ExportFileName);
                }


                var jsonPath = Path.Combine(directory.FullName, string.Concat(Path.GetFileNameWithoutExtension(filePath),
                                                                              SyncSettings.DataSerializer.FileExtenssion));

                SyncSettings.DataSerializer.SerializeData(dataSet, jsonPath);


                if (!File.Exists(jsonPath))
                {
                    throw new Exception("Нет данных для сериализации");
                }


                if (archiver != null)
                {
                    archiver.CompressDir(new FileInfo(filePath), directory);
                    directory.Delete(true);
                }
            }
            catch (Exception ex)
            {
                SyncContext.Logger.Error(ex);
                Out(ex.ToString());
                return(false);
            }

            return(true);
        }