using MigraDoc.DocumentObjectModel.Tables; using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Components.Nonvisual { public partial class UserControlConfigurableTableDocument : Component { public UserControlConfigurableTableDocument() { InitializeComponent(); } public UserControlConfigurableTableDocument(IContainer container) { container.Add(this); InitializeComponent(); } public void SaveToDocument(string filePath, string title, List<(double width, string header, string propName)> columns, double headerRowHeight, double rowHeight, List data) { if (string.IsNullOrEmpty(filePath)) throw new ArgumentNullException("Empty string instead of path to file"); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException("Title string is empty"); if (data.Count == 0) throw new ArgumentNullException("Data list is empty"); if (columns.Count == 0) throw new ArgumentNullException("Column info list is empty"); if (rowHeight == 0D || headerRowHeight == 0D) throw new ArgumentNullException("Row height is empty"); SaveToPdf saver = new SaveToPdf(); saver.CreateConfigurableTableDocument(filePath, title, columns, headerRowHeight, rowHeight, data); } } }