Files
PatientMgr-CSharp/SaPatMgrCore/Core/Mgr/SpmAdmissionMgr_AdmissionRole.cs
T
2019-05-16 15:20:54 +01:00

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);
//-------------------------------------------------------------------
}
//=======================================================================
}