using DigitalData.Modules.Logging; using DigitalData.Modules.Config; using DigitalData.Modules.Database; namespace ReportViewer { public partial class FrmMain : DevExpress.XtraBars.Ribbon.RibbonForm { private readonly LogConfig logConfig; private readonly Logger logger; private ConfigManager? configManager; private MSSQLServer? database; private ReportDataLoader? loader; private bool formLoading = false; public FrmMain() { InitializeComponent(); logConfig = new LogConfig(new LogOptions() { LogPath = LogConfig.PathType.AppData, CustomLogPath = Application.LocalUserAppDataPath, CompanyName = Application.CompanyName, ProductName = Application.ProductName }); logger = logConfig.GetLogger(); } private void FrmMain_Load(object sender, EventArgs e) { try { formLoading = true; configManager = new ConfigManager(logConfig, Application.UserAppDataPath); database = new MSSQLServer(logConfig, configManager.Config.ConnectionString); loader = new ReportDataLoader(logConfig, configManager.Config, database, documentViewer1); configManager.Config.Providers = configManager.Config.Providers.DistinctBy(p => p.Type).ToList(); configManager.Save(); var debug = configManager.Config.Debug; logConfig.Debug = debug; checkDebug.Checked = debug; DebugChanged(debug); } catch (Exception ex) { logger.Error(ex); } finally { formLoading = false; } } private void BarButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { Config.ServiceProvider provider = null; if (loader == null) return; if (checkHP.Checked) provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.HellmoldPlank).First(); if (checkGLS.Checked) provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.GLS).First(); if (checkSample.Checked) provider = configManager.Config.Providers.Where(p => p.Type == Config.ServiceProviderType.Sample).First(); if (provider == null) { MessageBox.Show("Bitte wählen Sie einen Dienstleister aus!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } DateTime? date = null; if (dateEdit1.EditValue != null) date = (DateTime)dateEdit1.EditValue; loader.Load(date, provider); barButtonItem2.Enabled = true; if (loader.OrdersLoaded == 0) { txtOrdersLoaded.Caption = string.Format((string)txtOrdersLoaded.Tag, loader.OrdersLoaded); txtOrdersLoaded.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; txtNoOrdersLoaded.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } else { txtOrdersLoaded.Caption = string.Format((string)txtOrdersLoaded.Tag, loader.OrdersLoaded); txtOrdersLoaded.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; txtNoOrdersLoaded.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; } } catch (Exception ex) { logger.Error(ex); } } private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { if (loader == null) return; loader.Print(); } catch (Exception ex) { logger.Error(ex); } } private void ribbon_Click(object sender, EventArgs e) { } private void btnOpenLogDirectory_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { var path = logConfig.LogDirectory; if (System.IO.Directory.Exists(path)) { System.Diagnostics.Process.Start(path); } } catch (Exception ex) { logger.Error(ex); } } private void checkDebug_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (formLoading) return; logConfig.Debug = checkDebug.Checked; DebugChanged(checkDebug.Checked); configManager?.Save(); } private void DebugChanged(bool Debug) { if (Debug) { checkSample.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } else { checkSample.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; } } private void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { var path = configManager?.UserConfigPath; var directory = System.IO.Path.GetDirectoryName(path); if (System.IO.Directory.Exists(directory)) { System.Diagnostics.Process.Start(directory); } } catch (Exception ex) { logger.Error(ex); } } } }