# Interface INoticeService

Namespace
  adas_core.Application.Services.Interfaces

Assembly
  adas-core.Application.dll

    public interface INoticeService

Extension Methods
  NumberUtils.IsNumber(object)
  NumberUtils.ToDouble(object)
  ObjectUtils.ToStr(object?)

## Methods

### DeleteNoticeAsync(Notice)

Asynchronously deletes the specified notice.

    Task DeleteNoticeAsync(Notice notice)

#### Parameters

`notice` Notice

  The notice to delete.

#### Returns

Task

  A task that represents the asynchronous delete operation.

### DeleteNoticeByIdAsync(ObjectId)

Asynchronously deletes a notice identified by the specified identifier.

    Task DeleteNoticeByIdAsync(ObjectId noticeId)

#### Parameters

`noticeId` ObjectId

  The unique identifier of the notice to delete.

#### Returns

Task

### GetNoticeByIdAsync(ObjectId)

Asynchronously retrieves a Notice entity by its unique identifier from the data store. Returns null when no notice matches the provided identifier.

    Task<Notice?> GetNoticeByIdAsync(ObjectId noticeId)

#### Parameters

`noticeId` ObjectId

  The MongoDB.Bson.ObjectId that uniquely identifies the notice to retrieve.

#### Returns

Task<Notice>

  A Task<TResult> containing the matching Notice, or null if no notice is found.

### GetNoticeByTypeAsync(string)

Asynchronously retrieves a collection of notices filtered by the specified notice type. The task result may be null when no notices match the given type.

    Task<IEnumerable<Notice>?> GetNoticeByTypeAsync(string noticeType)

#### Parameters

`noticeType` string

  The type of notice to filter by.

#### Returns

Task<IEnumerable<Notice>>

  A task containing an enumerable of matching Notice objects, or null if none are found.

### GetNoticesAsync()

Asynchronously retrieves a collection of notices.

    Task<IEnumerable<Notice>> GetNoticesAsync()

#### Returns

Task<IEnumerable<Notice>>

  A task that represents the asynchronous operation. The task result contains an enumerable collection of Notice objects.

### GetNoticesByDisplayId(ObjectId)

Asynchronously retrieves the collection of notices associated with the specified display identifier.

    Task<IEnumerable<Notice>?> GetNoticesByDisplayId(ObjectId displayId)

#### Parameters

`displayId` ObjectId

  The identifier of the display whose notices should be retrieved.

#### Returns

Task<IEnumerable<Notice>>

  A task that returns the notices for the display, or `null` when no notices are found for the given display.

### InsertNotice(Notice)

Inserts a new notice into the data store.

    Task<Notice?> InsertNotice(Notice notice)

#### Parameters

`notice` Notice

  The notice entity to insert.

#### Returns

Task<Notice>

  A task that represents the asynchronous operation. The task result contains the inserted Notice, or `null` if the notice could not be inserted.

### SaveRequest(ApiRequest)

Persists the provided API request to the data store.

    Task SaveRequest(ApiRequest apiRequest)

#### Parameters

`apiRequest` ApiRequest

  The API request to be saved.

#### Returns

Task

### SaveRequestAsync(ApiRequest)

Asynchronously persists the specified API request.

    Task SaveRequestAsync(ApiRequest apiRequest)

#### Parameters

`apiRequest` ApiRequest

  The API request to save.

#### Returns

Task

### UpdateNoticeAsync(Notice)

Asynchronously updates an existing notice in the system.

    Task UpdateNoticeAsync(Notice notice)

#### Parameters

`notice` Notice

  The notice entity containing the updated information to be persisted.

#### Returns

Task