Beispiel #1
0
        /// <summary>
        /// Logs a <see cref="WellKnownEventLogEventsEnum"/> provided it is a cumulated event (e.g. all roles added or roles removed) to CMS event log.
        /// </summary>
        /// <remarks>
        /// Provided <paramref name="event"/> determines all the description and source and event code of the event log entry.
        /// </remarks>
        /// <param name="names">Names of items (i.e. roles or users) that were added or removed or updated.</param>
        /// <param name="event">Type of event to log</param>
        /// <param name="descriptionArguments">Arguments required for correct event description composition (e.g user name for certain <paramref name="event"/> types – i.e. <see cref="WellKnownEventLogEventsEnum.UserAddedToRoles"/> and <see cref="WellKnownEventLogEventsEnum.UserRemovedFromRoles"/>)</param>
        internal static void LogCumulativeWellKnownEvent(this ICollection <string> names, WellKnownEventLogEventsEnum @event, params object[] descriptionArguments)
        {
            // No names, no event in the log
            if (!names.Any())
            {
                return;
            }

            // Compose event message based on eventCode
            var eventProperties  = WELL_KNOWN_EVENT_PROPERTIES[@event];
            var namesFormatted   = String.Join("," + Environment.NewLine, names.Where(name => name != null));
            var eventDescription = (eventProperties.DescriptionContainsFormattingItems
                    ? String.Format(eventProperties.Description, descriptionArguments)
                    : eventProperties.Description)
                                   + Environment.NewLine
                                   + Environment.NewLine
                                   + namesFormatted;

            // Write down the log
            Service.Resolve <IEventLogService>().LogInformation(
                eventProperties.Source,
                eventProperties.EventCode,
                eventDescription);
        }
Beispiel #2
0
 /// <summary>
 /// Creates new instance of <see cref="CumulatedChanges"/>
 /// </summary>
 /// <param name="created"><see cref="CMS.EventLog.EventLogInfo"/> event type to be logged for created items (i.e. <see cref="WellKnownEventLogEventsEnum.UsersCreated"/> or <see cref="WellKnownEventLogEventsEnum.RolesCreated"/>)</param>
 /// <param name="updated"><see cref="CMS.EventLog.EventLogInfo"/> event type to be logged for updated items (i.e. <see cref="WellKnownEventLogEventsEnum.UsersUpdated"/> or <see cref="WellKnownEventLogEventsEnum.RolesUpdated"/>)</param>
 /// <param name="deleted"><see cref="CMS.EventLog.EventLogInfo"/> event type to be logged for deleted items (i.e. <see cref="WellKnownEventLogEventsEnum.UsersDeleted"/> or <see cref="WellKnownEventLogEventsEnum.RolesDeleted"/>)</param>
 public CumulatedChanges(WellKnownEventLogEventsEnum created, WellKnownEventLogEventsEnum updated, WellKnownEventLogEventsEnum deleted)
 {
     mCreated = created;
     mUpdated = updated;
     mDeleted = deleted;
 }