# Interface IDisplayConfigRepository

Namespace
  adas_core.Application.Repositories.Interfaces

Assembly
  adas-core.Application.dll

    public interface IDisplayConfigRepository : IMongoRepository<DisplayConfig>

Inherited Members
  IMongoRepository<DisplayConfig>.Collection
  IMongoRepository<DisplayConfig>.GetCollectionName()
  IMongoRepository<DisplayConfig>.InsertOneAsync(DisplayConfig)
  IMongoRepository<DisplayConfig>.DeleteAsync(ObjectId)
  IMongoRepository<DisplayConfig>.UpdateOneAsync(ObjectId, DisplayConfig)

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

## Methods

### AddChartId(ObjectId?, ObjectId)

Adds a chart identifier to the specified display configuration asynchronously.

    Task<bool> AddChartId(ObjectId? displayConfigId, ObjectId newChartIdToAdd)

#### Parameters

`displayConfigId` ObjectId?

  The identifier of the display configuration to which the chart ID will be added, or `null` when no specific configuration is targeted.

`newChartIdToAdd` ObjectId

  The chart identifier to add.

#### Returns

Task<bool>

  A task that represents the asynchronous operation. The task result is `true` if the chart identifier was successfully added; otherwise, `false`.

### DeleteDisplayConfig(ObjectId)

Deletes a display configuration identified by the specified object ID.

    Task<DisplayConfig?> DeleteDisplayConfig(ObjectId objectIdConfigDisplay)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The object ID of the display configuration to delete.

#### Returns

Task<DisplayConfig>

  A task that represents the asynchronous delete operation. The task result contains the deleted display configuration, or null if no configuration was found with the specified ID.

### GetAll()

Asynchronously retrieves all display configurations.

    Task<List<DisplayConfig>> GetAll()

#### Returns

Task<List<DisplayConfig>>

  A task that represents the asynchronous operation. The task result contains a list of all DisplayConfig entries.

### GetAllByCardConfigId(ObjectId)

Retrieves all object identifiers associated with the specified card configuration identifier.

    Task<List<ObjectId>> GetAllByCardConfigId(ObjectId cardConfigId)

#### Parameters

`cardConfigId` ObjectId

  The identifier of the card configuration whose related objects should be returned.

#### Returns

Task<List<ObjectId>>

  A task that represents the asynchronous operation, containing a list of MongoDB.Bson.ObjectId values linked to the given card configuration.

### GetAllByCardConfigIdAndRotating(ObjectId)

Asynchronously retrieves a list of ObjectIds associated with the specified card configuration that are marked as rotating.

    Task<List<ObjectId>> GetAllByCardConfigIdAndRotating(ObjectId cardConfigId)

#### Parameters

`cardConfigId` ObjectId

  The ObjectId of the card configuration used to filter the results.

#### Returns

Task<List<ObjectId>>

  A task representing the asynchronous operation, containing a list of ObjectIds that match the given card configuration and rotating criteria.

### GetAllByCardDetailConfigId(ObjectId)

Asynchronously retrieves a list of identifiers associated with the specified card detail base configuration.

    Task<List<ObjectId>> GetAllByCardDetailConfigId(ObjectId baseConfigId)

#### Parameters

`baseConfigId` ObjectId

  The identifier of the card detail base configuration to filter by.

#### Returns

Task<List<ObjectId>>

  A task that represents the asynchronous operation, containing a list of MongoDB.Bson.ObjectId values matching the provided base configuration identifier.

### GetAllCompact()

Retrieves all display configurations in a compact, minimal representation.

    Task<List<DisplayConfigMinimalResponse>> GetAllCompact()

#### Returns

Task<List<DisplayConfigMinimalResponse>>

  A task containing a list of DisplayConfigMinimalResponse objects representing the display configurations.

### GetAllPaginated(PaginationFilter)

Retrieves a paginated set of DisplayConfig entities projected as DisplayConfigSummary.

    IFindFluent<DisplayConfig, DisplayConfigSummary> GetAllPaginated(PaginationFilter request)

#### Parameters

`request` PaginationFilter

  The pagination filter applied to the query.

#### Returns

IFindFluent<DisplayConfig, DisplayConfigSummary>

  An MongoDB.Driver.IFindFluent<TDocument, TProjection> that produces the paginated DisplayConfigSummary results.

### GetById(ObjectId)

