private OracleCommand CreateClientSearchCommand(OracleCommand cmd, ClientSearchInputModel searchModel, List<Guid> clientIds, bool includeInactiveRecords)
{
cmd.CommandText = _context.SPDefaultSchema + "." + CommandText.Client.SF_GET_CLIENTS_QUERY;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("lrc_result", OracleDbType.Cursor).Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add("as_check_active_only", OracleDbType.VarChar, ParameterDirection.Input).Value = YesNo.Convert(!includeInactiveRecords);
cmd.Parameters.Add("an_company_external_id", OracleDbType.Raw).Value = _companyId;
cmd.Parameters.Add("as_name", OracleDbType.VarChar, ParameterDirection.Input).Value = searchModel?.Name;
cmd.Parameters.Add("as_address", OracleDbType.VarChar, ParameterDirection.Input).Value = searchModel?.Address;
cmd.Parameters.Add("as_phone_number", OracleDbType.VarChar, ParameterDirection.Input).Value = searchModel?.PhoneNo;
cmd.Parameters.Add("as_postal_code", OracleDbType.VarChar, ParameterDirection.Input).Value = searchModel?.PostalCode;
cmd.Parameters.Add("as_contact_name", OracleDbType.VarChar, ParameterDirection.Input).Value = searchModel?.ContactName;
cmd.Parameters.Add("an_resp_user_nr", OracleDbType.Raw, ParameterDirection.Input).Value = searchModel?.ResponsibleUserId;
cmd.Parameters.Add("as_wildcard_search", OracleDbType.VarChar,
ParameterDirection.Input).Value = string.IsNullOrEmpty(searchModel?.Filter)?
"%": searchModel.Filter;
cmd.Parameters.Add("an_fetch", OracleDbType.Integer).Value = 12;
cmd.Parameters.Add(new OracleParameter
{
Direction = ParameterDirection.Input,
OracleDbType = OracleDbType.Raw,
ParameterName = "atbl_client_nr",
Size = clientIds.Count,
Value = clientIds.ToArray()
});
return cmd;
}
TYPE tbl_primary_key IS TABLE OF clients.id%TYPE INDEX BY BINARY_INTEGER; -- Here Clients is the table with id defined as Raw(16)- GUID
FUNCTION sf_empty_table_param RETURN tbl_primary_key;
FUNCTION sf_get_clients_query( as_name IN VARCHAR2 DEFAULT NULL
, as_phone_number IN VARCHAR2 DEFAULT NULL
, as_address IN VARCHAR2 DEFAULT NULL
, as_postal_code IN VARCHAR2 DEFAULT NULL
, as_contact_name IN VARCHAR2 DEFAULT NULL
, an_resp_user_nr IN clients.responsible_trader_id%TYPE DEFAULT NULL -- responsible_trader_id is Raw(16) -GUID
, as_check_active_only IN VARCHAR2 DEFAULT 'Y'
, an_company_external_id IN companies.external_id%TYPE DEFAULT NULL -- external_id is Raw(16) -GUID
, atbl_client_nr IN tbl_primary_key DEFAULT sf_empty_table_param
, as_wildcard_search IN VARCHAR2 DEFAULT NULL
, an_offset IN NUMBER DEFAULT NULL
, an_fetch IN NUMBER DEFAULT NULL
) RETURN SYS_REFCURSOR;
Name |
Type |
Optional |
Default |
Comments |
ID |
RAW(16) |
|
|
|
BRANCH_OFFICE_ID |
RAW(16) |
Y |
|
|
IS_ASSURED |
NUMBER(1) |
|
|
|
IS_SUSTAINABLE |
NUMBER(1) |
|
|
|
NAME |
NVARCHAR2(300) |
|
|
|
RESPONSIBLE_TRADER_ID |
RAW(16) |
Y |
|
|
SHORT_NAME |
NVARCHAR2(144) |
|
|
|
EXTERNAL_ID |
RAW(16) |
|
|
|
SOURCE_DATE |
TIMESTAMP(6) WITH TIME ZONE |
|
|
|
DATE_UPDATED |
TIMESTAMP(6) WITH TIME ZONE |
|
|
|
LOGIN_ID |
NVARCHAR2(24) |
|
|
|
REC_STATUS |
NUMBER(10) |