private async Task ExportCategories(IList <ExchangeDataRow> models, ExportOptionsViewModel options, ExportResultViewModel exportResult) { List <AdsCategoryViewModel> categories = new List <AdsCategoryViewModel>(); if (!string.IsNullOrEmpty(options.Category)) { categories.AddRange(await _adsUnitOfWork.CategoriesRepository.FilterByIds(options.Category.Split(';').Select(i => Guid.Parse(i)).ToList())); } else { if (!string.IsNullOrEmpty(options.Family)) { categories.AddRange(await _adsUnitOfWork.CategoriesRepository.GetByFamily(Guid.Parse(options.Family))); } else { categories.AddRange(await _adsUnitOfWork.CategoriesRepository.GetAll()); } } exportResult.CategoriesExported = categories.Count; foreach (var category in categories) { ParseCategory(category, models); } }
public XmlWriter(ExportOptionsViewModel options, IList <TITem> items, StreamWriter stream) { Items = items; _stream = stream; _xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(TITem)); }
public void SetDataContext() { if (elementHost1.Child is ExportOptionsView view && view.DataContext == null) { ExportOptionsViewModel = new ExportOptionsViewModel(Settings, new DialogService()); view.DataContext = ExportOptionsViewModel; } }
public XlsWriter(ExportOptionsViewModel options, IList <TITem> items, Stream stream) { Items = items; _stream = stream; _workbook = new XLWorkbook(); _worksheet = _workbook.Worksheets.Add(typeof(TITem).Name); _tableWriter = new TableFactory().CreateXlsxWriter <TITem>(_worksheet, 1, 1); }
protected override void Export(ExportOptionsViewModel exportOptionsModel) { if (string.IsNullOrEmpty(Path.GetExtension(exportOptionsModel.FileName))) { var extension = ExportOptionsControllerBase .GetControllerByOptions(exportOptionsModel.ExportOptions) .GetFileExtension(exportOptionsModel.ExportOptions); exportOptionsModel.FileName += extension; } base.Export(exportOptionsModel); }
public async Task <ActionResult <ExportResultViewModel> > ExportReferential(ExportOptionsViewModel options) { IList <ExchangeDataRow> models = new List <ExchangeDataRow>(); var exportResult = new ExportResultViewModel(); if (options.IncludeFamily) { await ExportFamilies(models, options, exportResult); } if (options.IncludeCategory) { await ExportCategories(models, options, exportResult); } using var memo = new MemoryStream(); switch (options.FileType) { case ".xlsx": { using var xlsxWriter = new XlsWriter <ExchangeDataRow>(options, models, memo); xlsxWriter.Write(); exportResult.FileMimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; } case ".csv": { using var stmWriter = new StreamWriter(memo); using var csvWriter = new CsvWriter <ExchangeDataRow>(options, models, stmWriter); exportResult.FileMimeType = "text/csv"; csvWriter.Write(); stmWriter.Close(); break; } case ".xml": { using var stmWriter = new StreamWriter(memo); using var xmlWriter = new XmlWriter <ExchangeDataRow>(options, models, stmWriter); exportResult.FileMimeType = "application/xml"; xmlWriter.Write(); stmWriter.Close(); break; } } exportResult.FileContent = memo.ToArray(); return(Ok(exportResult)); }
public override void Export(ExportFormat?format) { if (format.HasValue && format.Value == ExportFormat.Xls) { var optionsModel = ExportOptionsViewModel.Create(Document.PrintingSystem, format.Value); optionsModel.OpenFileAfterExport = false; optionsModel.FileName = "test.xls"; new DocumentPublishEngine(Document.PrintingSystem).Export(optionsModel); System.Windows.MessageBox.Show("!"); System.Diagnostics.Process.Start("test.xls"); } else { base.Export(format); } }
private async Task ExportFamilies(IList <ExchangeDataRow> models, ExportOptionsViewModel options, ExportResultViewModel exportResult) { List <AdsFamilyViewModel> families = new List <AdsFamilyViewModel>(); if (!string.IsNullOrEmpty(options.Family)) { var family = await _adsUnitOfWork.FamiliesRepository.Get(Guid.Parse(options.Family)); families.Add(family); } else { families.AddRange(await _adsUnitOfWork.FamiliesRepository.GetAll()); } exportResult.FamiliesExported = families.Count; foreach (var family in families) { await ParseFamily(family, models); } }
public CsvWriter(ExportOptionsViewModel options, IList <TITem> items, StreamWriter stream) { Items = items; _tableWriter = new TableFactory().CreateCsvWriter <TITem>(stream); }