Retrieves a DisplayConfig entity by its unique identifier asynchronously. Returns `null` when no matching display configuration is found.

    Task<DisplayConfig?> GetById(ObjectId id)

#### Parameters

`id` ObjectId

  The unique identifier of the display configuration to retrieve.

#### Returns

Task<DisplayConfig>

  A task that represents the asynchronous operation. The task result contains the DisplayConfig if found, or `null` if no matching record exists.

### GetByType(DisplayType)

Asynchronously retrieves the list of display configurations that match the specified display type.

    Task<List<DisplayConfig>> GetByType(DisplayConfigEnums.DisplayType type)

#### Parameters

`type` DisplayConfigEnums.DisplayType

  The display type used to filter the returned display configurations.

#### Returns

Task<List<DisplayConfig>>

  A task that represents the asynchronous operation, containing the list of DisplayConfig entries matching the specified type.

### GetChartConfig(ObjectId)

Asynchronously retrieves the chart configuration associated with the specified chart object identifier.

    Task<ChartConfig> GetChartConfig(ObjectId objectIdConfigChart)

#### Parameters

`objectIdConfigChart` ObjectId

  The unique object identifier of the chart configuration to retrieve.

#### Returns

Task<ChartConfig>

  A task that represents the asynchronous operation, containing the ChartConfig associated with the specified identifier.

### GetDefault(DisplayType)

Asynchronously retrieves the default DisplayConfig for the specified display type. Returns `null` when no default configuration is found for the requested type.

    Task<DisplayConfig?> GetDefault(DisplayConfigEnums.DisplayType type)

#### Parameters

`type` DisplayConfigEnums.DisplayType

  The display type used to look up the default configuration.

#### Returns

Task<DisplayConfig>

  A task that represents the asynchronous operation. The task result contains the default DisplayConfig for the given type, or `null` if no default exists.

### GetDefaultByUnitIdAndType(ObjectId, DisplayType)

Retrieves the default DisplayConfig associated with the specified unit and display type. Returns `null` when no matching default configuration exists.

    Task<DisplayConfig?> GetDefaultByUnitIdAndType(ObjectId unitId, DisplayConfigEnums.DisplayType displayType)

#### Parameters

`unitId` ObjectId

  The identifier of the unit whose default display configuration is being requested.

`displayType` DisplayConfigEnums.DisplayType

  The display type used to filter the configuration lookup.

#### Returns

Task<DisplayConfig>

  A task containing the matching DisplayConfig, or `null` if no default configuration is found for the given unit and display type.

### InsertOneAsyncAndReturn(DisplayConfig)

Asynchronously inserts a new DisplayConfig and returns the persisted entity, typically populated with any server-generated values.

    Task<DisplayConfig?> InsertOneAsyncAndReturn(DisplayConfig config)

#### Parameters

`config` DisplayConfig

  The DisplayConfig to insert.

#### Returns

Task<DisplayConfig>

  A task that represents the asynchronous operation. The task result contains the inserted DisplayConfig, or null when no result is returned.

### UpdateBaseConfig(ObjectId, DisplayConfig)

Updates the base display configuration identified by the specified object identifier with the provided configuration data.

    Task<bool> UpdateBaseConfig(ObjectId objectIdConfigDisplay, DisplayConfig baseConfig)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The object identifier of the configuration display entry to update.

`baseConfig` DisplayConfig

  The new base display configuration values to apply.

#### Returns

Task<bool>

  A task that represents the asynchronous operation. The result is `true` if the update succeeded; otherwise, `false`.

### UpdateCardConfigId(ObjectId?, ObjectId?)

Updates the card configuration identifier for the specified display configuration and result.

    Task<bool> UpdateCardConfigId(ObjectId? displayConfigId, ObjectId? resultId)

#### Parameters

`displayConfigId` ObjectId?

  The identifier of the display configuration whose card configuration will be updated.

`resultId` ObjectId?

  The identifier of the result associated with the card configuration update.

#### Returns

Task<bool>

  A task that resolves to `true` if the update succeeded; otherwise, `false`.

### UpdateConfigColor(ObjectId, ColorConfig)

Asynchronously updates the color configuration for the specified config display entry.

    Task<bool> UpdateConfigColor(ObjectId objectIdConfigDisplay, ColorConfig colorConfig)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The unique identifier of the config display whose color configuration will be updated.

`colorConfig` ColorConfig

  The new color configuration to apply to the config display.

#### Returns

Task<bool>

  A task that resolves to `true` if the color configuration was successfully updated; otherwise, `false`.

