SQL-028: Create EbillInvoice via ProcessInvoiceFile¶
This ORM statement performs a create operation on EbillInvoice via ProcessInvoiceFile, executed from Services/SAIF.Services/Claims/EBilling/EBillingService.cs (L1271).
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-028 |
| Operation type | Create |
| Execution method | ORM (IRepository.Add) |
| Database | Oracle |
| Schema | [unqualified]** |
| Command type | N/A (ORM-generated) |
| Business object | EbillInvoice |
| Criteria property | N/A — ORM |
| Lifecycle method | ProcessInvoiceFile |
Parameters¶
| Parameter | Direction | Type | Max length | Description |
|---|---|---|---|---|
:Id |
Input | long |
N/A | Identifier from EBILL_INVOICE_SEQ.NEXTVAL |
:UpdateNumber |
Input | int |
N/A | Version column (Version()); NHibernate writes its initial value |
:ReceivedDate |
Input | DateTime |
N/A | |
:BeginDate |
Input | DateTime |
N/A | |
:EndDate |
Input | DateTime |
N/A | |
:TransactionFeeAmount |
Input | decimal |
N/A | |
:InvoiceAmount |
Input | decimal |
N/A | |
:UpdateDate |
Input | DateTime |
N/A | |
:UpdateUser |
Input | string |
N/A | |
:Clearinghouse |
Input | EbillClearinghouse |
N/A | Identifier of the referenced EbillClearinghouse entity (References(x => x.Clearinghouse)) |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| EBILL_INVOICE | INSERT | EBILL_INVOICE_SEQ_NUM, UPDATE_NUM, RECEIVED_DATE, BEGIN_DATE, END_DATE, TRANSACTION_FEE_AMT, INVOICE_AMOUNT, UPDATE_DATE, UPDATE_USER, EBILL_CLEARINGHOUSE_SEQ_NUM (identifier from sequence EBILL_INVOICE_SEQ.NEXTVAL) |
LINQ statement¶
Source: Services/SAIF.Services/Claims/EBilling/EBillingService.cs:1271.
// Services/SAIF.Services/Claims/EBilling/EBillingService.cs:1271
_unitOfWork.GetRepository<EbillInvoice>().Add(thisInvoice);
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
SELECT EBILL_INVOICE_SEQ.NEXTVAL
FROM DUAL
INSERT INTO EBILL_INVOICE (
EBILL_INVOICE_SEQ_NUM,
UPDATE_NUM,
RECEIVED_DATE,
BEGIN_DATE,
END_DATE,
TRANSACTION_FEE_AMT,
INVOICE_AMOUNT,
UPDATE_DATE,
UPDATE_USER,
EBILL_CLEARINGHOUSE_SEQ_NUM)
VALUES (
:Id,
:UpdateNumber,
:ReceivedDate,
:BeginDate,
:EndDate,
:TransactionFeeAmount,
:InvoiceAmount,
:UpdateDate,
:UpdateUser,
:Clearinghouse)
Translation notes:
- :Id is the value fetched from sequence EBILL_INVOICE_SEQ (GeneratedBy.Native("EBILL_INVOICE_SEQ")) before the INSERT; NHibernate assigns it to EbillInvoice.Id.
- UPDATE_NUM is the optimistic-concurrency version column (Version(x => x.UpdateNumber)); NHibernate sets its initial value on INSERT.
- Reference FK values are bound from the associated entity's identifier; the referenced tables are not read or joined by this statement: Clearinghouse → EBILL_CLEARINGHOUSE_SEQ_NUM (entity table EBILL_CLEARINGHOUSE not accessed).
- Cascade: HasMany(x => x.Bills) is mapped with Cascade.AllDeleteOrphan(); any transient instances in that association are saved in their own statements (not fabricated here).
- Cascade: HasMany(x => x.Errors) is mapped with Cascade.AllDeleteOrphan(); any transient instances in that association are saved in their own statements (not fabricated here).
Operations and processes¶
- EbillingService.ProcessInvoiceFile — see Operations and processes
Note: Statements marked with
**could not be confirmed; treat as unknown until verified.
Sources¶
Services/SAIF.Services/Claims/EBilling/EBillingService.cs (L1271)