/// <summary> /// Get SSIS event type by isag event type /// </summary> /// <param name="type">idag event type</param> /// <returns>SSIS event type</returns> private static SSIS_EventType GetSSISEventType(IsagEventType type) { int n = (int)type; if (n >= 170 && n < 180) { return(SSIS_EventType.Error); } else if (n >= 180) { return(SSIS_EventType.Warning); } else { return(SSIS_EventType.Information); } }
/// <summary> /// Log event for the given error type and log level? /// </summary> /// <param name="errorType">error type and log level</param> /// <returns>Log event for the given error type?</returns> private bool DoLog(IsagEventType errorType) { int code = (int)errorType; if (_logLevel == 3 || code >= 170) { return(true); } else if (_logLevel == 2 && code < 140) { return(true); } else if (_logLevel == 1 && code < 110) { return(true); } else { return(false); } }
/// <summary> /// Fire event /// </summary> /// <param name="eventType">event type</param> /// <param name="description">event description</param> /// <param name="parameter">event parameter list</param> public void Fire(IsagEventType eventType, string description, string[] parameter) { if (!DoLog(eventType)) { return; //loglevel disables logging } bool cancel = false; //insert parameter into description description = string.Format(description, parameter); description += " | " + DestinationTableName + " | " + CustomEventValue; foreach (string param in parameter) { description += " | " + param; } switch (GetSSISEventType(eventType)) { case SSIS_EventType.Information: ComponentMetaData.FireInformation((int)eventType, ComponentMetaData.Name, description, "", 0, ref cancel); break; case SSIS_EventType.Progress: throw new NotImplementedException("Progress messages are not implemented"); case SSIS_EventType.Warning: ComponentMetaData.FireWarning((int)eventType, ComponentMetaData.Name, description, string.Empty, 0); break; case SSIS_EventType.Error: ComponentMetaData.FireError((int)eventType, ComponentMetaData.Name, description, string.Empty, 0, out cancel); break; default: ComponentMetaData.FireError((int)eventType, ComponentMetaData.Name, description, string.Empty, 0, out cancel); break; } }
/// <summary> /// Fire event /// </summary> /// <param name="eventType">event type</param> /// <param name="description">event description</param> /// <param name="parameter">event parameter</param> public void Fire(IsagEventType eventType, string description, string parameter) { Fire(eventType, description, new string[] { parameter }); }
/// <summary> /// Fire event /// </summary> /// <param name="eventType">event type</param> /// <param name="description">event description</param> public void Fire(IsagEventType eventType, string description) { Fire(eventType, description, new string[0]); }