# Class DisplayController

Namespace
  adas_core.Controllers

Assembly
  adas-core.dll

    [Route("displays")]
    [ApiController]
    public class DisplayController : ControllerBase

Inheritance
  object
  ControllerBase
  DisplayController

Inherited Members
  ControllerBase.StatusCode(int)
  ControllerBase.StatusCode(int, object)
  ControllerBase.Content(string)
  ControllerBase.Content(string, string)
  ControllerBase.Content(string, string, Encoding)
  ControllerBase.Content(string, MediaTypeHeaderValue)
  ControllerBase.NoContent()
  ControllerBase.Ok()
  ControllerBase.Ok(object)
  ControllerBase.Redirect(string)
  ControllerBase.RedirectPermanent(string)
  ControllerBase.RedirectPreserveMethod(string)
  ControllerBase.RedirectPermanentPreserveMethod(string)
  ControllerBase.LocalRedirect(string)
  ControllerBase.LocalRedirectPermanent(string)
  ControllerBase.LocalRedirectPreserveMethod(string)
  ControllerBase.LocalRedirectPermanentPreserveMethod(string)
  ControllerBase.RedirectToAction()
  ControllerBase.RedirectToAction(string)
  ControllerBase.RedirectToAction(string, object)
  ControllerBase.RedirectToAction(string, string)
  ControllerBase.RedirectToAction(string, string, object)
  ControllerBase.RedirectToAction(string, string, string)
  ControllerBase.RedirectToAction(string, string, object, string)
  ControllerBase.RedirectToActionPreserveMethod(string, string, object, string)
  ControllerBase.RedirectToActionPermanent(string)
  ControllerBase.RedirectToActionPermanent(string, object)
  ControllerBase.RedirectToActionPermanent(string, string)
  ControllerBase.RedirectToActionPermanent(string, string, string)
  ControllerBase.RedirectToActionPermanent(string, string, object)
  ControllerBase.RedirectToActionPermanent(string, string, object, string)
  ControllerBase.RedirectToActionPermanentPreserveMethod(string, string, object, string)
  ControllerBase.RedirectToRoute(string)
  ControllerBase.RedirectToRoute(object)
  ControllerBase.RedirectToRoute(string, object)
  ControllerBase.RedirectToRoute(string, string)
  ControllerBase.RedirectToRoute(string, object, string)
  ControllerBase.RedirectToRoutePreserveMethod(string, object, string)
  ControllerBase.RedirectToRoutePermanent(string)
  ControllerBase.RedirectToRoutePermanent(object)
  ControllerBase.RedirectToRoutePermanent(string, object)
  ControllerBase.RedirectToRoutePermanent(string, string)
  ControllerBase.RedirectToRoutePermanent(string, object, string)
  ControllerBase.RedirectToRoutePermanentPreserveMethod(string, object, string)
  ControllerBase.RedirectToPage(string)
  ControllerBase.RedirectToPage(string, object)
  ControllerBase.RedirectToPage(string, string)
  ControllerBase.RedirectToPage(string, string, object)
  ControllerBase.RedirectToPage(string, string, string)
  ControllerBase.RedirectToPage(string, string, object, string)
  ControllerBase.RedirectToPagePermanent(string)
  ControllerBase.RedirectToPagePermanent(string, object)
  ControllerBase.RedirectToPagePermanent(string, string)
  ControllerBase.RedirectToPagePermanent(string, string, string)
  ControllerBase.RedirectToPagePermanent(string, string, object, string)
  ControllerBase.RedirectToPagePreserveMethod(string, string, object, string)
  ControllerBase.RedirectToPagePermanentPreserveMethod(string, string, object, string)
  ControllerBase.File(byte[], string)
  ControllerBase.File(byte[], string, bool)
  ControllerBase.File(byte[], string, string)
  ControllerBase.File(byte[], string, string, bool)
  ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.File(Stream, string)
  ControllerBase.File(Stream, string, bool)
  ControllerBase.File(Stream, string, string)
  ControllerBase.File(Stream, string, string, bool)
  ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.File(string, string)
  ControllerBase.File(string, string, bool)
  ControllerBase.File(string, string, string)
  ControllerBase.File(string, string, string, bool)
  ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.PhysicalFile(string, string)
  ControllerBase.PhysicalFile(string, string, bool)
  ControllerBase.PhysicalFile(string, string, string)
  ControllerBase.PhysicalFile(string, string, string, bool)
  ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue)
  ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool)
  ControllerBase.Unauthorized()
  ControllerBase.Unauthorized(object)
  ControllerBase.NotFound()
  ControllerBase.NotFound(object)
  ControllerBase.BadRequest()
  ControllerBase.BadRequest(object)
  ControllerBase.BadRequest(ModelStateDictionary)
  ControllerBase.UnprocessableEntity()
  ControllerBase.UnprocessableEntity(object)
  ControllerBase.UnprocessableEntity(ModelStateDictionary)
  ControllerBase.Conflict()
  ControllerBase.Conflict(object)
  ControllerBase.Conflict(ModelStateDictionary)
  ControllerBase.Problem(string, string, int?, string, string)
  ControllerBase.ValidationProblem(ValidationProblemDetails)
  ControllerBase.ValidationProblem(ModelStateDictionary)
  ControllerBase.ValidationProblem()
  ControllerBase.ValidationProblem(string, string, int?, string, string, ModelStateDictionary)
  ControllerBase.Created()
  ControllerBase.Created(string, object)
  ControllerBase.Created(Uri, object)
  ControllerBase.CreatedAtAction(string, object)
  ControllerBase.CreatedAtAction(string, object, object)
  ControllerBase.CreatedAtAction(string, string, object, object)
  ControllerBase.CreatedAtRoute(string, object)
  ControllerBase.CreatedAtRoute(object, object)
  ControllerBase.CreatedAtRoute(string, object, object)
  ControllerBase.Accepted()
  ControllerBase.Accepted(object)
  ControllerBase.Accepted(Uri)
  ControllerBase.Accepted(string)
  ControllerBase.Accepted(string, object)
  ControllerBase.Accepted(Uri, object)
  ControllerBase.AcceptedAtAction(string)
  ControllerBase.AcceptedAtAction(string, string)
  ControllerBase.AcceptedAtAction(string, object)
  ControllerBase.AcceptedAtAction(string, string, object)
  ControllerBase.AcceptedAtAction(string, object, object)
  ControllerBase.AcceptedAtAction(string, string, object, object)
  ControllerBase.AcceptedAtRoute(object)
  ControllerBase.AcceptedAtRoute(string)
  ControllerBase.AcceptedAtRoute(string, object)
  ControllerBase.AcceptedAtRoute(object, object)
  ControllerBase.AcceptedAtRoute(string, object, object)
  ControllerBase.Challenge()
  ControllerBase.Challenge(params string[])
  ControllerBase.Challenge(AuthenticationProperties)
  ControllerBase.Challenge(AuthenticationProperties, params string[])
  ControllerBase.Forbid()
  ControllerBase.Forbid(params string[])
  ControllerBase.Forbid(AuthenticationProperties)
  ControllerBase.Forbid(AuthenticationProperties, params string[])
  ControllerBase.SignIn(ClaimsPrincipal)
  ControllerBase.SignIn(ClaimsPrincipal, string)
  ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties)
  ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties, string)
  ControllerBase.SignOut()
  ControllerBase.SignOut(AuthenticationProperties)
  ControllerBase.SignOut(params string[])
  ControllerBase.SignOut(AuthenticationProperties, params string[])
  ControllerBase.TryUpdateModelAsync<TModel>(TModel)
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string)
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string, IValueProvider)
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string, params Expression<Func<TModel, object>>[])
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string, Func<ModelMetadata, bool>)
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string, IValueProvider, params Expression<Func<TModel, object>>[])
  ControllerBase.TryUpdateModelAsync<TModel>(TModel, string, IValueProvider, Func<ModelMetadata, bool>)
  ControllerBase.TryUpdateModelAsync(object, Type, string)
  ControllerBase.TryUpdateModelAsync(object, Type, string, IValueProvider, Func<ModelMetadata, bool>)
  ControllerBase.TryValidateModel(object)
  ControllerBase.TryValidateModel(object, string)
  ControllerBase.HttpContext
  ControllerBase.Request
  ControllerBase.Response
  ControllerBase.RouteData
  ControllerBase.ModelState
  ControllerBase.ControllerContext
  ControllerBase.MetadataProvider
  ControllerBase.ModelBinderFactory
  ControllerBase.Url
  ControllerBase.ObjectValidator
  ControllerBase.ProblemDetailsFactory
  ControllerBase.User
  ControllerBase.Empty
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

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

