using ProjectLibrary.Reports; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Unity; namespace ProjectLibrary.Forms { public partial class FBookReport : Form { IUnityContainer _container; public FBookReport(IUnityContainer container) { InitializeComponent(); _container = container ?? throw new ArgumentNullException(nameof(container)); } private void ButtonSelectFilePath_Click(object sender, EventArgs e) { var sfd = new SaveFileDialog() { Filter = "Excel Files | *.xlsx" }; if (sfd.ShowDialog() != DialogResult.OK) { return; } textBoxFilePath.Text = sfd.FileName; } private void ButtonMakeReport_Click(object sender, EventArgs e) { try { if (string.IsNullOrWhiteSpace(textBoxFilePath.Text)) { throw new Exception("Отсутствует имя файла для отчета"); } if (dateTimePickerEndDate.Value <= dateTimePickerStartDate.Value) { throw new Exception("Дата начала должна быть раньше даты окончания"); } if (_container.Resolve().CreateTable(textBoxFilePath.Text, dateTimePickerStartDate.Value, dateTimePickerEndDate.Value)) { MessageBox.Show("Документ сформирован", "Формирование документа", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Возникли ошибки при формировании документа.Подробности в логах", "Формирование документа", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка при создании очета", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }