Skip to content

T013: [P] Create ICertificateRepository interface #49

@Hemavathi15sg

Description

@Hemavathi15sg

Phase 2: Foundational

Task: T013
Status: Not Started
Story: Foundational (blocking all user stories)
Parallelizable: Yes - interface definition only

Description

Create Certificate repository interface with async data access methods following repository pattern.

Acceptance Criteria

  • File created: api/CourseRegistration.Infrastructure/Repositories/ICertificateRepository.cs
  • Interface methods defined:
    • Task GetByIdAsync(Guid certificateId)
    • Task GetBySerialNumberAsync(string serialNumber)
    • Task<PagedResult> GetStudentCertificatesAsync(int studentId, int pageNumber, int pageSize, CertificateStatus? status = null)
    • Task AddAsync(Certificate certificate)
    • Task UpdateAsync(Certificate certificate)
    • Task ExistsBySerialNumberAsync(string serialNumber)
  • All methods are async (Task-returning)
  • Includes soft delete pattern (WHERE IsDeleted = 0)
  • XML documentation on all methods

Effort Estimate

1.5 hours

References

  • plan.md: Project Structure (Repositories)
  • data-model.md: Certificate Entity

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions