Files
PatientMgr-CSharp/SaPatMgrWinDbas/Win/Dbas/Mgr/SpmAdmissionMgr_Dbas-AdmissionRole.cs
T

501 lines
22 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sarand.Core.App;
using Sarand.Core.Base;
using Sarand.Core.Bus;
using Sarand.Core.Dbas.Base;
using Sarand.Win.Dbas.Base;
using Sarand.PatientMgr.Core.App;
using Sarand.PatientMgr.Core.Bus;
using Sarand.PatientMgr.Core.Mgr;
using Sarand.PatientMgr.Win.Dbas.Bus;
using Sarand.PatientMgr.Win.Dbas.Internal;
//using Sarand.PatientMgr.Win.Dbas.UpdateLog;
using Sarand.Win.Dbas.Data;
namespace Sarand.PatientMgr.Win.Dbas.Mgr
{
//=======================================================================
internal partial class SpmAdmissionMgr_Dbas : SpmAdmissionMgr
{
//*******************************************************************
// A d m i s s i o n R o l e
//*******************************************************************
// Utilities.
//-------------------------------------------------------------------
// Create AdmissionRole.
public override SpmAdmissionRole CreateAdmissionRole(SysId admissionId, Spm.EmployeeRole employeeRole, Spm.EmployeeRoleCategory employeeRoleCategory)
{
return new SpmAdmissionRole_Dbas(UserContext, admissionId, employeeRole, employeeRoleCategory, 0);
}
private SpmAdmissionRole_Dbas CreateAdmissionRole(SwmAdmissionRole_Db dbAdmissionRole)
{
ClearErrorState();
SpmAdmissionRole_Dbas admissionRole = new SpmAdmissionRole_Dbas(UserContext, new SysId(dbAdmissionRole._AdmissionId), (Spm.EmployeeRole)dbAdmissionRole._Role, (Spm.EmployeeRoleCategory)dbAdmissionRole._Category, (ushort)dbAdmissionRole._Flags);
PopulateFrom(dbAdmissionRole, admissionRole);
return admissionRole;
}
//-------------------------------------------------------------------
// Get AdmissionRole.
public override SpmAdmissionRole GetAdmissionRole(SpmAdmissionRole.Params prm)
{
return GetAdmissionRole(GetAdmissionRoleQueryFilter(prm).Concat(" AND ", "(", ")"));
}
private SpmAdmissionRole GetAdmissionRole(String filter)
{
ClearErrorState();
long count = GetAdmissionRoleCount(filter);
if (count == 0) return null;
if (count != 1)
{
SetErrorState("Multiple AdmissionRolees found");
return null;
}
SpmAdmissionRole admissionRole = null;
// Query data.
using (var dbConnection = db.CreateConnection())
using (var dbCommand = dbConnection.CreateCommand())
{
try
{
dbConnection.Open();
SwmAdmissionRole_Db dbAdmissionRole = new SwmAdmissionRole_Db(DbInfo);
dbAdmissionRole.PopulateFrom(dbCommand, aliasAdmissionRole, filter);
admissionRole = CreateAdmissionRole(dbAdmissionRole);
}
catch (Exception exc)
{
SetErrorState("Database query exception");
Logger.Warn(GetType().Name + ".GetAdmissionRole\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
}
}
return admissionRole;
}
//-------------------------------------------------------------------
// Validate AdmissionRole.
public override bool IsValidAdmissionRoleData(SpmAdmissionRole.Data data, SpmAdmissionRole.ErrField errField)
{
ClearErrorState();
if (!base.IsValidAdmissionRoleData(data, errField)) return false;
return true;
}
//-------------------------------------------------------------------
// Insert AdmissionRole.
public override bool InsertAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!IsValidAdmissionRole(admissionRole)) return false;
if (SysId.IsValid(admissionRole.Id)) return SetErrorState(ErrorMessage.ValiditemId);
using (var dbConnection = db.CreateConnection())
using (var dbCommand = dbConnection.CreateCommand())
{
try
{
dbConnection.Open();
SwmAdmissionRole_Db dbAdmissionRole = new SwmAdmissionRole_Db(DbInfo);
PopulateTo(dbAdmissionRole, admissionRole, dbUpdateInfo);
if (SwmAdmissionRole_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbAdmissionRole._AdmissionId = SysId.ToInt(db.GetNextId("AdmissionRole", dbUpdateInfo));
}
dbAdmissionRole.ExecuteInsertCommand(dbCommand);
admissionRole.Id = new SysId(dbAdmissionRole._AdmissionId);
}
catch (Exception exc) { SetErrorState(exc.Message); }
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Update AdmissionRole.
public override bool UpdateAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!IsValidAdmissionRole(admissionRole)) return false;
if (!SysId.IsValid(admissionRole.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
using (var dbConnection = db.CreateConnection())
using (var dbCommand = dbConnection.CreateCommand())
{
try
{
// Retrieve AdmissionRole.
dbConnection.Open();
SwmAdmissionRole_Db dbAdmissionRole = new SwmAdmissionRole_Db(DbInfo);
dbAdmissionRole.PopulateFrom(dbCommand, aliasAdmissionRole, "Id=" + SysId.ToString(admissionRole.Id));
//SpmUpdateLogItemMonitor_AdmissionRole updateLogMonitor = new SpmUpdateLogItemMonitor_AdmissionRole(UserContext, CreateAdmissionRole(dbAdmissionRole));
// Update properties.
PopulateTo(dbAdmissionRole, admissionRole, dbUpdateInfo);
dbAdmissionRole.ExecuteUpdateCommand(dbCommand);
/* Record updates.
updateLogMonitor.RecordUpdatedValues(admissionRole);
updateLogMonitor.LogUpdates();*/
}
catch (Exception exc) { SetErrorState(exc.Message); }
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Delete AdmissionRole.
public override bool AdmissionRoleCanBeDeleted(SpmAdmissionRole admissionRole)
{
ClearErrorState();
if (!base.AdmissionRoleCanBeDeleted(admissionRole)) return false;
return true;
}
public override bool DeleteAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!AdmissionRoleCanBeDeleted(admissionRole)) return false;
using (var dbConnection = db.CreateConnection())
using (var dbCommand = dbConnection.CreateCommand())
{
try
{
// Retrieve AdmissionRole.
dbConnection.Open();
SwmAdmissionRole_Db dbAdmissionRole = new SwmAdmissionRole_Db(DbInfo);
dbAdmissionRole.PopulateFrom(dbCommand, aliasAdmissionRole, "Id=" + admissionRole.Id.ToString());
// Delete AdmissionRole.
dbCommand.CommandType = System.Data.CommandType.Text;
dbCommand.CommandText = "DELETE FROM " + SpmDbDfn.GetTableName(SpmDbDfn.TableIdx.SwmAdmissionRole) + " WHERE Id=" + SysId.ToString(admissionRole.Id) + ";";
dbCommand.ExecuteNonQuery();
}
catch (Exception exc) { SetErrorState(exc.Message); }
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Copy data properties to and from database.
private void PopulateTo(SwmAdmissionRole_Db dbAdmissionRole, SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo)
{
dbAdmissionRole._AdmissionId = admissionRole.AdmissionId.ToInt();
dbAdmissionRole._Role = (short)admissionRole.EmployeeRole;
dbAdmissionRole._Category = (short)admissionRole.EmployeeRoleCategory;
dbAdmissionRole._Seq = (byte)admissionRole.Seq;
dbAdmissionRole._EmployeeRoleId = admissionRole.EmployeeRoleId.ToInt();
dbAdmissionRole._EmployeeCode = admissionRole.EmployeeCode;
dbAdmissionRole._Notes = admissionRole.Notes;
dbAdmissionRole._Status = SacsSystem.GetStatusCode(admissionRole.Status);
dbAdmissionRole._Flags = (short)admissionRole.Flags;
if (!SysId.IsValid(admissionRole.Id))
{
dbAdmissionRole._CreateOn = DateTime.UtcNow;
dbAdmissionRole._CreateBy = dbUpdateInfo.UserId.ToInt();
dbAdmissionRole._CreateHost = dbUpdateInfo.Host;
}
dbAdmissionRole._UpdateOn = DateTime.UtcNow;
dbAdmissionRole._UpdateBy = dbUpdateInfo.UserId.ToInt();
dbAdmissionRole._UpdateHost = dbUpdateInfo.Host;
}
private void PopulateFrom(SwmAdmissionRole_Db dbAdmissionRole, SpmAdmissionRole admissionRole)
{
admissionRole.AdmissionId = new SysId(dbAdmissionRole._AdmissionId);
admissionRole.EmployeeRole = (Spm.EmployeeRole)dbAdmissionRole._Role;
admissionRole.EmployeeRoleCategory = (Spm.EmployeeRoleCategory)dbAdmissionRole._Category;
admissionRole.Seq = (ushort)dbAdmissionRole._Seq;
admissionRole.EmployeeRoleId = new SysId(dbAdmissionRole._EmployeeRoleId);
admissionRole.EmployeeCode = dbAdmissionRole._EmployeeCode;
// Category - replacing zero/null values with 'Operating'.
admissionRole.EmployeeRoleCategory = (Spm.EmployeeRoleCategory)dbAdmissionRole._Category;
if (admissionRole.EmployeeRoleCategory < Spm.EmployeeRoleCategory.Operating)
admissionRole.EmployeeRoleCategory = Spm.EmployeeRoleCategory.Operating;
admissionRole.Notes = dbAdmissionRole._Notes;
admissionRole.Status = SacsSystem.GetStatusForCode(dbAdmissionRole._Status);
admissionRole.SetCreateStamp(dbAdmissionRole._CreateOn, new SysId(dbAdmissionRole._CreateBy), dbAdmissionRole._CreateHost);
admissionRole.SetUpdateStamp(dbAdmissionRole._UpdateOn, new SysId(dbAdmissionRole._UpdateBy), dbAdmissionRole._UpdateHost);
admissionRole.AcceptChanges();
}
//-------------------------------------------------------------------
// AdmissionRole column definitions.
private static readonly String aliasAdmissionRole = "aAdmRle";
private void SetAdmissionRoleColDfn
(ColumnDfn col, String caption, int width, SpmDbDfn.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
String alias = "", String prefix = "")
{
if (String.IsNullOrEmpty(alias) && SpmDbDfn.GetTableForColumn(dbCol) == SpmDbDfn.TableIdx.SwmAdmissionRole)
alias = aliasAdmissionRole;
col.Set(caption, width, (int)dbCol, prefix + SpmDbDfn.GetColumnName(dbCol, false), SpmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
if (dataType == DataValue.DataType.String && dbCol != SpmDbDfn.ColumnIdx.Unknown)
col.MaxLength = (int)SpmDbDfn.GetColTextLen(dbCol);
}
//-------------------------------------------------------------------
// Getting prmAdmissionRole column definition.
public override ColumnDfn GetAdmissionRoleColumnDfn(SpmAdmissionRole.Column columnId, string caption = "", int width = 0)
{
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
switch (columnId)
{
case SpmAdmissionRole.Column.Pos:
SetAdmissionRoleColDfn(columnDfn, "Pos", 42, SpmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
columnDfn.ReadOnly = true;
columnDfn.Resizable = false;
break;
case SpmAdmissionRole.Column.Id:
SetAdmissionRoleColDfn(columnDfn, "Id", 40, SpmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Long);
columnDfn.ReadOnly = true;
break;
// AdmissionRole Properties.
case SpmAdmissionRole.Column.AdmissionId:
SetAdmissionRoleColDfn(columnDfn, "AdmissionId", 40, SpmDbDfn.ColumnIdx.SwmAdmissionRole_AdmissionId, ColumnAlignment.Right, DataValue.DataType.Long);
columnDfn.ReadOnly = true;
break;
case SpmAdmissionRole.Column.Role:
SetAdmissionRoleColDfn(columnDfn, "Role", 40, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Role, ColumnAlignment.Center);
break;
case SpmAdmissionRole.Column.Category:
SetAdmissionRoleColDfn(columnDfn, "Category", 40, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Category, ColumnAlignment.Center);
break;
case SpmAdmissionRole.Column.Seq:
SetAdmissionRoleColDfn(columnDfn, "Seq", 45, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Seq, ColumnAlignment.Right);
break;
case SpmAdmissionRole.Column.EmployeeRoleId:
SetAdmissionRoleColDfn(columnDfn, "EmployeeRole Id", 80, SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeRoleId);
break;
case SpmAdmissionRole.Column.EmployeeCode:
SetAdmissionRoleColDfn(columnDfn, "EmployeeCode", 90, SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeCode);
break;
// Common properties.
case SpmAdmissionRole.Column.Notes:
SetAdmissionRoleColDfn(columnDfn, "Notes", 200, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Notes);
break;
case SpmAdmissionRole.Column.Status:
SetAdmissionRoleColDfn(columnDfn, "Status", 50, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Status, ColumnAlignment.Center);
break;
case SpmAdmissionRole.Column.Status_Desc:
SetAdmissionRoleColDfn(columnDfn, "Status", 50, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Status, ColumnAlignment.Center);
break;
case SpmAdmissionRole.Column.Status_Ind:
SetAdmissionRoleColDfn(columnDfn, "Status", 50, SpmDbDfn.ColumnIdx.SwmAdmissionRole_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
break;
case SpmAdmissionRole.Column.CreateOn_Date:
SetAdmissionRoleColDfn(columnDfn, "Created", 65, SpmDbDfn.ColumnIdx.SwmAdmissionRole_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
columnDfn.ReadOnly = true;
break;
case SpmAdmissionRole.Column.UpdateOn_Date:
SetAdmissionRoleColDfn(columnDfn, "Updated", 65, SpmDbDfn.ColumnIdx.SwmAdmissionRole_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
columnDfn.ReadOnly = true;
break;
}
if (!String.IsNullOrEmpty(caption))
columnDfn.Caption = caption;
if (width > 0)
columnDfn.Width = width;
return columnDfn;
}
//-------------------------------------------------------------------
// AdmissionRole query filter.
public override List<string> GetAdmissionRoleQueryFilter(SpmAdmissionRole.Params prm)
{
List<String> filters = new List<String>();
// AdmissionRole Id.
String includedIds = prm.IncludedIds.Concat(",");
if (!includedIds.IsEmpty())
filters.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_AdmissionId, aliasAdmissionRole) + " IN (" + includedIds + ")");
String excludedIds = prm.ExcludedIds.Concat(",");
if (!excludedIds.IsEmpty())
filters.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_AdmissionId, aliasAdmissionRole) + " NOT IN (" + excludedIds + ")");
// Admission Id.
String colAdmisssionRole_AdmissionId = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_AdmissionId, aliasAdmissionRole);
if (SysId.IsValid(prm.AdmissionId))
filters.Add(colAdmisssionRole_AdmissionId + "=" + prm.AdmissionId.ToString());
// Employee Role & Category.
String colRole = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Role, aliasAdmissionRole);
if (prm.EmployeeRole > 0)
filters.Add(colRole + "=" + ((int)prm.EmployeeRole).ToString());
String colCategory = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Category, aliasAdmissionRole);
if (prm.EmployeeRoleCategory > 0)
filters.Add(colCategory + "=" + ((int)prm.EmployeeRoleCategory).ToString());
// Seq.
String colSeq = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Seq, aliasAdmissionRole);
if (prm.Seq > 0)
filters.Add(colSeq + "=" + ((int)prm.Seq).ToString());
// Employee Role Id.
String colAdmisssionRole_EmployeeRoleId = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeRoleId, aliasAdmissionRole);
if (SysId.IsValid(prm.EmployeeRoleId))
filters.Add(colAdmisssionRole_EmployeeRoleId + "=" + prm.EmployeeRoleId.ToString());
// EmployeeCode.
String colEmployeeCode = SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeCode, aliasAdmissionRole);
if (StringUtil.IsEmpty(prm.EmployeeCode))
filters.Add(colEmployeeCode + "=" + DbQuery.FormatForCondition(prm.EmployeeCode));
//---------------------------------------------------------------
// Common Properties.
if (filters.Count < 1) filters.Add("1=1");
return filters;
}
//-------------------------------------------------------------------
// AdmissionRole sort columns.
public List<String> GetAdmissionRoleSortColumns(SpmAdmissionRole.Params prm)
{
// Sort sequence:
List<String> sortColumnNames = new List<String>();
foreach (var columnDfn in prm.SortColumns)
{
// Need to ensure correct alias used for AdmissionRole columns in case of conflict.
String sortCol = String.Empty;
if (SpmDbDfn.GetTableForColumn((SpmDbDfn.ColumnIdx)columnDfn.DbColumn) == SpmDbDfn.TableIdx.SwmAdmissionRole)
{
sortCol = SpmDbDfn.GetColumnNameQual((SpmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasAdmissionRole);
}
else
{
sortCol = columnDfn.DataName;
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
sortCol = columnDfn.SortDataName;
}
if (!sortCol.IsEmpty())
{
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
sortColumnNames.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
}
}
sortColumnNames.RemoveBlanks();
if (sortColumnNames.IsEmpty())
{
// Default sort columns:
//sortColumnNames.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Type, aliasAdmissionRole) + " ASC");
}
return sortColumnNames;
}
//-------------------------------------------------------------------
// AdmissionRole count.
private long GetAdmissionRoleCount(String filter)
{
ClearErrorState();
return db.GetRowCount(SpmDbDfn.GetTableName(SpmDbDfn.TableIdx.SwmAdmissionRole) + " As " + aliasAdmissionRole, filter);
}
public override long GetAdmissionRoleCount(SpmAdmissionRole.Params prm)
{
ClearErrorState();
return GetAdmissionRoleCount(GetAdmissionRoleQueryFilter(prm).Concat(" AND ", "(", ")"));
}
//-------------------------------------------------------------------
// AdmissionRole list.
public override List<SpmAdmissionRole> GetAdmissionRoleList(SpmAdmissionRole.Params prm)
{
List<SpmAdmissionRole> AdmissionRolees = new List<SpmAdmissionRole>();
DbQuery qry = new DbQuery(db.DbmsType);
qry.Tables.Add(SpmDbDfn.GetTableName(SpmDbDfn.TableIdx.SwmAdmissionRole), aliasAdmissionRole);
qry.Columns.AddRange(SwmAdmissionRole_Db.Fields);
qry.Filters.AddRange(GetAdmissionRoleQueryFilter(prm));
// Query data.
using (var dbConnection = db.CreateConnection())
using (var dbCommand = dbConnection.CreateCommand())
{
try
{
dbConnection.Open();
dbCommand.CommandText = qry.BuildQuery();
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
{
while (dbDataReader.Read())
{
SwmAdmissionRole_Db dbAdmissionRole = new SwmAdmissionRole_Db(DbInfo);
dbAdmissionRole.PopulateFrom(dbDataReader);
AdmissionRolees.Add(CreateAdmissionRole(dbAdmissionRole));
}
}
}
catch (Exception exc)
{
Logger.Warn(GetType().Name + ".GetAdmissionRoleList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
}
}
return AdmissionRolees;
}
//-------------------------------------------------------------------
// AdmissionRole query execution.
public override DbResultSet ExecuteAdmissionRoleQuery(List<ColumnDfn> columns, SpmAdmissionRole.Params prm)
{
ClearErrorState();
//---------------------------------------------------------------
// Construct query.
DbQuery query = new DbQuery(db.DbmsType);
query.Tables.Add(SpmDbDfn.GetTableName(SpmDbDfn.TableIdx.SwmAdmissionRole), aliasAdmissionRole);
// AdmissionRole Properties - add columns as defined in query list.
/*if (columns.HasId((int)SpmAdmissionRole.Column.Id))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_, aliasAdmissionRole));*/
if (columns.HasId((int)SpmAdmissionRole.Column.AdmissionId))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_AdmissionId, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.Role))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Role, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.Category))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Category, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.Seq))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Seq, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.EmployeeRoleId))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeRoleId, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.EmployeeCode))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_EmployeeCode, aliasAdmissionRole));
// Common Properties
if (columns.HasId((int)SpmAdmissionRole.Column.Notes))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Notes, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.Status) || columns.HasId((int)SpmAdmissionRole.Column.Status_Desc) || columns.HasId((int)SpmAdmissionRole.Column.Status_Ind))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Status, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.CreateOn_Date))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_CreateOn, aliasAdmissionRole));
if (columns.HasId((int)SpmAdmissionRole.Column.UpdateOn_Date))
query.Columns.Add(SpmDbDfn.GetColumnNameQual(SpmDbDfn.ColumnIdx.SwmAdmissionRole_UpdateOn, aliasAdmissionRole));
//---------------------------------------------------------------
// Populate filter.
query.Filters.AddRange(GetAdmissionRoleQueryFilter(prm));
if (prm.IncludedIds.Count != 1)
{
// Configure sort sequence.
foreach (String sortColumn in GetAdmissionRoleSortColumns(prm))
query.OrderBy.Add(sortColumn);
}
//---------------------------------------------------------------
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
return new Sarand.Win.Dbas.Data.DbResultSet_DataReader(db, query.BuildQuery());
}
//-------------------------------------------------------------------
}
//=======================================================================
}