131 lines
6.3 KiB
C#
131 lines
6.3 KiB
C#
using Sarand.Core.Base;
|
|
using Sarand.Core.Bus;
|
|
using Sarand.PatientMgr.Core.App;
|
|
using Sarand.PatientMgr.Core.Base;
|
|
using Sarand.Win.App;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Sarand.PatientMgr.Win.Forms.App
|
|
{
|
|
//=======================================================================
|
|
/// <summary>PatientMgr global properties for desktop applications.</summary>
|
|
public class SpmSessionProfile_Win : SpmSessionProfile
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// User context.
|
|
private class SpmUserContext_Win : SpmUserContext
|
|
{
|
|
public SpmUserContext_Win (SpmSessionContext sessionContext) :
|
|
base(sessionContext)
|
|
{
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private readonly SpmUserContext_Win userContext;
|
|
private SpmSessionProperties sessionProperties = new SpmSessionProperties();
|
|
private readonly SacsRegistry registryConfig, registryProcess;
|
|
// Registry keys.
|
|
private static String kpcProfileSectionConfig = "Config";
|
|
private static String kpcProfileSectionProcess = "Process";
|
|
//private static String kpcProfileSectionWindowPos = "WindowPos";
|
|
private static String kpcProfileKeyDeptId = "DepartmentId";
|
|
private static String kpcProfileKeyFacilityType = "FacilityType";
|
|
private static String kpcProfileKeyFacilityId = "FacilityId";
|
|
private static String kpcProfileDisplayFilter = "DisplayFilter";
|
|
private static String kpcProfileAdmExportDir = "AdmExportDir";
|
|
private static String kpcProfileStatsGenerateDir = "StatsGenerateDir";
|
|
//private static String kpcProfileWndPos_Help = "Help";
|
|
//private static String kpcProfileWndPos_Config = "Config";
|
|
//private static String kpcProfileWndPos_Lists = "Lists";
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
protected SpmSessionProfile_Win (SpmSessionContext sessionContext)
|
|
{
|
|
userContext = new SpmUserContext_Win(sessionContext);
|
|
|
|
// Registries.
|
|
registryConfig = new SacsRegistry("Sarand", "Sarand Patient Manager", kpcProfileSectionConfig);
|
|
registryProcess = new SacsRegistry("Sarand", "Sarand Patient Manager", kpcProfileSectionProcess);
|
|
|
|
// Filter properties.
|
|
Filter.DepartmentId = new SysId(registryConfig.GetIntValue("", kpcProfileKeyDeptId));
|
|
Filter.FacilityType = EnumUtil.ParseEnum(registryConfig.GetIntValue("", kpcProfileKeyFacilityType).ToString(), Spm.FacilityType.Unknown);
|
|
Filter.FacilityId = new SysId(registryConfig.GetIntValue("", kpcProfileKeyFacilityId));
|
|
sessionProperties.DisplayFilter = registryConfig.GetIntValue("", kpcProfileDisplayFilter) > 0 ? true : false;
|
|
sessionProperties.AdmissionExportFolder = registryProcess.GetStringValue("", kpcProfileAdmExportDir, "");
|
|
sessionProperties.StatisticsExportFolder = registryProcess.GetStringValue("", kpcProfileStatsGenerateDir, "");
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// S t o r e P r o p e r t i e s
|
|
//-------------------------------------------------------------------
|
|
public void StoreProperties()
|
|
{
|
|
registryConfig.WriteInt("", kpcProfileKeyDeptId, SysId.ToInt(Filter.DepartmentId));
|
|
registryConfig.WriteInt("", kpcProfileKeyFacilityType, (int)Filter.FacilityType);
|
|
registryConfig.WriteInt("", kpcProfileKeyFacilityId, SysId.ToInt(Filter.FacilityId));
|
|
registryConfig.WriteInt("", kpcProfileDisplayFilter, sessionProperties.DisplayFilter ? 1 : 0);
|
|
registryProcess.WriteString("", kpcProfileAdmExportDir, sessionProperties.AdmissionExportFolder);
|
|
registryProcess.WriteString("", kpcProfileStatsGenerateDir, sessionProperties.StatisticsExportFolder);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// S e s s i o n P r o p e r t i e s
|
|
//-------------------------------------------------------------------
|
|
// User context.
|
|
public SpmSessionContext SessionContext { get { return userContext.SessionContext; } }
|
|
public SpmUserContext UserContext { get { return userContext; } }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Schdedule display characteristics.
|
|
/// <summary>Earliest date to list - 2 year in past.</summary>
|
|
public DateTime ScheduleStart { get { return sessionProperties.ScheduleStart; } }
|
|
/// <summary>Latest date to list - 2 year in future.</summary>
|
|
public DateTime ScheduleEnd { get { return sessionProperties.ScheduleEnd; } }
|
|
/// <summary>Show filter.</summary>
|
|
public bool DisplayFilter { get { return sessionProperties.DisplayFilter; } set { sessionProperties.DisplayFilter = value; } }
|
|
|
|
//-------------------------------------------------------------------
|
|
/// <summary>Admission display text height (standard, medium, large)</summary>
|
|
public int GetTextHeight (Spm.DisplayFont displayFont)
|
|
{
|
|
return sessionProperties.GetTextHeight(displayFont);
|
|
}
|
|
public void SetTextHeight (Spm.DisplayFont displayFont, int textHeight)
|
|
{
|
|
sessionProperties.SetTextHeight(displayFont, textHeight);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
private readonly Dictionary<Spm.DisplayBoundary,int> displayBoundaries = new Dictionary<Spm.DisplayBoundary,int>();
|
|
/// <summary>Width for selected boundary definition</summary>
|
|
public int GetDisplayBoundary (Spm.DisplayBoundary displayBoundary)
|
|
{
|
|
return sessionProperties.GetDisplayBoundary(displayBoundary);
|
|
}
|
|
public void SetDisplayBoundary (Spm.DisplayBoundary displayBoundary, int boundary)
|
|
{
|
|
sessionProperties.SetDisplayBoundary(displayBoundary, boundary);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Schedule filter.
|
|
public SpmSessionProperties.FilterData Filter { get { return sessionProperties.Filter; } }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data folders.
|
|
public String AdmissionExportFolder { get { return sessionProperties.AdmissionExportFolder; } set { sessionProperties.AdmissionExportFolder = value; } }
|
|
public String StatisticsExportFolder { get { return sessionProperties.StatisticsExportFolder; } set { sessionProperties.StatisticsExportFolder = value; } }
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|