## Constructors

### DisplayController(IDisplayService, IDisplayConfigService)

    public DisplayController(IDisplayService displayService, IDisplayConfigService displayConfigService)

#### Parameters

`displayService` IDisplayService
`displayConfigService` IDisplayConfigService

## Methods

### CreateDisplay(Display)

Insert display

    [HttpPost]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> CreateDisplay(Display display)

#### Parameters

`display` Display

#### Returns

Task<IActionResult>

  display

### DefaultConfig(string, DisplayType)

Retrieves the default display configuration for a given identifier and display type, after validating the identifier format.

    [HttpGet("{id}/unitId/{type}/type")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> DefaultConfig(string id, DisplayConfigEnums.DisplayType type)

#### Parameters

`id` string

  The string representation of the object identifier to look up; must be a valid ObjectId.

`type` DisplayConfigEnums.DisplayType

  The display type used to filter the configuration lookup.

#### Returns

Task<IActionResult>

  An IActionResult containing the display configuration retrieved for the supplied identifier and type.

#### Exceptions

BadRequestException

  Thrown when `id` is not a valid ObjectId format.

### DeleteDisplay(string)

Delete display

    [HttpDelete("{id}")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> DeleteDisplay(string id)

#### Parameters

`id` string

#### Returns

Task<IActionResult>

  display

### GetAllMinimalListByType()

Get By type all minimal display list on a DTO

    [HttpGet("{type}/compact")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetAllMinimalListByType()

#### Returns

Task<IActionResult>

  List<display></display>

### GetById(string, string)

Get display by object id

    [HttpGet("{localeEnum}/{id}")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetById(string id, string localeEnum)

#### Parameters

`id` string
`localeEnum` string

#### Returns

Task<IActionResult>

  display

### GetByIdWithNoPermissions(string)

Retrieves a display entity by its identifier, intended for administrative panel access without enforcing user-level permissions.

    [HttpGet("{id}/adm-panel")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetByIdWithNoPermissions(string id)

#### Parameters

`id` string

  The string representation of the display's unique identifier.

#### Returns

Task<IActionResult>

  An IActionResult containing the requested display entity.

#### Exceptions

BadRequestException

  Thrown when the provided `id` is not a valid ObjectId format.

### GetPaginatedDisplays(PaginationFilter)

Retrieves a paginated list of displays based on the provided pagination filter, after enforcing role-based and resource-level authorization.

    [HttpPost("paginated")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetPaginatedDisplays(PaginationFilter request)

#### Parameters

`request` PaginationFilter

  The pagination filter containing paging criteria sent in the request body.

#### Returns

Task<IActionResult>

  An IActionResult containing the paginated displays wrapped in an HTTP 200 OK response.

#### Exceptions

BadRequestException

  Thrown when the `request` payload is null, indicating missing required parameters.

### GetPocAvailablebyDisplayId(List<string>)

Retrieves the list of available points of contact (POC) associated with the specified display identifiers.

    [HttpPost("poc-available")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetPocAvailablebyDisplayId(List<string> displayIds)

#### Parameters

`displayIds` List<string>

  The collection of display identifiers used to look up the available points of contact.

#### Returns

Task<IActionResult>

  An IActionResult containing the list of available points of contact matching the provided display identifiers.

### GetPocByDisplayId(string)

Retrieves the list of POCs associated with the specified display identifier. Validates that the provided `displayId` is a valid ObjectId format; if not, a bad request exception is thrown.

    [HttpGet("{displayId}/pocs")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> GetPocByDisplayId(string displayId)

#### Parameters

`displayId` string

  The display identifier used to look up the associated POCs.

#### Returns

Task<IActionResult>

  An IActionResult containing the POC list returned by the display service.

#### Exceptions

BadRequestException

  Thrown when `displayId` is not a valid ObjectId format.

### List()

Get all display list

    [HttpGet]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> List()

#### Returns

Task<IActionResult>

  List<display></display>

### ListByPointOfCare(string)

Get display by name

    [HttpGet("{name}/name")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListByPointOfCare(string name)

#### Parameters

`name` string

#### Returns

Task<IActionResult>

  display

### ListByPointOfCare(PointOfCare)

Get all display list by pointOfCare

    [HttpPost("poc")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListByPointOfCare(PointOfCare pointOfCare)

#### Parameters

`pointOfCare` PointOfCare

#### Returns

Task<IActionResult>

  List<display></display>

### ListByType(DisplayType)

Get By type all display list

    [HttpGet("{type}/type")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListByType(DisplayConfigEnums.DisplayType type)

#### Parameters

`type` DisplayConfigEnums.DisplayType

#### Returns

Task<IActionResult>

  List<display></display>

### ListCompact()

Retrieves a compact list of all displays, requiring the caller to be authenticated with the AuthSome role and to have the "Source" / "DisplayId" permission.

    [HttpGet("compact")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListCompact()

#### Returns

Task<IActionResult>

  An IActionResult containing the HTTP 200 response with the compact display list returned by the display service.

### ListInfoId(string, bool?, bool?)

Get display info by it object id and fill options

    [HttpGet("{id}/info")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListInfoId(string id, bool? fillPointOfCare, bool? fillDisplayList)

#### Parameters

`id` string
`fillPointOfCare` bool?
`fillDisplayList` bool?

#### Returns

Task<IActionResult>

  display

### ListUnitById(string)

Get display list by it unit object id

    [HttpGet("{id}/unitId")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    [PermissionAuthorize("Source", "DisplayId")]
    public Task<IActionResult> ListUnitById(string id)

#### Parameters

`id` string

#### Returns

Task<IActionResult>

  List<unit></unit>

### UpdateConfig(string, string)

Update display config id and notify subscribers

    [HttpPut("{idDisplay}/config-preset/{idConfig}")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> UpdateConfig(string idDisplay, string idConfig)

#### Parameters

`idDisplay` string
`idConfig` string

#### Returns

Task<IActionResult>

  display

### UpdateDisplayName(string, string)

Update display name

    [HttpPut("{id}/{name}")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> UpdateDisplayName(string id, string name)

#### Parameters

`id` string
`name` string

#### Returns

Task<IActionResult>

  display

### UpdatePointOfCares(string, List<string>)

Update display PointOfCare id and notify subscribers

    [HttpPut("{id}/pocs-ids")]
    [AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
    public Task<IActionResult> UpdatePointOfCares(string id, List<string> pointOfCareIdList)

#### Parameters

`id` string
`pointOfCareIdList` List<string>

#### Returns

Task<IActionResult>

  display