SQL-329: Retrieve TaskCategory¶
This statement retrieves a single TASK_CATEGORY_CODE record for TaskService, using either the caller-supplied task category code (CreateTaskStateless) or the default claim task category code CLMM (CreateTask, ReassignTasks). The SQL is inferred from the NHibernate LINQ queries and the TaskCategory class map shown below — it is not literal SQL text in the source code.
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-329 |
| Operation type | Read |
| Execution method | ORM (NHibernate LINQ) |
| Database | Oracle |
| Schema | [unqualified]** |
| Command type | N/A (ORM-generated) |
| Business object | TaskCategory |
| Criteria property | N/A — ORM |
| Lifecycle method | CreateTask, CreateTaskStateless, ReassignTasks |
Parameters¶
| Parameter | Direction | Type | Max length | Description |
|---|---|---|---|---|
:taskCategoryCode |
Input | string | N/A | Local taskCategoryCode (line 497): taskEdit.TaskCategory when non-empty, else ClaimTaskCategoryCode ("CLMM"). |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| TASK_CATEGORY_CODE | SELECT | Code, CODE_DESCR, NOTEPAD_REQUIRED_FLAG, DEFAULT_ACTION_CODE, DEFAULT_PRIORITY_CODE, TASK_SOURCE_CODE |
LINQ statement¶
Source: Services/SAIF.Services/Claims/Tasks/TaskService.cs:498
// Services/SAIF.Services/Claims/Tasks/TaskService.cs:497
var taskCategoryCode = (taskEdit.TaskCategory != string.Empty) ? taskEdit.TaskCategory : ClaimTaskCategoryCode;
var categoryDefaults = _unitOfWork.GetRepository<TaskData.TaskCategory>().Query().SingleOrDefault(x => x.Code == taskCategoryCode);
// Services/SAIF.Services/Claims/Tasks/TaskService.cs:589
var defaultCategory = _unitOfWork.GetRepository<TaskData.TaskCategory>().Query().SingleOrDefault(x => x.Code == ClaimTaskCategoryCode);
// Services/SAIF.Services/Claims/Tasks/TaskService.cs:840
var defaultCategory = _unitOfWork.GetRepository<TaskData.TaskCategory>().Query().SingleOrDefault(x => x.Code == ClaimTaskCategoryCode);
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
-- TaskService.CreateTaskStateless (line 498)
SELECT
TCC.Code,
TCC.CODE_DESCR,
TCC.NOTEPAD_REQUIRED_FLAG,
TCC.DEFAULT_ACTION_CODE,
TCC.DEFAULT_PRIORITY_CODE,
TCC.TASK_SOURCE_CODE
FROM TASK_CATEGORY_CODE TCC
WHERE TCC.Code = :taskCategoryCode
-- NHibernate expects at most one row
-- TaskService.CreateTask (line 589) and ReassignTasks (line 840)
SELECT
TCC.Code,
TCC.CODE_DESCR,
TCC.NOTEPAD_REQUIRED_FLAG,
TCC.DEFAULT_ACTION_CODE,
TCC.DEFAULT_PRIORITY_CODE,
TCC.TASK_SOURCE_CODE
FROM TASK_CATEGORY_CODE TCC
WHERE TCC.Code = 'CLMM'
-- NHibernate expects at most one row
Translation notes:
SingleOrDefault-> no row limit; NHibernate expects at most one row.ClaimTaskCategoryCode = "CLMM"(TaskService.cs:40).
Operations and processes¶
- TaskService.CreateTask — see Operations and processes
- TaskService.CreateTaskStateless — see Operations and processes
- TaskService.ReassignTasks — see Operations and processes
Sources¶
Services/SAIF.Services/Claims/Tasks/TaskService.cs (L498, L589, L840)