119 lines
5.1 KiB
C#
119 lines
5.1 KiB
C#
|
|
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<String> GetAdmissionRoleQueryFilter(SpmAdmissionRole.Params prm);
|
|
public abstract long GetAdmissionRoleCount(SpmAdmissionRole.Params prm);
|
|
public abstract List<SpmAdmissionRole> GetAdmissionRoleList(SpmAdmissionRole.Params prm);
|
|
public abstract DbResultSet ExecuteAdmissionRoleQuery(List<ColumnDfn> columns, SpmAdmissionRole.Params prm);
|
|
public abstract DataValue GetAdmissionRoleDataValue(ColumnDfn column, NamedValue.Map values);
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|