### UpdateDeletedChartConfig(ObjectId)

Updates the configuration of a chart that was previously deleted, using the specified identifier.

    Task<UpdateResult> UpdateDeletedChartConfig(ObjectId deletedId)

#### Parameters

`deletedId` ObjectId

  The identifier of the deleted chart configuration to update.

#### Returns

Task<UpdateResult>

  A task that represents the asynchronous update operation, containing the result of the update.

### UpdateDetailConfigId(ObjectId?, ObjectId?)

Asynchronously updates the detail configuration identifier, associating it with the specified result identifier.

    Task<bool> UpdateDetailConfigId(ObjectId? displayConfigId, ObjectId? resultId)

#### Parameters

`displayConfigId` ObjectId?

  The nullable identifier of the display configuration to update.

`resultId` ObjectId?

  The nullable identifier of the result to associate with the configuration.

#### Returns

Task<bool>

  A task that represents the asynchronous operation, containing a boolean indicating whether the update was successful.

### UpdateDisplayConfigHospitalName(ObjectId, string)

Updates the hospital name associated with the specified display configuration.

    Task<bool> UpdateDisplayConfigHospitalName(ObjectId objectIdConfigDisplay, string name)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The identifier of the display configuration to update.

`name` string

  The new hospital name to apply to the display configuration.

#### Returns

Task<bool>

  A task that represents the asynchronous operation. The task result is `true` if the update succeeded; otherwise, `false`.

### UpdateDisplayNurse(ObjectId, DisplayNurseDto?, List<string>)

Updates an existing display nurse configuration identified by the specified identifier.

    Task<DisplayNurse?> UpdateDisplayNurse(ObjectId displayConfigId, DisplayNurseDto? newDisplayConfig, List<string> nurseObs)

#### Parameters

`displayConfigId` ObjectId

  The identifier of the display nurse configuration to update.

`newDisplayConfig` DisplayNurseDto

  The new display nurse configuration data, or null if not provided.

`nurseObs` List<string>

  The list of nurse observations to associate with the configuration.

#### Returns

Task<DisplayNurse>

  A task that represents the asynchronous operation, containing the updated DisplayNurse or null if not found.

### UpdateFieldList(ObjectId, List<Field>)

Updates the field list associated with the specified configuration display.

    Task<bool> UpdateFieldList(ObjectId objectIdConfigDisplay, List<Field> fields)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The identifier of the configuration display whose field list is being updated.

`fields` List<Field>

  The list of fields to apply to the configuration display.

#### Returns

Task<bool>

  A task that resolves to `true` if the field list was updated successfully; otherwise, `false`.

### UpdateHeaderConfig(ObjectId, HeaderConfig)

Updates an existing header configuration associated with the specified configuration display identifier.

    Task<bool> UpdateHeaderConfig(ObjectId objectIdConfigDisplay, HeaderConfig headerConfig)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The unique identifier of the configuration display whose header configuration is being updated.

`headerConfig` HeaderConfig

  The new header configuration values to apply.

#### Returns

Task<bool>

  A task that represents the asynchronous operation. The task result is `true` if the header configuration was successfully updated; otherwise, `false`.

### UpdateSetHomeBanner(ObjectId, List<BannerItem>)

Updates the home banner configuration identified by the specified config display ObjectId with the provided list of banner items.

    Task<bool> UpdateSetHomeBanner(ObjectId objectIdConfigDisplay, List<BannerItem> bannerItems)

#### Parameters

`objectIdConfigDisplay` ObjectId

  The ObjectId of the config display whose home banner set will be updated.

`bannerItems` List<BannerItem>

  The collection of banner items to apply to the home banner set.

#### Returns

Task<bool>

  A task that resolves to `true` if the home banner set was updated successfully; otherwise, `false`.

### UpdateSmartDisplay(ObjectId, SmartDisplay?)

Updates the smart display configuration identified by the specified ID with the provided new configuration.

    Task<SmartDisplay?> UpdateSmartDisplay(ObjectId displayConfigId, SmartDisplay? newDisplayConfig)

#### Parameters

`displayConfigId` ObjectId

  The unique identifier of the smart display configuration to update.

`newDisplayConfig` SmartDisplay

  The new smart display configuration to apply.

#### Returns

Task<SmartDisplay>

  A task that represents the asynchronous update operation, containing the updated smart display configuration, or null if no configuration with the given ID was found.