MainForm.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Microsoft.Extensions.DependencyInjection;
  2. using Microsoft.Extensions.Logging;
  3. using qdr.app.bundleboiler.business.Services.Interfaces;
  4. using qdr.app.bundleboiler.data.Model;
  5. using qdr.app.bundleboiler.ui.Configuration;
  6. using qdr.app.bundleboiler.ui.Dialogs;
  7. using Quadarax.Foundation.Core.Business.Injection;
  8. using Quadarax.Foundation.Core.Logging;
  9. using System.Windows.Forms;
  10. namespace bundleboiler.ui
  11. {
  12. public partial class MainForm : Form
  13. {
  14. #region *** Private fields ***
  15. ILog? _log;
  16. IDatabaseService _serviceDatabase;
  17. #endregion
  18. #region *** Constructor ***
  19. public MainForm(IDatabaseService? serviceDatabase, Quadarax.Foundation.Core.Logging.ILogger? logger)
  20. {
  21. InitializeComponent();
  22. _log = logger?.GetLogger(GetType().Name);
  23. _serviceDatabase = serviceDatabase ?? throw new ArgumentNullException(nameof(serviceDatabase));
  24. InitializeInternal();
  25. }
  26. #endregion
  27. #region *** Private operations ***
  28. #region **** Initialiation ****
  29. private void InitializeInternal()
  30. {
  31. var loggerFactory = new Quadarax.Foundation.Core.NLog.LoggerFactory();
  32. try
  33. {
  34. _serviceDatabase.EnsureDatabase();
  35. }
  36. catch (Exception e)
  37. {
  38. new ErrorMessageDialog(loggerFactory, "Cannot initialize application", e).ShowDialog();
  39. }
  40. }
  41. #endregion
  42. #region **** Logging ****
  43. private void LogDebug(string message)
  44. {
  45. _log?.Log(LogSeverityEnum.Debug, message);
  46. }
  47. #endregion
  48. #endregion
  49. }
  50. }