# Interface ISectionRepository

Namespace
  adas_core.Application.Repositories.Interfaces

Assembly
  adas-core.Application.dll

    public interface ISectionRepository : IMongoRepository<Section>

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

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

## Methods

### FindById(object)

Asynchronously retrieves a Section by its identifier, returning `null` when no matching section is found.

    Task<Section?> FindById(object id)

#### Parameters

`id` object

  The identifier of the section to look up.

#### Returns

Task<Section>

  A task that represents the asynchronous operation. The task result contains the matching Section, or `null` if no section with the specified identifier exists.

### FindById(string)

Asynchronously retrieves the Section that matches the specified identifier. Returns `null` when no matching section is found.

    Task<Section?> FindById(string id)

#### Parameters

`id` string

  The unique identifier of the section to look up.

#### Returns

Task<Section>

  A Task<TResult> that resolves to the matching Section, or `null` if no section is found.

### FindByLocation(PatientLocation)

Retrieves a list of sections associated with the specified patient location.

    Task<List<Section>> FindByLocation(PatientLocation location)

#### Parameters

`location` PatientLocation

  The patient location used to filter the sections.

#### Returns

Task<List<Section>>

  A task that represents the asynchronous operation. The task result contains the list of sections matching the specified patient location.

### FindByPointOfCare(string)

Asynchronously retrieves the Section associated with the specified point of care.

    Task<Section?> FindByPointOfCare(string pointOfCare)

#### Parameters

`pointOfCare` string

  The point of care identifier used to look up the section.

#### Returns

Task<Section>

  A task that returns the matching Section, or `null` if no section is found for the given point of care.

### FindBySection(string)

Asynchronously retrieves a Section that matches the specified section identifier.

    Task<Section?> FindBySection(string section)

#### Parameters

`section` string

  The section name or identifier used to look up the matching Section.

#### Returns

Task<Section>

  A Task<TResult> that yields the matching Section, or `null` if no section is found.

### GetAll()

Asynchronously retrieves all sections.

    Task<List<Section>> GetAll()

#### Returns

Task<List<Section>>

  A task that represents the asynchronous operation. The task result contains a list of all Section items.

### InsertOneSection(Section)

Inserts a single Section into the underlying data store and returns the inserted entity, or null if the operation did not produce a result.

    Task<Section?> InsertOneSection(Section section)

#### Parameters

`section` Section

  The Section instance to be inserted.

#### Returns

Task<Section>

  A Task<TResult> that resolves to the inserted Section, or null if no section was inserted.

### UpdateSection(Section)

Updates the specified section in the system and returns the updated entity.

    Task<Section?> UpdateSection(Section section)

#### Parameters

`section` Section

  The section entity containing the updated information.

#### Returns

Task<Section>

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