198 lines
6.4 KiB
C#
198 lines
6.4 KiB
C#
using DigitalData.Modules.Logging;
|
|
using DigitalData.Modules.Config;
|
|
using DigitalData.Modules.Database;
|
|
using Microsoft.VisualBasic;
|
|
|
|
namespace ReportViewer
|
|
{
|
|
public partial class FrmMain : DevExpress.XtraBars.Ribbon.RibbonForm
|
|
{
|
|
private readonly LogConfig logConfig;
|
|
private readonly Logger logger;
|
|
private ConfigManager<Config>? 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;
|
|
dateEditDate.EditValue = DateTime.Now;
|
|
|
|
configManager = new ConfigManager<Config>(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
|
|
{
|
|
splashScreenManager1.ShowWaitForm();
|
|
|
|
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 (dateEditDate.EditValue != null)
|
|
date = (DateTime)dateEditDate.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);
|
|
MessageBox.Show("Unbehandelter Fehler: " + ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
}
|
|
finally
|
|
{
|
|
splashScreenManager1.CloseWaitForm();
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
} |