/// <summary> /// Экспорт блоков квартир в отдельные файлы dwg квартир. /// </summary> /// <returns>Количество экспортированных квартир.</returns> public static int ExportToFiles(List <Apartment> apartments) { int count = 0; DateTime now = DateTime.Now; // Бекап старых подложек BackupOldApartmentsFile(); // Выключение слоев штриховки layersOff = LayerService.LayersOff(Options.Instance.LayersOffMatch); var apartsToFile = apartments.Where(a => !a.BaseStatus.HasFlag(EnumBaseStatus.NotInDwg)); using (var progress = new ProgressMeter()) { progress.SetLimit(apartsToFile.Count()); progress.Start("Экспорт квартир в файлы..."); foreach (var apart in apartsToFile) { progress.MeterProgress(); try { apart.ExportToFile(); apart.ExportDate = now; count++; } catch (System.Exception ex) { Inspector.AddError($"Ошибка при экспорте блока '{apart.Name}' - {ex.Message}", icon: System.Drawing.SystemIcons.Error); } } progress.Stop(); } // Восстановление слоев LayerService.LayersOn(layersOff); return(count); }