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 = Database.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 = Database.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(Database.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 = Database.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 = Database.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 GetAdmissionRoleQueryFilter(SpmAdmissionRole.Params prm) { List filters = new List(); // 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 GetAdmissionRoleSortColumns(SpmAdmissionRole.Params prm) { // Sort sequence: List sortColumnNames = new List(); 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 Database.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 GetAdmissionRoleList(SpmAdmissionRole.Params prm) { List AdmissionRolees = new List(); DbQuery qry = new DbQuery(Database.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 = Database.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 columns, SpmAdmissionRole.Params prm) { ClearErrorState(); //--------------------------------------------------------------- // Construct query. DbQuery query = new DbQuery(Database.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(Database, query.BuildQuery()); return new Sarand.Win.Dbas.Data.DbResultSet_DataReader(Database, query.BuildQuery()); } //------------------------------------------------------------------- } //======================================================================= }