bool IJob.Initialize()
        {
            _printingConfiguration = PrintJobConfiguration.FromSettings("AlarmSourcePrinterJob");

            AssertPrintJobConfigurationIsComplete();
            return true;
        }
        /// <summary>
        /// Creates a new <see cref="T:PrintingConfiguration"/>-instance using the given identifier,
        /// and infers the settings from the default setting names (see constants).
        /// To use custom setting names, use the overload.
        /// </summary>
        /// <param name="identifier">The identifier to load the settings from.</param>
        /// <param name="printServerSettingName">The custom name of the "Print server" setting.</param>
        /// <param name="printerNameSettingName">The custom name of the "Printer name" setting.</param>
        /// <param name="copyCountSettingName">The custom name of the "Copy count" setting.</param>
        /// <returns>The created <see cref="T:PrintingConfiguration"/>.</returns>
        public static PrintJobConfiguration FromSettings(string identifier,
            string printServerSettingName,
            string printerNameSettingName,
            string copyCountSettingName)
        {
            Assertions.AssertNotEmpty(identifier, "identifier");
            Assertions.AssertNotEmpty(printServerSettingName, "printServerSettingName");
            Assertions.AssertNotEmpty(printerNameSettingName, "printerNameSettingName");
            Assertions.AssertNotEmpty(copyCountSettingName, "copyCountSettingName");

            PrintJobConfiguration configuration = new PrintJobConfiguration();
            configuration.PrintServer = SettingsManager.Instance.GetSetting(identifier, printServerSettingName).GetString();
            configuration.PrinterName = SettingsManager.Instance.GetSetting(identifier, printerNameSettingName).GetString();
            configuration.CopyCount = SettingsManager.Instance.GetSetting(identifier, copyCountSettingName).GetInt32();

            return configuration;
        }