Skip to content

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

Sources

  • Services/SAIF.Services/Claims/Tasks/TaskService.cs (L498, L589, L840)