using System; using System.Collections.Generic; using System.Text; using Sarand.Core.App; using Sarand.Core.Base; using Sarand.Core.Bus; using Sarand.Core.Dbas.Base; using Sarand.PatientMgr.Core.App; using Sarand.PatientMgr.Core.Bus; namespace Sarand.PatientMgr.Core.Mgr { //======================================================================= partial class SpmAdmissionMgr { //******************************************************************* // A d m i s s i o n R o l e //******************************************************************* //------------------------------------------------------------------- // Utilities. //------------------------------------------------------------------- // Retrieve individual admissionRole. //------------------------------------------------------------------- // Exist admissionRole. public abstract bool AdmissionRoleExistsById(SysId id); //------------------------------------------------------------------- // Get admissionRole. public abstract SpmAdmissionRole GetAdmissionRole(SpmAdmissionRole.Params prm); public abstract SpmAdmissionRole GetAdmissionRoleById(SysId id); //------------------------------------------------------------------- // Create admissionRole. public abstract SpmAdmissionRole CreateAdmissionRole(SysId admissionId, Spm.EmployeeRole employeeRole, Spm.EmployeeRoleCategory employeeRoleCategory); //------------------------------------------------------------------- // Validate admissionRole data. public bool IsValidAdmissionRole(SpmAdmissionRole admissionRole) { ClearErrorState(); if (admissionRole == null) return SetErrorState(ErrorMessage.ItemNotSpecified); return IsValidAdmissionRoleData(admissionRole.GetData(), new SpmAdmissionRole.ErrField()); } public virtual bool IsValidAdmissionRoleData(SpmAdmissionRole.Data data, SpmAdmissionRole.ErrField errField) { ClearErrorState(); // AdmissionRole properties. if (errField.AdmissionId != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.AdmissionId)) { errField.AdmissionId = SacsHierarchyItem.ValidValue.Invalid; return SetErrorState("invalid admission Id"); } if (errField.Seq != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Seq.ToString(), "seq", (long)SpmDbDfn.GetColTextLen(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Seq), true)) { errField.Seq = SacsHierarchyItem.ValidValue.Invalid; return false; } if (errField.EmployeeRole != SacsHierarchyItem.ValidValue.Ignore && (short)data.EmployeeRole < 1) { if ((int)data.EmployeeRole < 1) { errField.EmployeeRole = SacsHierarchyItem.ValidValue.Invalid; return SetErrorState("Employee role must be supplied"); } } if (errField.EmployeeRoleId != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.EmployeeRoleId)) { errField.EmployeeRoleId = SacsHierarchyItem.ValidValue.Invalid; return SetErrorState("invalid employeeRoleId"); } // Common properties. if (!IsValidValue(data.Notes, "notes", (long)SpmDbDfn.GetColTextLen(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Notes))) { errField.Notes = SacsHierarchyItem.ValidValue.Invalid; return false; } if (errField.Status != SacsHierarchyItem.ValidValue.Ignore) { if (!IsValidValue(SacsSystem.GetStatusCode(data.Status), "status", (long)SpmDbDfn.GetColTextLen(SpmDbDfn.ColumnIdx.SwmAdmissionRole_Status), true, true)) { errField.Status = SacsHierarchyItem.ValidValue.Invalid; return false; } if (!SpmAdmissionRole.AdmissionRoleStatuses.Contains(data.Status)) { errField.Status = SacsHierarchyItem.ValidValue.Invalid; return SetErrorState(ErrorMessage.InvalidStatus); } } return true; } //------------------------------------------------------------------- // AdmissionRole database interface. public abstract bool InsertAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo); public abstract bool UpdateAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo); public virtual bool AdmissionRoleCanBeDeleted(SpmAdmissionRole admissionRole) { ClearErrorState(); return true; } public abstract bool DeleteAdmissionRole(SpmAdmissionRole admissionRole, DbUpdateInfo dbUpdateInfo); //------------------------------------------------------------------- // AdmissionRole list. public abstract ColumnDfn GetAdmissionRoleColumnDfn(SpmAdmissionRole.Column columnId, String caption = "", int width = 0); public abstract List GetAdmissionRoleQueryFilter(SpmAdmissionRole.Params prm); public abstract long GetAdmissionRoleCount(SpmAdmissionRole.Params prm); public abstract List GetAdmissionRoleList(SpmAdmissionRole.Params prm); public abstract DbResultSet ExecuteAdmissionRoleQuery(List columns, SpmAdmissionRole.Params prm); public abstract DataValue GetAdmissionRoleDataValue(ColumnDfn column, NamedValue.Map values); //------------------------------------------------------------------- } //======================================================================= }