/// <summary>
 /// Initializes a new instance of the AuditLogDto class.
 /// </summary>
 /// <param name="serviceName">The name of the Orchestrator service that
 /// performed a given action in the system.</param>
 /// <param name="methodName">The name of the service method that
 /// performed a given action in the system.</param>
 /// <param name="parameters">JSON representation of the method
 /// parameters and their values for the given action.</param>
 /// <param name="executionTime">The date and time when the action was
 /// performed.</param>
 /// <param name="action">The action performed (create, update, delete
 /// etc). Possible values include: 'Unknown', 'Create', 'Update',
 /// 'Delete', 'StartJob', 'StopJob', 'Associate', 'Upload',
 /// 'ChangeStatus', 'Import', 'ChangePassword', 'Register'</param>
 /// <param name="component">The component for which the action was
 /// performed. Possible values include: 'Unknown', 'Assets',
 /// 'Environments', 'Processes', 'Queues', 'Robots', 'Roles',
 /// 'Schedules', 'Users', 'Comments', 'Units', 'Jobs', 'Settings',
 /// 'Packages', 'License', 'Tenant'</param>
 /// <param name="displayName">The display name of the resource acted
 /// on, usually Name</param>
 /// <param name="entityId">The Id of the resource acted on</param>
 /// <param name="operationText">User friendly description of the
 /// change, e.g. "User X created robot Y"</param>
 /// <param name="userName">UserName that sent the request</param>
 /// <param name="userType">The type of user that sent the request.
 /// Possible values include: 'User', 'Robot'</param>
 /// <param name="entities">Audit entity details collection</param>
 public AuditLogDto(string serviceName = default(string), string methodName = default(string), string parameters = default(string), System.DateTime?executionTime = default(System.DateTime?), AuditLogDtoAction?action = default(AuditLogDtoAction?), AuditLogDtoComponent?component = default(AuditLogDtoComponent?), string displayName = default(string), long?entityId = default(long?), string operationText = default(string), string userName = default(string), AuditLogDtoUserType?userType = default(AuditLogDtoUserType?), IList <AuditLogEntityDto> entities = default(IList <AuditLogEntityDto>), long?userId = default(long?), long?id = default(long?))
 {
     ServiceName   = serviceName;
     MethodName    = methodName;
     Parameters    = parameters;
     ExecutionTime = executionTime;
     Action        = action;
     Component     = component;
     DisplayName   = displayName;
     EntityId      = entityId;
     OperationText = operationText;
     UserName      = userName;
     UserType      = userType;
     Entities      = entities;
     UserId        = userId;
     Id            = id;
     CustomInit();
 }
 internal static string ToSerializedValue(this AuditLogDtoAction?value)
 {
     return(value == null ? null : ((AuditLogDtoAction)value).ToSerializedValue());
 }