Skip to content

SQL-113: Retrieve CbpAuthorizationSurgery

This ORM statement performs a read operation on CbpAuthorizationSurgery via IUnitOfWork.GetRepository<T>(), executed from Services/SAIF.Services/Claims/Bills/AuthorizationService.cs (L91, L104, L123).

Classification

Field Value
SQL ID SQL-113
Operation type Read
Execution method ORM (NHibernate LINQ)
Database Oracle
Schema [unqualified]**
Command type N/A (ORM-generated)
Business object CbpAuthorizationSurgery
Criteria property N/A — ORM
Lifecycle method AddSurgeryDate, DeleteSurgeryDate, GetSurgeryDates

Parameters

Parameter Direction Type Max length Description
claimId Input ** N/A x.ClaimId == claimId → column **
Convert.ToDateTime(surgeryDate) Input ** N/A x.SurgeryDate == Convert.ToDateTime(surgeryDate) → column **

Tables

Table Access Columns used
CBP_AUTHORIZATION_SURGERY SELECT CLAIM_ID, SURGERY_DATE, UPDATE_NUM, UPDATE_DATE, UPDATE_USER

LINQ statement

Source: Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:91

// Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:91-92
            var date = unitOfWork.GetRepository<CbpAuthorizationSurgery>().Query()
                     .Where(x => x.ClaimId == claimId);

// Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:94
            var items = Mapper.Map<AuthorizationSurgery[]>(date);

// Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:104
            var duplicateDate = unitOfWork.GetRepository<CbpAuthorizationSurgery>().Query().SingleOrDefault(x => x.ClaimId == claimId && x.SurgeryDate == Convert.ToDateTime(surgeryDate));

// Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:123
            var date = unitOfWork.GetRepository<CbpAuthorizationSurgery>().Query().SingleOrDefault(x => x.ClaimId == claimId && x.SurgeryDate == Convert.ToDateTime(surgeryDate));

Sample SQL

Inferred SQL: This SQL was inferred from the LINQ statement above and the NHibernate mappings. It is not concrete SQL from source code; NHibernate generates the executed statement at runtime, so aliases, column order, join syntax, and bind-parameter names may differ.

-- Inferred from LINQ (NHibernate mapping translation); not concrete SQL
-- Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:91
SELECT
  CAS.CLAIM_ID,
  CAS.SURGERY_DATE,
  CAS.UPDATE_NUM,
  CAS.UPDATE_DATE,
  CAS.UPDATE_USER
FROM CBP_AUTHORIZATION_SURGERY CAS
WHERE CAS.CLAIM_ID = :claimId

-- Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:104
SELECT
  CAS.CLAIM_ID,
  CAS.SURGERY_DATE,
  CAS.UPDATE_NUM,
  CAS.UPDATE_DATE,
  CAS.UPDATE_USER
FROM CBP_AUTHORIZATION_SURGERY CAS
WHERE CAS.CLAIM_ID = :claimId
  AND CAS.SURGERY_DATE = :surgeryDate
-- NHibernate expects at most one row

-- Services/SAIF.Services/Claims/Bills/AuthorizationService.cs:123
SELECT
  CAS.CLAIM_ID,
  CAS.SURGERY_DATE,
  CAS.UPDATE_NUM,
  CAS.UPDATE_DATE,
  CAS.UPDATE_USER
FROM CBP_AUTHORIZATION_SURGERY CAS
WHERE CAS.CLAIM_ID = :claimId
  AND CAS.SURGERY_DATE = :surgeryDate
-- NHibernate expects at most one row

Translation notes: - Convert.ToDateTime(surgeryDate) is evaluated client-side -> DateTime bind :surgeryDate. - L91-92 is materialized by Mapper.Map (L94).

Operations and processes

Business rules

Sources

  • Services/SAIF.Services/Claims/Bills/AuthorizationService.cs (L91, L104, L123)