Consoles, database generated.
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
using Sarand.Core.CodeTypes;
|
using Sarand.Core.CodeTypes;
|
||||||
using Sarand.Core.Dbas.Base;
|
using Sarand.Core.Dbas.Base;
|
||||||
|
using Sarand.Core.ItemOptions;
|
||||||
|
using Sarand.Core.Security;
|
||||||
|
using Sarand.Core.UpdateLog;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -21,11 +24,14 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Database.
|
// Database.
|
||||||
public abstract ISacsDatabase GetDatabase (SpmSessionContext sessionContext);
|
public abstract ISacsDatabase GetDatabase (SpmSessionContext sessionContext);
|
||||||
//public abstract bool ColumnExists (SbmSessionContext sessionContext, SbmDbDfn.ColumnIdx columnIdx);
|
public abstract bool ColumnExists (SpmSessionContext sessionContext, SpmDbDfn.ColumnIdx columnIdx);
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Code Type console.
|
// Retrieve Global Consoles by session context.
|
||||||
public abstract SaCodeTypeConsole GetCodeTypeConsole (SpmUserContext userContext);
|
public abstract SaSecurityConsole GetSecurityConsole (SpmSessionContext sessionContext);
|
||||||
|
public abstract SaCodeTypeConsole GetCodeTypeConsole (SpmSessionContext sessionContext);
|
||||||
|
public abstract SaItemOptionConsole GetItemOptionConsole (SpmSessionContext sessionContext);
|
||||||
|
public abstract SaUpdateLogConsole GetUpdateLogConsole (SpmSessionContext sessionContext);
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Sarand.Core.Base;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -16,13 +17,17 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Constants.
|
// Constants.
|
||||||
public static readonly String ApplicationCaption = "Sarand PatientMgr";
|
public static readonly String ApplicationCaption = "Sarand PatientMgr";
|
||||||
|
// System defaults.
|
||||||
|
public static int Default_UpdateLimitDaysInPast { get; } = 7;
|
||||||
|
public static int Default_UpdateLimitDaysInPast_Min { get; } = 1;
|
||||||
|
public static int Default_UpdateLimitDaysInPast_Max { get; } = 60;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Site. NB Only code should be used on database.
|
// Site. NB Only code should be used on database.
|
||||||
public enum Site
|
public enum Site
|
||||||
{
|
{
|
||||||
Unknown = 0,
|
Unknown = 0,
|
||||||
Addenbrookes = 10, /* 'ANT' */
|
ANT = 10, /* Addenbrookes */
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
@@ -32,8 +37,634 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
Unknown = 0,
|
Unknown = 0,
|
||||||
// General.
|
// General.
|
||||||
Site = 1,
|
Site = 1,
|
||||||
|
DataItemType,
|
||||||
|
// Item options.
|
||||||
|
ItemOption,
|
||||||
|
ItemOptionContext_Flag,
|
||||||
|
ItemOptionContext_Value,
|
||||||
|
ItemOptionContext_CodeList,
|
||||||
|
ItemOptionContext_ScheduleColour,
|
||||||
|
ItemOptionContext_FieldLabel,
|
||||||
|
ItemOptionContext_ShowField,
|
||||||
|
ItemOptionContext_ExportField,
|
||||||
|
ItemOptionContext_AdmissionTiming,
|
||||||
|
ItemOptionContext_AdmValueList,
|
||||||
|
ItemOptionContext_CombineAdmNotes,
|
||||||
|
ItemOptionContext_CombinePatDetails,
|
||||||
|
ItemOptionContext_SessionUtilMeasure,
|
||||||
|
ItemOptionContext_SessionUtilisation,
|
||||||
|
ItemOptionContext_SessionUtilThreshold,
|
||||||
|
ItemOptionContext_ScheduleHighlight,
|
||||||
|
// Employees
|
||||||
|
EmployeeRole,
|
||||||
|
// Patient.
|
||||||
|
Gender,
|
||||||
|
PatientDataSource,
|
||||||
|
// Facilities.
|
||||||
|
FacilityType,
|
||||||
|
ScheduleType,
|
||||||
|
TemplateMapType,
|
||||||
|
SessionModel,
|
||||||
|
ScheduleFreezeType,
|
||||||
|
ResourceCategory,
|
||||||
|
//TemplateType, Not used directly.
|
||||||
|
TheatreSessionType, // Subset of TemplateType values.
|
||||||
|
ClinicSessionType, // Subset of TemplateType values.
|
||||||
|
WardResourceType, // Subset of TemplateType values.
|
||||||
|
ResourceCapacityType,
|
||||||
|
ResourceLoadingType,
|
||||||
|
TemplateDataType,
|
||||||
|
ProcedureComplexity,
|
||||||
|
// Admissions.
|
||||||
|
AdmissionOccupancy,
|
||||||
|
AdmissionActionType,
|
||||||
|
AdmissionCancelType,
|
||||||
|
AttendanceType,
|
||||||
|
AttendanceStatus,
|
||||||
|
WardPeriodLength,
|
||||||
|
WardResourceDisplay,
|
||||||
|
WardHighlighting,
|
||||||
|
// Reports.
|
||||||
|
ReportSpacing,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Code types - defined by the user.
|
||||||
|
public enum SystemCodeType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
Ward,
|
||||||
|
// Anaesthetic,
|
||||||
|
// OperationPosition,
|
||||||
|
ComfortScore,
|
||||||
|
};
|
||||||
|
public enum CodeType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
Anaesthetic,
|
||||||
|
OperationPosition,
|
||||||
|
OperatingSpeciality,
|
||||||
|
Allergy,
|
||||||
|
RiskFactor,
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Data Item Types - identifiers the types of data items.
|
||||||
|
// NB Do not change the value associated with each item - these are tied to the database.
|
||||||
|
public enum DataItemType
|
||||||
|
{
|
||||||
|
Unknown = -1,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Institution = 10,
|
||||||
|
Department = 11,
|
||||||
|
Facility = 20,
|
||||||
|
Employee = 21,
|
||||||
|
Patient = 22,
|
||||||
|
Operation = 23,
|
||||||
|
FacilityTemplate = 30,
|
||||||
|
TemplateSlot = 31,
|
||||||
|
FacilitySession = 32,
|
||||||
|
EmployeeRole = 33,
|
||||||
|
Procedure = 34,
|
||||||
|
Admission = 40,
|
||||||
|
AdmissionRole = 41,
|
||||||
|
// 'Virtual' item types - subsets of main item type.
|
||||||
|
/* Employee Roles of type 'Consultant'. */
|
||||||
|
RoleConsultant = 100,
|
||||||
|
/* Codes of type 'Speciality'. */
|
||||||
|
CodeSpeciality = 101,
|
||||||
|
// System data types.
|
||||||
|
SecItem = SaDataItemType.SecItem,
|
||||||
|
CodeType = SaDataItemType.CodeType,
|
||||||
|
Code = SaDataItemType.Code,
|
||||||
|
Interface = SaDataItemType.Interface,
|
||||||
|
ItemOption = SaDataItemType.ItemOption,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Item Configuration Options.
|
||||||
|
public enum ItemOptionType
|
||||||
|
{
|
||||||
|
Flag, // Discrete Yes/No values (tailored context list by item type).
|
||||||
|
Value, // Discrete values (tailored context list by item type).
|
||||||
|
CodeList, // Comma separated list of codes - tailored context list by item type.
|
||||||
|
SessionModel, // See defined list, eg. Maternity
|
||||||
|
ScheduleColour, // Schedule colour options.
|
||||||
|
FieldLabel, // Used to change default field label (eg. admission system ref)
|
||||||
|
Admission_DefaultProcedure, // Free text eg. 'Caesarian Section'
|
||||||
|
Admission_DefaultSpeciality, // Speciality code
|
||||||
|
Admission_DefaultComplexity, // Complexity code
|
||||||
|
Admission_DefaultWard, // Ward code
|
||||||
|
Admission_ValueList, // Comma separated list, eg. Procedure indications.
|
||||||
|
Admission_ShowField, // Used to identify optional fields to be shown in dialogs, views and reports.
|
||||||
|
Admission_ExportField, // Used to identify additional fields to export with schedule details.
|
||||||
|
Admission_AdmissionTiming, // Flag timing events that are to be recorded.
|
||||||
|
FilterAttrTypes, // To store user's filter sequence (system maintained).
|
||||||
|
Schedule_MinWeeks,
|
||||||
|
Schedule_CombineAdmNotes,
|
||||||
|
Schedule_CombinePatDetails,
|
||||||
|
Schedule_ReportAdmissionSpacing,
|
||||||
|
UpdateLimitDaysInPast,
|
||||||
|
SpecialityBackgroundColour,
|
||||||
|
SessionUtilMeasure,
|
||||||
|
SessionUtilisation,
|
||||||
|
SessionUtilThreshold,
|
||||||
|
ScheduleHighlight,
|
||||||
|
TheatreListTypeDisplay, // Associated types from SystemCodeTheatreSessionType codes.
|
||||||
|
ClinicListTypeDisplay, // Associated types from SystemCodeClinicSessionType codes.
|
||||||
|
AttendanceBorderColour,
|
||||||
|
};
|
||||||
|
// Discrete Flags - NB Default should always be 'No'.
|
||||||
|
public enum ItemOptionContext_Flag
|
||||||
|
{
|
||||||
|
// Configuration flag options.
|
||||||
|
Admission_AllowOverlappingTemplates, // Otherwise, Templates in each facility must have different times.
|
||||||
|
Admission_AllowMultiplePatientSessionBookings, // Otherwise, patient can only be booked once in a session.
|
||||||
|
Admission_GenerateChangeSessionMovement, // Auto store 'Moved' type cancellation for session change.
|
||||||
|
Admission_RecordTimings, // Show timimgs page on admission on and after day of admission.
|
||||||
|
Admission_AllowAdmissionDuplication, // Allow unassigned admissions to be duplicated against future sessions.
|
||||||
|
Template_AllowUnits, // Allow Units to be defined against Templates and entered against admissions.
|
||||||
|
};
|
||||||
|
// Discrete values.
|
||||||
|
public enum ItemOptionContext_Value
|
||||||
|
{
|
||||||
|
// Configuration value options.
|
||||||
|
ScheduleDisplayWeeks_Theatre,
|
||||||
|
ScheduleDisplayWeeks_Clinic,
|
||||||
|
ScheduleDisplayWeeks_Ward,
|
||||||
|
FacilityCapacity,
|
||||||
|
FacilityCapacity_Male,
|
||||||
|
FacilityCapacity_Female,
|
||||||
|
};
|
||||||
|
// Comma separated lists of codes.
|
||||||
|
public enum ItemOptionContext_CodeList
|
||||||
|
{
|
||||||
|
// Department configuration code lists.
|
||||||
|
WaitingListSpeciality_Include,
|
||||||
|
WaitingListSpeciality_Exclude,
|
||||||
|
};
|
||||||
|
// Fields whose labels can be specified
|
||||||
|
public enum ItemOptionContext_FieldLabel
|
||||||
|
{
|
||||||
|
Admission_SystemRef,
|
||||||
|
Admission_AttendingSurgeon,
|
||||||
|
};
|
||||||
|
// Admission fields that are optionally shown.
|
||||||
|
public enum ItemOptionContext_ShowField
|
||||||
|
{
|
||||||
|
Tci,
|
||||||
|
Gender,
|
||||||
|
PatientHistory,
|
||||||
|
BreechOn,
|
||||||
|
DecisionToAdmitOn,
|
||||||
|
SystemRef,
|
||||||
|
ReferringConsultant,
|
||||||
|
AttendingSurgeon,
|
||||||
|
ProcedureIndication,
|
||||||
|
Operation,
|
||||||
|
Position,
|
||||||
|
SpecialEquipment,
|
||||||
|
ComfortScore,
|
||||||
|
AttendanceType,
|
||||||
|
AttendanceStatus,
|
||||||
|
CancelTimeLimit,
|
||||||
|
CancelReason,
|
||||||
|
CancelNotes,
|
||||||
|
};
|
||||||
|
// Admission fields that are optionally Exported.
|
||||||
|
public enum ItemOptionContext_ExportField
|
||||||
|
{
|
||||||
|
OperatingConsultantCode,
|
||||||
|
OperatingSurgeonCode,
|
||||||
|
PatientNo,
|
||||||
|
PatientName,
|
||||||
|
PatientForename,
|
||||||
|
PatientSurname,
|
||||||
|
ProcedureIndication,
|
||||||
|
BreechOn,
|
||||||
|
DecisionToAdmitOn,
|
||||||
|
};
|
||||||
|
// Admission timings.
|
||||||
|
public enum ItemOptionContext_AdmissionTiming
|
||||||
|
{
|
||||||
|
Called,
|
||||||
|
Arrived,
|
||||||
|
AnaesStart,
|
||||||
|
ProcStart,
|
||||||
|
ProcEnd,
|
||||||
|
InRecovery,
|
||||||
|
InformDest,
|
||||||
|
Leave,
|
||||||
|
};
|
||||||
|
// Admission fields with default lists.
|
||||||
|
public enum ItemOptionContext_AdmValueList
|
||||||
|
{
|
||||||
|
ProcedureDesc,
|
||||||
|
ProcedureIndication,
|
||||||
|
Ward,
|
||||||
|
ComfortScore,
|
||||||
|
CancelReason,
|
||||||
|
ProcedureKit,
|
||||||
|
};
|
||||||
|
// Admission fields to combine with notes.
|
||||||
|
public enum ItemOptionContext_CombineAdmNotes
|
||||||
|
{
|
||||||
|
PatientHistory,
|
||||||
|
GestationPeriod,
|
||||||
|
BreechOn,
|
||||||
|
DecisionToAdmitOn,
|
||||||
|
ProcedureIndication,
|
||||||
|
};
|
||||||
|
// Admission fields to combine with patient details.
|
||||||
|
public enum ItemOptionContext_CombinePatDetails
|
||||||
|
{
|
||||||
|
SystemRef,
|
||||||
|
};
|
||||||
|
// Session utilisation options.
|
||||||
|
public enum ItemOptionContext_SessionUtilMeasure
|
||||||
|
{
|
||||||
|
Duration = 10,
|
||||||
|
Units = 20,
|
||||||
|
Default = Duration,
|
||||||
|
};
|
||||||
|
public enum ItemOptionContext_SessionUtilisation
|
||||||
|
{
|
||||||
|
BlankPatientNoIsReservedAdmission,
|
||||||
|
ExcludeReservedAdmissions,
|
||||||
|
IncludeSessionBreakDuration,
|
||||||
|
};
|
||||||
|
public enum ItemOptionContext_SessionUtilThreshold
|
||||||
|
{
|
||||||
|
SessionUtilThreshold_Low,
|
||||||
|
SessionUtilThreshold_High,
|
||||||
|
};
|
||||||
|
public enum ItemOptionContext_ScheduleHighlight
|
||||||
|
{
|
||||||
|
FacilityName,
|
||||||
|
SessionName,
|
||||||
|
};
|
||||||
|
public enum ItemOptionContext_ScheduleColour
|
||||||
|
{
|
||||||
|
SessionBackground,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Employee roles.
|
||||||
|
public enum EmployeeRole
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Consultant = 10,
|
||||||
|
Surgeon = 11,
|
||||||
|
Anaesthetist = 12,
|
||||||
|
};
|
||||||
|
// Employee role categories.
|
||||||
|
public enum EmployeeRoleCategory
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Operating = 10, // Surgeon/Consultant designated for operation.
|
||||||
|
Referring = 11, // Surgeon/Consultant referring the patient for procedure.
|
||||||
|
Attending = 12, // Surgeon/Consultant actually carrying out the procedure.
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Patient definitions.
|
||||||
|
public enum Gender
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Female = 1,
|
||||||
|
Male = 2,
|
||||||
|
Unspecified = 9,
|
||||||
|
};
|
||||||
|
public enum PatientDataSource
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Patient = 10, // Internal tables.
|
||||||
|
Admission,
|
||||||
|
Demographics, // Interfaces.
|
||||||
|
WaitingList,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Facility type.
|
||||||
|
public enum FacilityType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Theatre = 10,
|
||||||
|
Clinic = 20,
|
||||||
|
Ward = 30,
|
||||||
|
Apparatus = 40,
|
||||||
|
};
|
||||||
|
// Schedule type.
|
||||||
|
public enum ScheduleType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Theatre = 10,
|
||||||
|
Clinic = 20,
|
||||||
|
Ward = 30,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Ward admission mode.
|
||||||
|
public enum WardAdmissionMode
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
ByResource, // Booking against bed, chair etc.
|
||||||
|
ByWard, // Booking direct to ward (not specific resource).
|
||||||
|
};
|
||||||
|
// Ward Period length.
|
||||||
|
public enum WardPeriodLength
|
||||||
|
{
|
||||||
|
Unknown,
|
||||||
|
Week,
|
||||||
|
Weeks_2,
|
||||||
|
Weeks_4,
|
||||||
|
Weeks_6,
|
||||||
|
Weeks_8,
|
||||||
|
};
|
||||||
|
// Ward Resource display.
|
||||||
|
public enum WardResourceDisplay
|
||||||
|
{
|
||||||
|
Unknown,
|
||||||
|
Summary,
|
||||||
|
Narrow,
|
||||||
|
Standard,
|
||||||
|
Wide,
|
||||||
|
};
|
||||||
|
// Ward Highlighting.
|
||||||
|
public enum WardHighlighting
|
||||||
|
{
|
||||||
|
Unknown,
|
||||||
|
None,
|
||||||
|
Duration,
|
||||||
|
Gender,
|
||||||
|
ReferringCons,
|
||||||
|
Speciality,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Facility template map type.
|
||||||
|
public enum FacilityTemplateMapType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 1,
|
||||||
|
RollingWeek = 10,
|
||||||
|
WeekdayInstanceInMonth = 11,
|
||||||
|
WorkingWeekInMonth = 12,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Template Session format.
|
||||||
|
public enum SessionModel
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Default = 1,
|
||||||
|
Standard = 10,
|
||||||
|
Maternity = 20,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Schedule Freeze type.
|
||||||
|
public enum ScheduleFreezeType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 1,
|
||||||
|
FixedTimePreviousDay = 10,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
public enum ResourceCategory
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
TheatreList = 10,
|
||||||
|
ClinicList = 20,
|
||||||
|
WardResource = 30,
|
||||||
|
WardAdmissionList = 31,
|
||||||
|
WardDischargeList = 32,
|
||||||
|
};
|
||||||
|
public enum TemplateType
|
||||||
|
{
|
||||||
|
Unknown = -1,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 0,
|
||||||
|
// Theatre template types.
|
||||||
|
TheatreSession_Service = 10,
|
||||||
|
TheatreSession_Training = 20,
|
||||||
|
// Clinic template types.
|
||||||
|
ClinicSession_Service = 10,
|
||||||
|
ClinicSession_Training = 20,
|
||||||
|
// Ward resource types.
|
||||||
|
WardResource_Bed = 10,
|
||||||
|
WardResource_Chair = 11,
|
||||||
|
WardResource_Bay = 20,
|
||||||
|
WardResource_Room = 21,
|
||||||
|
};
|
||||||
|
// Ward resource capacity types.
|
||||||
|
public enum ResourceCapacityTypeContext
|
||||||
|
{
|
||||||
|
WardResource,
|
||||||
|
ClinicSession,
|
||||||
|
};
|
||||||
|
public enum ResourceCapacityType
|
||||||
|
{
|
||||||
|
Unknown = -1,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 0,
|
||||||
|
Single = 10,
|
||||||
|
Double = 20,
|
||||||
|
DoubleExclusive = 21, // Exclusive booking takes all slots.
|
||||||
|
Triple = 30,
|
||||||
|
TripleExclusive = 31,
|
||||||
|
Quadruple = 40,
|
||||||
|
QuadrupleExclusive = 41,
|
||||||
|
};
|
||||||
|
public enum ResourceLoadingType
|
||||||
|
{
|
||||||
|
Unknown = -1,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 0,
|
||||||
|
Units = 10,
|
||||||
|
};
|
||||||
|
// Template associated Data Type.
|
||||||
|
public enum TemplateDataType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
ComplexityCapacity = 10,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Procedure complexity.
|
||||||
|
public enum ProcedureComplexity
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Minor = 10,
|
||||||
|
Intermediate = 20,
|
||||||
|
Major = 30,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Admission type.
|
||||||
|
public enum AdmissionType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
TheatreDayCase = 10,
|
||||||
|
TheatreInPatientElective = 12,
|
||||||
|
TheatreEmergency = 13,
|
||||||
|
ClinicBooking = 20,
|
||||||
|
WardAdmission = 30,
|
||||||
|
WardReservation = 39,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Admission Occupancy.
|
||||||
|
public enum AdmissionOccupancy
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Single = 10,
|
||||||
|
Exclusive = 11,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Admission Data type.
|
||||||
|
public enum AdmissionDataType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Allergy = 10,
|
||||||
|
RiskFactor = 11,
|
||||||
|
ProcedureKit = 20, // Added Apr2014. Add code & Caption to AdmissionData table.
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Admission Action type.
|
||||||
|
public enum AdmissionActionType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
SendLetter = 10,
|
||||||
|
RepeatAdmission = 20,
|
||||||
|
ArrangeTransport = 30,
|
||||||
|
Filing = 40,
|
||||||
|
Prescription = 50,
|
||||||
|
General = 990,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Attendance Type.
|
||||||
|
public enum AttendanceType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
OutPatient = 10,
|
||||||
|
InPatient = 20,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Attendance status.
|
||||||
|
public enum AttendanceStatus
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
Arrived = 10,
|
||||||
|
Discharged = 15,
|
||||||
|
Cancelled = 20,
|
||||||
|
Dna = 30,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Admission cancellation type.
|
||||||
|
public enum AdmissionCancelType
|
||||||
|
{
|
||||||
|
// Anything other than 'None' ('0').
|
||||||
|
Cancelled = -2,
|
||||||
|
Unknown = -1,
|
||||||
|
// Values are tied to the database - do not change.
|
||||||
|
None = 0,
|
||||||
|
CancelTimeLimit = 10,
|
||||||
|
CancelOther = 11,
|
||||||
|
Deletion = 12,
|
||||||
|
ChangeSession = 20,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Security Rights.
|
||||||
|
public enum SecurityRight
|
||||||
|
{
|
||||||
|
ManageSecurity,
|
||||||
|
ManageConfig,
|
||||||
|
ManageDb,
|
||||||
|
// Security rights associated with specific department.
|
||||||
|
DepartmentView,
|
||||||
|
DepartmentReserve,
|
||||||
|
DepartmentUpdate,
|
||||||
|
DepartmentConfig,
|
||||||
|
// Security rights associated with specific consultant.
|
||||||
|
ConsultantView,
|
||||||
|
ConsultantUpdate,
|
||||||
|
// Security rights associated with specific speciality.
|
||||||
|
SpecialityView,
|
||||||
|
SpecialityUpdate,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// List controls.
|
||||||
|
public enum ListCtrl
|
||||||
|
{
|
||||||
|
Cancellations = 140,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Spacing for reports.
|
||||||
|
public enum ReportSpacing
|
||||||
|
{
|
||||||
|
Narrow,
|
||||||
|
Standard,
|
||||||
|
Wide,
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
// Schedule display.
|
||||||
|
// Text justification.
|
||||||
|
public enum Justification
|
||||||
|
{
|
||||||
|
Left,
|
||||||
|
Center,
|
||||||
|
Right
|
||||||
|
};
|
||||||
|
// Display columns.
|
||||||
|
public enum DisplayColumn
|
||||||
|
{
|
||||||
|
Ref,
|
||||||
|
Period,
|
||||||
|
Facility,
|
||||||
|
Patient, // Summary - number and name.
|
||||||
|
PatientNo,
|
||||||
|
PatientName,
|
||||||
|
PatientDob,
|
||||||
|
PatientAge,
|
||||||
|
PatientHistory,
|
||||||
|
GestationPeriod,
|
||||||
|
Ward,
|
||||||
|
Consultant,
|
||||||
|
Surgeon,
|
||||||
|
Procedure,
|
||||||
|
SpecialEquipment,
|
||||||
|
Time,
|
||||||
|
Anaesthetic,
|
||||||
|
Position,
|
||||||
|
Kit,
|
||||||
|
HasRisk,
|
||||||
|
Notes,
|
||||||
|
LastUpdate
|
||||||
|
};
|
||||||
|
// Display font sizes.
|
||||||
|
public enum DisplayFont
|
||||||
|
{
|
||||||
|
Standard,
|
||||||
|
Medium,
|
||||||
|
Large
|
||||||
|
};
|
||||||
|
// Display boundaries.
|
||||||
|
public enum DisplayBoundary
|
||||||
|
{
|
||||||
|
Period,
|
||||||
|
Session,
|
||||||
|
Admission
|
||||||
|
};
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
using Sarand.Core.CodeTypes;
|
using Sarand.Core.CodeTypes;
|
||||||
|
using Sarand.Core.ItemOptions;
|
||||||
|
using Sarand.Core.Security;
|
||||||
|
using Sarand.Core.UpdateLog;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -18,9 +21,21 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Consoles.
|
// Consoles.
|
||||||
|
public static SaSecurityConsole GetSecurityConsole (SpmUserContext userContext)
|
||||||
|
{
|
||||||
|
return Application.GetSecurityConsole(userContext.SessionContext);
|
||||||
|
}
|
||||||
public static SaCodeTypeConsole GetCodeTypeConsole (SpmUserContext userContext)
|
public static SaCodeTypeConsole GetCodeTypeConsole (SpmUserContext userContext)
|
||||||
{
|
{
|
||||||
return Application.GetCodeTypeConsole(userContext);
|
return Application.GetCodeTypeConsole(userContext.SessionContext);
|
||||||
|
}
|
||||||
|
public static SaItemOptionConsole GetItemOptionConsole (SpmUserContext userContext)
|
||||||
|
{
|
||||||
|
return Application.GetItemOptionConsole(userContext.SessionContext);
|
||||||
|
}
|
||||||
|
public static SaUpdateLogConsole GetUpdateLogConsole (SpmUserContext userContext)
|
||||||
|
{
|
||||||
|
return Application.GetUpdateLogConsole(userContext.SessionContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Sarand.PatientMgr.Core.App
|
|
||||||
{
|
|
||||||
//=======================================================================
|
|
||||||
public class SpmSecurityContext
|
|
||||||
{
|
|
||||||
//-------------------------------------------------------------------
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
|
||||||
}
|
|
||||||
//=======================================================================
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,230 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.Core.Bus;
|
||||||
|
using Sarand.Core.Security;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Core.App
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public class SpmSecurityProfile : SaErrorStateItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security .
|
||||||
|
internal class ProfileParams
|
||||||
|
{
|
||||||
|
public SaSecurityProfile UserSecurityProfile { get; set; }
|
||||||
|
public SaSecurityProfile HostSecurityProfile { get; set; }
|
||||||
|
public readonly List<TypeCodeDesc> SecurityRights = new List<TypeCodeDesc>();
|
||||||
|
private bool UserHasSecurityRight (Spm.SecurityRight securityRight, SysId dataItemId = null)
|
||||||
|
{
|
||||||
|
String rightCode = SecurityRights.GetCodeForType((int)securityRight);
|
||||||
|
if (StringUtil.IsEmpty(rightCode)) return false;
|
||||||
|
// Check if right is denied by either user or host profiles.
|
||||||
|
if (UserSecurityProfile != null && UserSecurityProfile.IsSecurityRightDenied(rightCode)) return false;
|
||||||
|
if (HostSecurityProfile != null && HostSecurityProfile.IsSecurityRightDenied(rightCode)) return false;
|
||||||
|
// Check if right is granted by either user or host profiles.
|
||||||
|
if (UserSecurityProfile != null && UserSecurityProfile.IsSecurityRightGranted(rightCode)) return true;
|
||||||
|
if (HostSecurityProfile != null && HostSecurityProfile.IsSecurityRightGranted(rightCode)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public bool IsUserMemberOfSecurityGroup (SysId secGroupId)
|
||||||
|
{
|
||||||
|
if (UserSecurityProfile != null)
|
||||||
|
return UserSecurityProfile.IsMemberOfSecurityGroup(secGroupId);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public bool IsSecurityRightGranted (Spm.SecurityRight securityRight, SysId id = null)
|
||||||
|
{
|
||||||
|
return UserSecurityProfile.IsSecurityRightGranted(SecurityRights.GetCodeForType((int)securityRight), id);
|
||||||
|
}
|
||||||
|
public bool IsSecurityRightDenied (Spm.SecurityRight securityRight, SysId id = null)
|
||||||
|
{
|
||||||
|
return UserSecurityProfile.IsSecurityRightDenied(SecurityRights.GetCodeForType((int)securityRight), id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static readonly String userNameUnknown = "Unknown";
|
||||||
|
private bool includeHostSecurityProfile = false;
|
||||||
|
private readonly SpmSessionContext sessionContext;
|
||||||
|
private ProfileParams Params { get; } = new ProfileParams();
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
public SpmSecurityProfile (bool includeHostSecurityProfile)
|
||||||
|
{
|
||||||
|
this.includeHostSecurityProfile = includeHostSecurityProfile;
|
||||||
|
Admin = new AdminProfile(Params);
|
||||||
|
Departments = new DepartmentsProfile(Params);
|
||||||
|
Consultants = new ConsultantsProfile(Params);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// User.
|
||||||
|
public SysId UserId { get; private set; } = new SysId();
|
||||||
|
public String UserDisplayName { get { return (Params.UserSecurityProfile != null ? Params.UserSecurityProfile.Description : userNameUnknown); } }
|
||||||
|
public String UserLocation { get { return (Params.UserSecurityProfile != null ? Params.UserSecurityProfile.Location : ""); } }
|
||||||
|
public DateTime UserLastLogin { get { return (Params.UserSecurityProfile != null ? Params.UserSecurityProfile.LastLogin : DateTime.MinValue); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Refresh profile.
|
||||||
|
public void RefreshProfile (SaSecurityConsole securityConsole, SysId userId, List<TypeCodeDesc> securityRights)
|
||||||
|
{
|
||||||
|
String fn = GetType().Name + ".RefreshProfile";
|
||||||
|
ClearErrorState();
|
||||||
|
|
||||||
|
// Make a note of the security right.
|
||||||
|
Params.SecurityRights.Clear();
|
||||||
|
Params.SecurityRights.AddRange(securityRights);
|
||||||
|
|
||||||
|
SysId previousUserId = UserId;
|
||||||
|
|
||||||
|
// Clear existing profile.
|
||||||
|
UserId = SysId.InvalidOnNull(userId);
|
||||||
|
|
||||||
|
// Load new profile.
|
||||||
|
if (securityConsole != null)
|
||||||
|
{
|
||||||
|
Params.UserSecurityProfile = securityConsole.GetUserSecurityProfile(UserId);
|
||||||
|
if (Params.HostSecurityProfile == null && includeHostSecurityProfile)
|
||||||
|
Params.HostSecurityProfile = securityConsole.GetHostSecurityProfile();
|
||||||
|
}
|
||||||
|
Logger.Debug(fn + " User: '" + UserDisplayName + "' [Id: " + UserId + "]" + (SysId.IsValid(previousUserId) ? ". Previous UserId: " + SysId.ToString(previousUserId) : ""));
|
||||||
|
|
||||||
|
// ToDo SpmSecurityProfile.RefreshProfile
|
||||||
|
|
||||||
|
}
|
||||||
|
private void ClearProfile ()
|
||||||
|
{
|
||||||
|
// Reset security profiles.
|
||||||
|
Admin.Clear();
|
||||||
|
Departments.Clear();
|
||||||
|
Consultants.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Utilities.
|
||||||
|
public bool IsUserMemberOfSecurityGroup (SysId secGroupId)
|
||||||
|
{
|
||||||
|
if (Params.UserSecurityProfile != null)
|
||||||
|
return Params.UserSecurityProfile.IsMemberOfSecurityGroup(secGroupId);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public bool IsSecurityRightGranted (Spm.SecurityRight securityRight, SysId id = null)
|
||||||
|
{
|
||||||
|
return Params.IsSecurityRightGranted(securityRight, id);
|
||||||
|
}
|
||||||
|
public bool IsSecurityRightDenied (Spm.SecurityRight securityRight, SysId id = null)
|
||||||
|
{
|
||||||
|
return Params.IsSecurityRightDenied(securityRight, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security rights - Admin.
|
||||||
|
public class AdminProfile
|
||||||
|
{
|
||||||
|
internal AdminProfile (ProfileParams paramsData) { Params = paramsData; }
|
||||||
|
private ProfileParams Params { get; set; }
|
||||||
|
public bool CanManageSecurity { get; internal set; } = false;
|
||||||
|
public bool CanManageDatabase { get; internal set; } = false;
|
||||||
|
public bool CanManageConfig { get; internal set; } = false;
|
||||||
|
internal void Clear ()
|
||||||
|
{
|
||||||
|
CanManageSecurity = false;
|
||||||
|
CanManageDatabase = false;
|
||||||
|
CanManageConfig = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public AdminProfile Admin { get; }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security rights - Departments.
|
||||||
|
public class DepartmentsProfile
|
||||||
|
{
|
||||||
|
internal DepartmentsProfile (ProfileParams paramsData) { Params = paramsData; }
|
||||||
|
private ProfileParams Params { get; set; }
|
||||||
|
public bool CanConfigure (SysId departmentId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(departmentId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.DepartmentConfig, departmentId)) return false;
|
||||||
|
return Params.IsSecurityRightGranted(Spm.SecurityRight.DepartmentConfig, departmentId);
|
||||||
|
}
|
||||||
|
public bool CanUpdate (SysId departmentId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(departmentId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.DepartmentUpdate, departmentId)) return false;
|
||||||
|
return CanConfigure(departmentId) || Params.IsSecurityRightGranted(Spm.SecurityRight.DepartmentUpdate, departmentId);
|
||||||
|
}
|
||||||
|
public bool CanReserve (SysId departmentId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(departmentId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.DepartmentReserve, departmentId)) return false;
|
||||||
|
return CanConfigure(departmentId) || CanUpdate(departmentId) || Params.IsSecurityRightGranted(Spm.SecurityRight.DepartmentReserve, departmentId);
|
||||||
|
}
|
||||||
|
public bool CanView (SysId departmentId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(departmentId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.DepartmentView, departmentId)) return false;
|
||||||
|
return CanConfigure(departmentId) || CanUpdate(departmentId) || CanReserve(departmentId) || Params.IsSecurityRightGranted(Spm.SecurityRight.DepartmentView, departmentId);
|
||||||
|
}
|
||||||
|
internal void Clear ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public DepartmentsProfile Departments { get; }
|
||||||
|
public bool UserCanConfigureDepartment (SysId departmentId)
|
||||||
|
{
|
||||||
|
return Departments.CanConfigure(departmentId);
|
||||||
|
}
|
||||||
|
public bool UserCanUpdateDepartment (SysId departmentId)
|
||||||
|
{
|
||||||
|
return Departments.CanUpdate(departmentId);
|
||||||
|
}
|
||||||
|
public bool UserCanReserveDepartment (SysId departmentId)
|
||||||
|
{
|
||||||
|
return Departments.CanReserve(departmentId);
|
||||||
|
}
|
||||||
|
public bool UserCanViewDepartment (SysId departmentId)
|
||||||
|
{
|
||||||
|
return Departments.CanView(departmentId);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security rights - Consultants.
|
||||||
|
public class ConsultantsProfile
|
||||||
|
{
|
||||||
|
internal ConsultantsProfile (ProfileParams paramsData) { Params = paramsData; }
|
||||||
|
private ProfileParams Params { get; set; }
|
||||||
|
public bool CanUpdate (SysId consultantId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(consultantId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.ConsultantUpdate, consultantId)) return false;
|
||||||
|
return Params.IsSecurityRightGranted(Spm.SecurityRight.ConsultantUpdate, consultantId);
|
||||||
|
}
|
||||||
|
public bool CanView (SysId consultantId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(consultantId)) return false;
|
||||||
|
if (Params.IsSecurityRightDenied(Spm.SecurityRight.ConsultantView, consultantId)) return false;
|
||||||
|
return CanUpdate(consultantId) || Params.IsSecurityRightGranted(Spm.SecurityRight.ConsultantView, consultantId);
|
||||||
|
}
|
||||||
|
internal void Clear ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public ConsultantsProfile Consultants { get; }
|
||||||
|
public bool UserCanUpdateConsultant (SysId consultantId)
|
||||||
|
{
|
||||||
|
return Consultants.CanUpdate(consultantId);
|
||||||
|
}
|
||||||
|
public bool UserCanViewConsultant (SysId consultantId)
|
||||||
|
{
|
||||||
|
return Consultants.CanView(consultantId);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
using System;
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.Core.CodeTypes;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -10,8 +12,108 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
public partial class SpmSystem
|
public partial class SpmSystem
|
||||||
{
|
{
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// S y s t e m - C o d e T y p e s
|
// C o d e T y p e s
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
public static String GetCodeTypeCode (Spm.CodeType codeType) { return codeTypes.GetCodeForType((int)codeType); }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// R e g i s t e r C o d e T y p e s
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
public static void RegisterCodeTypes (SaCodeTypeConsole codeTypeConsole, Spm.Site site)
|
||||||
|
{
|
||||||
|
if (codeTypeConsole == null) return;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Anaesthetic code type:
|
||||||
|
String codeTypeCode_Anaesthetic = GetCodeTypeCode(Spm.CodeType.Anaesthetic);
|
||||||
|
List<CodeDesc> codeTypes_Anaesthetic = new List<CodeDesc>();
|
||||||
|
if (site == Spm.Site.ANT)
|
||||||
|
{
|
||||||
|
codeTypes_Anaesthetic.Add("LA", "Local infiltration");
|
||||||
|
codeTypes_Anaesthetic.Add("GA", "General anaesthetic");
|
||||||
|
codeTypes_Anaesthetic.Add("SED", "Sedation");
|
||||||
|
codeTypes_Anaesthetic.Add("SPI", "Spinal");
|
||||||
|
codeTypes_Anaesthetic.Add("ORB", "Other Regional Block");
|
||||||
|
}
|
||||||
|
codeTypeConsole.RegisterCodeType(new SaCodeTypeDfn(codeTypeCode_Anaesthetic, "Anaesthetic", 3));
|
||||||
|
codeTypeConsole.RegisterCodesOfType(codeTypeCode_Anaesthetic, codeTypes_Anaesthetic);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Operation Position code type:
|
||||||
|
String codeTypeCode_OperationPosition = GetCodeTypeCode(Spm.CodeType.OperationPosition);
|
||||||
|
List<CodeDesc> codeTypes_OperationPosition = new List<CodeDesc>();
|
||||||
|
if (site == Spm.Site.ANT)
|
||||||
|
{
|
||||||
|
codeTypes_OperationPosition.Add("PRO", "Prone");
|
||||||
|
codeTypes_OperationPosition.Add("SUP", "Supine");
|
||||||
|
}
|
||||||
|
codeTypeConsole.RegisterCodeType(new SaCodeTypeDfn(codeTypeCode_OperationPosition, "Operating Position", 6));
|
||||||
|
codeTypeConsole.RegisterCodesOfType(codeTypeCode_OperationPosition, codeTypes_OperationPosition);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Operating Speciality code type:
|
||||||
|
String codeTypeCode_OperatingSpeciality = GetCodeTypeCode(Spm.CodeType.OperatingSpeciality);
|
||||||
|
List<CodeDesc> codeTypes_OperatingSpeciality = new List<CodeDesc>();
|
||||||
|
if (site == Spm.Site.ANT)
|
||||||
|
{
|
||||||
|
codeTypes_OperatingSpeciality.Add("ASSE", "Medical Assessment");
|
||||||
|
codeTypes_OperatingSpeciality.Add("CARD", "Cardiology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("ENT", "ENT"); // Otorhinolaryngology
|
||||||
|
codeTypes_OperatingSpeciality.Add("ECT", "Electroconvulsive Therapy");
|
||||||
|
codeTypes_OperatingSpeciality.Add("GENS", "General Surgery");
|
||||||
|
codeTypes_OperatingSpeciality.Add("GMED", "General Medicine");
|
||||||
|
codeTypes_OperatingSpeciality.Add("GYNA", "Gynaecology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("HAEM", "General Haematology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("HEPB", "Hepatology Biopsy");
|
||||||
|
codeTypes_OperatingSpeciality.Add("NEPH", "Nephrology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("NLGY", "Neurology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("OBS", "Obstetrics");
|
||||||
|
codeTypes_OperatingSpeciality.Add("OPTH", "Ophthalmology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("ORAL", "Oral Surgery");
|
||||||
|
codeTypes_OperatingSpeciality.Add("ORTH", "Orthopaedic");
|
||||||
|
codeTypes_OperatingSpeciality.Add("PLAS", "Plastic Surgery");
|
||||||
|
codeTypes_OperatingSpeciality.Add("PSUR", "Paediatric Surgery");
|
||||||
|
codeTypes_OperatingSpeciality.Add("RENF", "Renal Transplant Follow Up");
|
||||||
|
codeTypes_OperatingSpeciality.Add("RENV", "Vascular Access");
|
||||||
|
codeTypes_OperatingSpeciality.Add("RHEU", "Rheumatology");
|
||||||
|
codeTypes_OperatingSpeciality.Add("UROL", "Urology");
|
||||||
|
//lOpnSpec.Insert(CodeDesc ("MaxFac", "Maxillofacial Surgery");
|
||||||
|
}
|
||||||
|
codeTypeConsole.RegisterCodeType(new SaCodeTypeDfn(codeTypeCode_OperatingSpeciality, "Operating Speciality", 12));
|
||||||
|
codeTypeConsole.RegisterCodesOfType(codeTypeCode_OperatingSpeciality, codeTypes_OperatingSpeciality);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Allergies:
|
||||||
|
String codeTypeCode_Allergy = GetCodeTypeCode(Spm.CodeType.Allergy);
|
||||||
|
List<CodeDesc> codeTypes_Allergy = new List<CodeDesc>();
|
||||||
|
if (site == Spm.Site.ANT)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
codeTypes_Allergy.Add("ChAsth", "Childhood asthma");
|
||||||
|
codeTypes_Allergy.Add("Eczema", "Eczema");
|
||||||
|
codeTypes_Allergy.Add("Rhinit", "Rhinitis");
|
||||||
|
codeTypes_Allergy.Add("Food", "Food allergies");
|
||||||
|
codeTypes_Allergy.Add("HayFev", "Hay fever");
|
||||||
|
#endif
|
||||||
|
codeTypeConsole.RegisterCodeType(new SaCodeTypeDfn(codeTypeCode_Allergy, "Allergy", 6));
|
||||||
|
codeTypeConsole.RegisterCodesOfType(codeTypeCode_Allergy, codeTypes_Allergy);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Risk factors:
|
||||||
|
String codeTypeCode_RiskFactor = GetCodeTypeCode(Spm.CodeType.RiskFactor);
|
||||||
|
List<CodeDesc> codeTypes_RiskFactor = new List<CodeDesc>();
|
||||||
|
if (site == Spm.Site.ANT)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
codeTypes_RiskFactor.Add("MRSA", "MRSA");
|
||||||
|
codeTypes_RiskFactor.Add("CDIFF", "C.Diff");
|
||||||
|
codeTypes_RiskFactor.Add("HIV", "HIV+");
|
||||||
|
#endif
|
||||||
|
codeTypeConsole.RegisterCodeType(new SaCodeTypeDfn(codeTypeCode_RiskFactor, "Risk Factor", 6));
|
||||||
|
codeTypeConsole.RegisterCodesOfType(codeTypeCode_RiskFactor, codeTypes_RiskFactor);
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,160 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
// SLM System - Static initialisation.
|
// SLM System - Static initialisation.
|
||||||
static SpmSystem ()
|
static SpmSystem ()
|
||||||
{
|
{
|
||||||
|
// Code types.
|
||||||
|
codeTypes.Add(Spm.CodeType.Anaesthetic, "Anaes", "Anaesthetic");
|
||||||
|
codeTypes.Add(Spm.CodeType.OperationPosition, "OpnPos", "Operation position");
|
||||||
|
codeTypes.Add(Spm.CodeType.OperatingSpeciality, "OptgSpec", "Operating speciality");
|
||||||
|
codeTypes.Add(Spm.CodeType.Allergy, "Allergy", "Allergy");
|
||||||
|
codeTypes.Add(Spm.CodeType.RiskFactor, "RiskFactor", "Risk factor");
|
||||||
|
|
||||||
//---------------------------------------------------------------
|
//---------------------------------------------------------------
|
||||||
// Sites.
|
// Sites.
|
||||||
sites.Add((int)Spm.Site.Addenbrookes, "ANT", "Addenbrookes");
|
sites.Add((int)Spm.Site.ANT, "ANT", "Addenbrookes");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Facility type.
|
||||||
|
facilityTypes.Add((int)Spm.FacilityType.Theatre, "THTR", "Theatre");
|
||||||
|
facilityTypes.Add((int)Spm.FacilityType.Clinic, "CLNC", "Clinic");
|
||||||
|
facilityTypes.Add((int)Spm.FacilityType.Ward, "WARD", "Ward");
|
||||||
|
facilityTypes.Add((int)Spm.FacilityType.Apparatus, "APTS", "Apparatus");
|
||||||
|
|
||||||
|
// Schedule type.
|
||||||
|
scheduleTypes.Add((int)Spm.ScheduleType.Theatre, "Theatre", "Theatre");
|
||||||
|
scheduleTypes.Add((int)Spm.ScheduleType.Clinic, "Clinic", "Clinic");
|
||||||
|
scheduleTypes.Add((int)Spm.ScheduleType.Ward, "Ward", "Ward");
|
||||||
|
|
||||||
|
// Employee role.
|
||||||
|
employeeRoles.Add((int)Spm.EmployeeRole.Consultant, "CONS", "Consultant");
|
||||||
|
employeeRoles.Add((int)Spm.EmployeeRole.Surgeon, "SURG", "Surgeon");
|
||||||
|
employeeRoles.Add((int)Spm.EmployeeRole.Anaesthetist, "ANAE", "Anaesthetist");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Gender.
|
||||||
|
genders.Add((int)Spm.Gender.Female, "FEM", "Female");
|
||||||
|
genders.Add((int)Spm.Gender.Male, "MAL", "Male");
|
||||||
|
|
||||||
|
// Patient data source.
|
||||||
|
patientDataSources.Add((int)Spm.PatientDataSource.Patient, "PAT", "Patient");
|
||||||
|
patientDataSources.Add((int)Spm.PatientDataSource.Admission, "ADM", "Admission");
|
||||||
|
patientDataSources.Add((int)Spm.PatientDataSource.Demographics, "DEM", "Demographics");
|
||||||
|
patientDataSources.Add((int)Spm.PatientDataSource.WaitingList, "WTL", "Waiting list");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Template map type.
|
||||||
|
templateMapTypes.Add((int)Spm.FacilityTemplateMapType.RollingWeek, "RWK", "Rolling week");
|
||||||
|
templateMapTypes.Add((int)Spm.FacilityTemplateMapType.WeekdayInstanceInMonth, "WIM", "Weekday instance within month");
|
||||||
|
templateMapTypes.Add((int)Spm.FacilityTemplateMapType.WorkingWeekInMonth, "WWM", "Working week within month");
|
||||||
|
|
||||||
|
// Session model.
|
||||||
|
sessionModels.Add((int)Spm.SessionModel.Default, "SesMdlDefault", "Default model");
|
||||||
|
sessionModels.Add((int)Spm.SessionModel.Maternity, "SesMdlMaternity", "Maternity");
|
||||||
|
|
||||||
|
// Resource category.
|
||||||
|
resourceCategories.Add((int)Spm.ResourceCategory.TheatreList, "THELST", "Theatre list");
|
||||||
|
resourceCategories.Add((int)Spm.ResourceCategory.ClinicList, "CLILST", "Clinic list");
|
||||||
|
resourceCategories.Add((int)Spm.ResourceCategory.WardResource, "WRDRES", "Ward resource");
|
||||||
|
resourceCategories.Add((int)Spm.ResourceCategory.WardAdmissionList, "WRDADM", "Admission list");
|
||||||
|
resourceCategories.Add((int)Spm.ResourceCategory.WardDischargeList, "WRDDIS", "Discharge list");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Theatre session type.
|
||||||
|
theatreSessionTypes.Add((int)Spm.TemplateType.TheatreSession_Service, "SRV", "Service");
|
||||||
|
theatreSessionTypes.Add((int)Spm.TemplateType.TheatreSession_Training, "TRN", "Training");
|
||||||
|
|
||||||
|
// Clinic session type.
|
||||||
|
clinicSessionTypes.Add((int)Spm.TemplateType.ClinicSession_Service, "SRV", "Service");
|
||||||
|
clinicSessionTypes.Add((int)Spm.TemplateType.ClinicSession_Training, "TRN", "Training");
|
||||||
|
|
||||||
|
// Ward resource type.
|
||||||
|
wardResourceTypes.Add((int)Spm.TemplateType.WardResource_Bed, "BED", "Bed");
|
||||||
|
wardResourceTypes.Add((int)Spm.TemplateType.WardResource_Chair, "CHAIR", "Chair");
|
||||||
|
wardResourceTypes.Add((int)Spm.TemplateType.WardResource_Bay, "Bay", "Bay");
|
||||||
|
wardResourceTypes.Add((int)Spm.TemplateType.WardResource_Room, "Room", "Room");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Resource capacity type.
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.None, "None", "None");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.Single, "Single", "Single");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.Double, "Dbl", "Double");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.DoubleExclusive, "DblExc", "Double - exclusive option");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.Triple, "Tri", "Triple");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.TripleExclusive, "TriExc", "Triple - exclusive option");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.Quadruple, "Quad", "Quadruple");
|
||||||
|
resourceCapacityTypes.Add((int)Spm.ResourceCapacityType.QuadrupleExclusive, "QuadExc", "Quadruple - exclusive option");
|
||||||
|
|
||||||
|
// Resource loading type.
|
||||||
|
resourceLoadingTypes.Add((int)Spm.ResourceLoadingType.None, "None", "None");
|
||||||
|
resourceLoadingTypes.Add((int)Spm.ResourceLoadingType.Units, "Units", "Units");
|
||||||
|
|
||||||
|
// Schedule freeze type.
|
||||||
|
scheduleFreezeTypes.Add((int)Spm.ScheduleFreezeType.None, "NONE", "None - schedule always open");
|
||||||
|
scheduleFreezeTypes.Add((int)Spm.ScheduleFreezeType.FixedTimePreviousDay, "FTPD", "From set time on the previous day (for 24 hours)");
|
||||||
|
|
||||||
|
// Template data type.
|
||||||
|
templateDataTypes.Add((int)Spm.TemplateDataType.ComplexityCapacity, "CompCap", "Complexity Capacity");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Procedure complexity.
|
||||||
|
procedureComplexities.Add((int)Spm.ProcedureComplexity.Minor, "MIN", "Minor");
|
||||||
|
procedureComplexities.Add((int)Spm.ProcedureComplexity.Intermediate, "INT", "Intermediate");
|
||||||
|
procedureComplexities.Add((int)Spm.ProcedureComplexity.Major, "MAJ", "Major");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Admission occupancy.
|
||||||
|
admissionOccupancies.Add((int)Spm.AdmissionOccupancy.Single, "SINGLE", "Single");
|
||||||
|
admissionOccupancies.Add((int)Spm.AdmissionOccupancy.Exclusive, "EXCLUS", "Exclusive");
|
||||||
|
|
||||||
|
// Admission action type.
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.SendLetter, "Let", "Send letter");
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.RepeatAdmission, "REP", "Repeat admission");
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.ArrangeTransport, "TRA", "Arrange Transport");
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.Filing, "FIL", "Filing");
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.Prescription, "PRE", "Prescription");
|
||||||
|
admissionActionTypes.Add((int)Spm.AdmissionActionType.General, "GEN", "General");
|
||||||
|
|
||||||
|
// Admission cancel type.
|
||||||
|
admissionCancelTypes.Add((int)Spm.AdmissionCancelType.CancelTimeLimit, "CANTIM", "Cancel - Time limit");
|
||||||
|
admissionCancelTypes.Add((int)Spm.AdmissionCancelType.CancelOther, "CANOTH", "Cancel - Other");
|
||||||
|
admissionCancelTypes.Add((int)Spm.AdmissionCancelType.Deletion, "DELETE", "Deletion");
|
||||||
|
admissionCancelTypes.Add((int)Spm.AdmissionCancelType.ChangeSession, "CHGSES", "Change Session");
|
||||||
|
|
||||||
|
// Attendance type.
|
||||||
|
attendanceTypes.Add((int)Spm.AttendanceType.OutPatient, "OTP", "Out-Patient");
|
||||||
|
attendanceTypes.Add((int)Spm.AttendanceType.InPatient, "INP", "In-Patient");
|
||||||
|
|
||||||
|
// Attendance status.
|
||||||
|
attendanceStatuses.Add((int)Spm.AttendanceStatus.Arrived, "ARR", "Arrived");
|
||||||
|
attendanceStatuses.Add((int)Spm.AttendanceStatus.Discharged, "DIS", "Discharged");
|
||||||
|
attendanceStatuses.Add((int)Spm.AttendanceStatus.Cancelled, "CAN", "Cancelled");
|
||||||
|
attendanceStatuses.Add((int)Spm.AttendanceStatus.Dna, "DNA", "DNA");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Ward period length.
|
||||||
|
wardPeriodLengths.Add((int)Spm.WardPeriodLength.Week, "1Week", "1 week");
|
||||||
|
wardPeriodLengths.Add((int)Spm.WardPeriodLength.Weeks_2, "2Weeks", "2 weeks");
|
||||||
|
wardPeriodLengths.Add((int)Spm.WardPeriodLength.Weeks_4, "4Weeks", "4 weeks");
|
||||||
|
wardPeriodLengths.Add((int)Spm.WardPeriodLength.Weeks_6, "6Weeks", "6 weeks");
|
||||||
|
wardPeriodLengths.Add((int)Spm.WardPeriodLength.Weeks_8, "8Weeks", "8 weeks");
|
||||||
|
|
||||||
|
// Ward resource display.
|
||||||
|
wardResourceDisplays.Add((int)Spm.WardResourceDisplay.Summary, "Summary", "Summary");
|
||||||
|
wardResourceDisplays.Add((int)Spm.WardResourceDisplay.Narrow, "Narrow", "Narrow");
|
||||||
|
wardResourceDisplays.Add((int)Spm.WardResourceDisplay.Standard, "Standard", "Standard");
|
||||||
|
wardResourceDisplays.Add((int)Spm.WardResourceDisplay.Wide, "Wide", "Wide");
|
||||||
|
|
||||||
|
// Ward highlighting.
|
||||||
|
wardHighlightings.Add((int)Spm.WardHighlighting.None, "None", "None");
|
||||||
|
wardHighlightings.Add((int)Spm.WardHighlighting.Duration, "Duration", "Duration");
|
||||||
|
wardHighlightings.Add((int)Spm.WardHighlighting.Gender, "Gender", "Gender");
|
||||||
|
wardHighlightings.Add((int)Spm.WardHighlighting.ReferringCons, "RefCons", "Referring consultant");
|
||||||
|
wardHighlightings.Add((int)Spm.WardHighlighting.Speciality, "Speciality", "Speciality");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Report spacing.
|
||||||
|
reportSpacings.Add((int)Spm.ReportSpacing.Narrow, "NARROW", "Narrow");
|
||||||
|
reportSpacings.Add((int)Spm.ReportSpacing.Standard, "STANDARD", "Standard");
|
||||||
|
reportSpacings.Add((int)Spm.ReportSpacing.Wide, "WIDE", "Wide");
|
||||||
|
|
||||||
//---------------------------------------------------------------
|
//---------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,35 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
public abstract partial class SpmSystem : SacsSystem
|
public abstract partial class SpmSystem : SacsSystem
|
||||||
{
|
{
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<TypeCodeDesc> codeTypes = new List<TypeCodeDesc>();
|
||||||
// System Code types.
|
// System Code types.
|
||||||
private static List<TypeCodeDesc> sites = new List<TypeCodeDesc>();
|
private static List<TypeCodeDesc> sites = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> facilityTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> scheduleTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> employeeRoles = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> genders = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> patientDataSources = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> templateMapTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> sessionModels = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> resourceCategories = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> theatreSessionTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> clinicSessionTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> wardResourceTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> resourceCapacityTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> resourceLoadingTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> scheduleFreezeTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> templateDataTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> procedureComplexities = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> admissionOccupancies = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> admissionActionTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> admissionCancelTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> attendanceTypes = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> attendanceStatuses = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> wardPeriodLengths = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> wardResourceDisplays = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> wardHighlightings = new List<TypeCodeDesc>();
|
||||||
|
private static List<TypeCodeDesc> reportSpacings = new List<TypeCodeDesc>();
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Construction - use derived objects.
|
// Construction - use derived objects.
|
||||||
@@ -53,13 +80,65 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
//-----------------------------------------------------------
|
//-----------------------------------------------------------
|
||||||
case Spm.SystemCode.Site:
|
case Spm.SystemCode.Site:
|
||||||
return new List<TypeCodeDesc>(sites);
|
return new List<TypeCodeDesc>(sites);
|
||||||
|
case Spm.SystemCode.FacilityType:
|
||||||
//-----------------------------------------------------------
|
return new List<TypeCodeDesc>(facilityTypes);
|
||||||
|
case Spm.SystemCode.ScheduleType:
|
||||||
|
return new List<TypeCodeDesc>(scheduleTypes);
|
||||||
|
case Spm.SystemCode.EmployeeRole:
|
||||||
|
return new List<TypeCodeDesc>(employeeRoles);
|
||||||
|
case Spm.SystemCode.Gender:
|
||||||
|
return new List<TypeCodeDesc>(genders);
|
||||||
|
case Spm.SystemCode.PatientDataSource:
|
||||||
|
return new List<TypeCodeDesc>(patientDataSources);
|
||||||
|
case Spm.SystemCode.TemplateMapType:
|
||||||
|
return new List<TypeCodeDesc>(templateMapTypes);
|
||||||
|
case Spm.SystemCode.SessionModel:
|
||||||
|
return new List<TypeCodeDesc>(sessionModels);
|
||||||
|
case Spm.SystemCode.ResourceCategory:
|
||||||
|
return new List<TypeCodeDesc>(resourceCategories);
|
||||||
|
case Spm.SystemCode.TheatreSessionType:
|
||||||
|
return new List<TypeCodeDesc>(theatreSessionTypes);
|
||||||
|
case Spm.SystemCode.ClinicSessionType:
|
||||||
|
return new List<TypeCodeDesc>(clinicSessionTypes);
|
||||||
|
case Spm.SystemCode.WardResourceType:
|
||||||
|
return new List<TypeCodeDesc>(wardResourceTypes);
|
||||||
|
case Spm.SystemCode.ResourceCapacityType:
|
||||||
|
return new List<TypeCodeDesc>(resourceCapacityTypes);
|
||||||
|
case Spm.SystemCode.ResourceLoadingType:
|
||||||
|
return new List<TypeCodeDesc>(resourceLoadingTypes);
|
||||||
|
case Spm.SystemCode.ScheduleFreezeType:
|
||||||
|
return new List<TypeCodeDesc>(scheduleFreezeTypes);
|
||||||
|
case Spm.SystemCode.TemplateDataType:
|
||||||
|
return new List<TypeCodeDesc>(templateDataTypes);
|
||||||
|
case Spm.SystemCode.ProcedureComplexity:
|
||||||
|
return new List<TypeCodeDesc>(procedureComplexities);
|
||||||
|
case Spm.SystemCode.AdmissionOccupancy:
|
||||||
|
return new List<TypeCodeDesc>(admissionOccupancies);
|
||||||
|
case Spm.SystemCode.AdmissionActionType:
|
||||||
|
return new List<TypeCodeDesc>(admissionActionTypes);
|
||||||
|
case Spm.SystemCode.AdmissionCancelType:
|
||||||
|
return new List<TypeCodeDesc>(admissionCancelTypes);
|
||||||
|
case Spm.SystemCode.AttendanceType:
|
||||||
|
return new List<TypeCodeDesc>(attendanceTypes);
|
||||||
|
case Spm.SystemCode.AttendanceStatus:
|
||||||
|
return new List<TypeCodeDesc>(attendanceStatuses);
|
||||||
|
case Spm.SystemCode.WardPeriodLength:
|
||||||
|
return new List<TypeCodeDesc>(wardPeriodLengths);
|
||||||
|
case Spm.SystemCode.WardResourceDisplay:
|
||||||
|
return new List<TypeCodeDesc>(wardResourceDisplays);
|
||||||
|
case Spm.SystemCode.WardHighlighting:
|
||||||
|
return new List<TypeCodeDesc>(wardHighlightings);
|
||||||
|
case Spm.SystemCode.ReportSpacing:
|
||||||
|
return new List<TypeCodeDesc>(reportSpacings);
|
||||||
|
default:
|
||||||
|
Logger.Warn("SpmSystem.GetCodesOfType Invalid code type: " + systemCode.ToString());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
//---------------------------------------------------------------
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// System code utilities.
|
// System code utilities.
|
||||||
public static Spm.Site GetSiteForCode (String siteCode)
|
public static Spm.Site GetSiteForCode (String siteCode)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Sarand.Core.Bus;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -7,15 +8,28 @@ namespace Sarand.PatientMgr.Core.App
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
public class SpmUserContext
|
public class SpmUserContext
|
||||||
{
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
public class UserData
|
||||||
|
{
|
||||||
|
public SysId SecurityItemId { get; internal set; } = new SysId();
|
||||||
|
public String Name { get; internal set; } = "";
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Data members.
|
// Data members.
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Construction.
|
// Construction.
|
||||||
|
protected SpmUserContext (SpmSessionContext sessionContext)
|
||||||
|
{
|
||||||
|
SessionContext = sessionContext;
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Properties.
|
// Properties.
|
||||||
public SpmSessionContext SessionContext { get; protected set; }
|
public SpmSessionContext SessionContext { get; }
|
||||||
|
public UserData User { get; } = new UserData();
|
||||||
|
public SpmSecurityProfile SecurityProfile { get; } = new SpmSecurityProfile(false);
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ using System.Text;
|
|||||||
|
|
||||||
namespace Sarand.PatientMgr.Core.Mgr
|
namespace Sarand.PatientMgr.Core.Mgr
|
||||||
{
|
{
|
||||||
|
//=======================================================================
|
||||||
|
// AdmissionMgr manages:
|
||||||
|
// Admission
|
||||||
|
// Admission Role
|
||||||
|
// Admission Data
|
||||||
|
// Admission Action
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
public abstract partial class SpmAdmissionMgr : SpmItemMgr
|
public abstract partial class SpmAdmissionMgr : SpmItemMgr
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Core.Mgr
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
// DepartmentMgr manages:
|
||||||
|
// Department
|
||||||
|
// Employee Role
|
||||||
|
// Facility
|
||||||
|
// Facility Template
|
||||||
|
// Template Data
|
||||||
|
// Facility Session
|
||||||
|
// Procedure
|
||||||
|
//=======================================================================
|
||||||
|
public abstract partial class SpmDepartmentMgr : SpmItemMgr
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmDepartmentMgr (SpmUserContext userContext) :
|
||||||
|
base(userContext)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Core.Mgr
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
// InstitutionMgr manages:
|
||||||
|
// Institution
|
||||||
|
// Operation
|
||||||
|
// Employee
|
||||||
|
// Patient
|
||||||
|
//=======================================================================
|
||||||
|
public abstract partial class SpmInstitutionMgr : SpmItemMgr
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmInstitutionMgr (SpmUserContext userContext) :
|
||||||
|
base(userContext)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -42,6 +42,29 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Win\Dbas\App\SpmSystem_WinDbas.cs" />
|
<Compile Include="Win\Dbas\App\SpmSystem_WinDbas.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Consoles\SpmCodeTypeConsole_Dbas.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Consoles\SpmItemOptionConsole_Dbas.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Consoles\SpmSecurityConsole_Dbas.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Consoles\SpmUpdateLogConsole_Dbas.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Data\SpmDbDataItem.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\IndexDefragLog_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SaItemNamedValue_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmAdmissionAction_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmAdmissionData_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmAdmissionRole_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmAdmission_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmDepartmentCode_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmDepartment_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmEmployeeRole_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmEmployee_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmFacilitySession_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmFacilityTemplate_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmFacility_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmInstitution_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmOperation_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmPatient_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmProcedure_Db.cs" />
|
||||||
|
<Compile Include="Win\Dbas\Internal\SwmTemplateData_Db.cs" />
|
||||||
<Compile Include="Win\Dbas\Mgr\SpmAdmissionMgr_Dbas.cs" />
|
<Compile Include="Win\Dbas\Mgr\SpmAdmissionMgr_Dbas.cs" />
|
||||||
<Compile Include="Win\Dbas\Utils\SpmDbDfnGenerator.cs" />
|
<Compile Include="Win\Dbas\Utils\SpmDbDfnGenerator.cs" />
|
||||||
<Compile Include="Win\Dbas\Utils\SpmFileUtil.cs" />
|
<Compile Include="Win\Dbas\Utils\SpmFileUtil.cs" />
|
||||||
@@ -66,10 +89,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Win\Dbas\Base\" />
|
<Folder Include="Win\Dbas\Base\" />
|
||||||
<Folder Include="Win\Dbas\Bus\" />
|
<Folder Include="Win\Dbas\Bus\" />
|
||||||
<Folder Include="Win\Dbas\Consoles\" />
|
|
||||||
<Folder Include="Win\Dbas\Data\" />
|
|
||||||
<Folder Include="Win\Dbas\Internal\" />
|
|
||||||
<Folder Include="Win\Dbas\UpdateLog\" />
|
<Folder Include="Win\Dbas\UpdateLog\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Win\Dbas\Internal\SpmDbDfn.xml" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Dbas.CodeTypes;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public abstract class SpmCodeTypeConsole_Dbas : SaCodeTypeConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmCodeTypeConsole_Dbas (SpmSessionContext sessionContext, SacsDatabase database) : base(database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
using Sarand.Core.Bus;
|
||||||
|
using Sarand.Core.ItemOptions;
|
||||||
|
using Sarand.Core.UpdateLog;
|
||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Dbas.ItemOptions;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public abstract class SpmItemOptionConsole_Dbas : SaItemOptionConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmItemOptionConsole_Dbas (SpmSessionContext sessionContext, SacsDatabase database) : base(database)
|
||||||
|
{
|
||||||
|
SessionContext = sessionContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public SpmSessionContext SessionContext { get; }
|
||||||
|
public override short ItemOptionDataType { get { return (short)Spm.DataItemType.ItemOption; } }
|
||||||
|
public override SaUpdateLogConsole UpdateLogConsole { get { return SpmGlobals.Application.GetUpdateLogConsole(SessionContext); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// I t e m O p t i o n D e f i n i t i o n s
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
public override List<SaItemOptionDfn> GetItemOptionDfnsForItem (ItemId itemId)
|
||||||
|
{
|
||||||
|
// ToDo SpmItemOptionConsole_Dbas.GetItemOptionDfnsForItem
|
||||||
|
/*
|
||||||
|
if (itemId.Type == (int)Spm.DataItemType.Interface)
|
||||||
|
return SpmGlobals.ConsoleHelper.GetInterfaceConsole(SessionContext).GetInterfaceItemOptionDfns(itemId.Id);
|
||||||
|
*/
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Dbas.Security;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public abstract class SpmSecurityConsole_Dbas : SaSecurityConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<TypeCodeDesc> securityRights = new List<TypeCodeDesc>();
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Static initialisation.
|
||||||
|
static SpmSecurityConsole_Dbas ()
|
||||||
|
{
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.ManageSecurity, "MngSec", "Manage Security");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.ManageConfig, "MngCfg", "Manage Config");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.ManageDb, "MngDb", "Manage Database");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.DepartmentView, "DeptView", "View department");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.DepartmentReserve, "DeptReserve", "Reserve department");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.DepartmentUpdate, "DeptUpd", "Update department");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.DepartmentConfig, "DeptCfg", "Manage department");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.ConsultantView, "ConsView", "View Consultant");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.ConsultantUpdate, "ConsUpd", "Update Consultant");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.SpecialityView, "SpecView", "View Speciality");
|
||||||
|
securityRights.Add((int)Spm.SecurityRight.SpecialityUpdate, "SpecUpd", "Update Speciality");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmSecurityConsole_Dbas (SpmSessionContext sessionContext, SacsDatabase database) : base(database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public List<TypeCodeDesc> GetSecurityRights () { return new List<TypeCodeDesc>(securityRights); }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Register Security Rights.
|
||||||
|
public override void RegisterSecurityRights ()
|
||||||
|
{
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Register data item types.
|
||||||
|
RegisterDataItemType((short)Spm.DataItemType.Department, "Department");
|
||||||
|
RegisterDataItemType((short)Spm.DataItemType.RoleConsultant, "Consultant");
|
||||||
|
RegisterDataItemType((short)Spm.DataItemType.CodeSpeciality, "Speciality");
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Manage security.
|
||||||
|
CodeDesc securityRight = GetSecurityRight(Spm.SecurityRight.ManageSecurity);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc);
|
||||||
|
// Manage configuration.
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.ManageConfig);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc);
|
||||||
|
// Manage database.
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.ManageDb);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// View department:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.DepartmentView);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.Department);
|
||||||
|
// Make reservation in department:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.DepartmentReserve);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.Department);
|
||||||
|
// Update department:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.DepartmentUpdate);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.Department);
|
||||||
|
// Manage department:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.DepartmentConfig);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.Department);
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Security rights associated with specific consultant:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.ConsultantView);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.RoleConsultant);
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.ConsultantUpdate);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.RoleConsultant);
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
// Security rights associated with specific speciality:
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.SpecialityView);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.CodeSpeciality);
|
||||||
|
securityRight = GetSecurityRight(Spm.SecurityRight.SpecialityUpdate);
|
||||||
|
RegisterSecurityRight(securityRight.Code, securityRight.Desc, (short)Spm.DataItemType.CodeSpeciality);
|
||||||
|
|
||||||
|
//---------------------------------------------------------------
|
||||||
|
}
|
||||||
|
|
||||||
|
CodeDesc GetSecurityRight (Spm.SecurityRight securityRight)
|
||||||
|
{
|
||||||
|
return securityRights.GetCodeDescForType((int)securityRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
using Sarand.Core.Bus;
|
||||||
|
using Sarand.Core.Security;
|
||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Dbas.UpdateLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public abstract class SpmUpdateLogConsole_Dbas : SaUpdateLogConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmUpdateLogConsole_Dbas (SpmSessionContext sessionContext, SacsDatabase database) : base(database)
|
||||||
|
{
|
||||||
|
SessionContext = sessionContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public SpmSessionContext SessionContext { get; }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Get name for User Id.
|
||||||
|
public override Dictionary<SysId, String> GetNameForUserIds (List<SysId> userIds)
|
||||||
|
{
|
||||||
|
Dictionary<SysId, String> userNames = new Dictionary<SysId, String>();
|
||||||
|
SaSecurityConsole securityConsole = SpmGlobals.Application.GetSecurityConsole(SessionContext);
|
||||||
|
if (securityConsole != null)
|
||||||
|
{
|
||||||
|
userNames = securityConsole.GetSecurityItemDescriptions(userIds);
|
||||||
|
}
|
||||||
|
return userNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.Core.Dbas.Base;
|
||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static Sarand.Win.Dbas.Data.DbDataItem;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Data
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public abstract class SpmDbDataItem : DbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Definitions.
|
||||||
|
/// <summary>
|
||||||
|
/// Database information - object supplied by main application.
|
||||||
|
/// <para>NB Application may have multiple databases with schema differences.</para>
|
||||||
|
/// <para>Each instance of a DbDataItem must be database specific.</para>
|
||||||
|
/// </summary>
|
||||||
|
public class SlmDatabaseInfo : IDatabaseInfo
|
||||||
|
{
|
||||||
|
// Data members.
|
||||||
|
private readonly List<DbDfnTable> tables;
|
||||||
|
private static readonly String defaultSchemaName = "dbo";
|
||||||
|
// Construction.
|
||||||
|
public SlmDatabaseInfo (Spm.Site site, String databaseName, List<DbDfnTable> tables)
|
||||||
|
{
|
||||||
|
this.Site = site;
|
||||||
|
this.DatabaseName = databaseName;
|
||||||
|
this.tables = tables;
|
||||||
|
}
|
||||||
|
// Properties.
|
||||||
|
public Spm.Site Site { get; }
|
||||||
|
public String DatabaseName { get; }
|
||||||
|
public String Context { get { return StringUtil.OnEmpty(SpmSystem.GetSiteCode(Site), "UnknownSite") + "." + StringUtil.OnEmpty(DatabaseName, "UnknownDb"); } }
|
||||||
|
// Database schema.
|
||||||
|
public DbDfnTable GetTableDefinition (String schemaName, String tableName)
|
||||||
|
{
|
||||||
|
foreach (DbDfnTable table in tables.FindAll(item => item.Name.EqualsCI(tableName)))
|
||||||
|
{
|
||||||
|
if (StringUtil.OnEmpty(table.Schema, defaultSchemaName).EqualsCI(StringUtil.OnEmpty(schemaName, defaultSchemaName)))
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public bool TableExists (String schemaName, String tableName)
|
||||||
|
{
|
||||||
|
return GetTableDefinition(schemaName, tableName) != null;
|
||||||
|
}
|
||||||
|
public bool ColumnExists (String schemaName, String tableName, String columnName)
|
||||||
|
{
|
||||||
|
DbDfnTable table = GetTableDefinition(schemaName, tableName);
|
||||||
|
if (table == null) return false;
|
||||||
|
return table.HasColumnByName(columnName);
|
||||||
|
}
|
||||||
|
public List<DbDfnColumn> GetColumnsForTable (String schemaName, String tableName)
|
||||||
|
{
|
||||||
|
DbDfnTable table = GetTableDefinition(schemaName, tableName);
|
||||||
|
if (table != null) return table.Columns;
|
||||||
|
return new List<DbDfnColumn>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
protected SpmDbDataItem (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,211 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class IndexDefragLog_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _IndexDefragId { get; } = new ColumnDataInt32("IndexDefragId", true);
|
||||||
|
public ColumnDataInt32 _DatabaseID { get; } = new ColumnDataInt32("DatabaseID");
|
||||||
|
public ColumnDataString _DatabaseName { get; } = new ColumnDataString("DatabaseName");
|
||||||
|
public ColumnDataInt32 _ObjectID { get; } = new ColumnDataInt32("ObjectID");
|
||||||
|
public ColumnDataString _ObjectName { get; } = new ColumnDataString("ObjectName");
|
||||||
|
public ColumnDataInt32 _IndexID { get; } = new ColumnDataInt32("IndexID");
|
||||||
|
public ColumnDataString _IndexName { get; } = new ColumnDataString("IndexName");
|
||||||
|
public ColumnDataInt16 _PartitionNumber { get; } = new ColumnDataInt16("PartitionNumber");
|
||||||
|
public ColumnDataDouble _Fragmentation { get; } = new ColumnDataDouble("Fragmentation");
|
||||||
|
public ColumnDataInt32 _PageCount { get; } = new ColumnDataInt32("PageCount");
|
||||||
|
public ColumnDataDateTime _DateTimeStart { get; } = new ColumnDataDateTime("DateTimeStart");
|
||||||
|
public ColumnDataInt32 _DurationSeconds { get; } = new ColumnDataInt32("DurationSeconds");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"IndexDefragId",
|
||||||
|
"DatabaseID",
|
||||||
|
"DatabaseName",
|
||||||
|
"ObjectID",
|
||||||
|
"ObjectName",
|
||||||
|
"IndexID",
|
||||||
|
"IndexName",
|
||||||
|
"PartitionNumber",
|
||||||
|
"Fragmentation",
|
||||||
|
"PageCount",
|
||||||
|
"DateTimeStart",
|
||||||
|
"DurationSeconds",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"IndexDefragId",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"IndexDefragId",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal IndexDefragLog_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "IndexDefragLog";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _IndexDefragId { get { return Cols._IndexDefragId.Value; } set { Cols._IndexDefragId.Value = value; } }
|
||||||
|
public Int32 _DatabaseID { get { return Cols._DatabaseID.Value; } set { Cols._DatabaseID.Value = value; } }
|
||||||
|
public String _DatabaseName { get { return Cols._DatabaseName.Value; } set { Cols._DatabaseName.Value = value; } }
|
||||||
|
public Int32 _ObjectID { get { return Cols._ObjectID.Value; } set { Cols._ObjectID.Value = value; } }
|
||||||
|
public String _ObjectName { get { return Cols._ObjectName.Value; } set { Cols._ObjectName.Value = value; } }
|
||||||
|
public Int32 _IndexID { get { return Cols._IndexID.Value; } set { Cols._IndexID.Value = value; } }
|
||||||
|
public String _IndexName { get { return Cols._IndexName.Value; } set { Cols._IndexName.Value = value; } }
|
||||||
|
public Int16 _PartitionNumber { get { return Cols._PartitionNumber.Value; } set { Cols._PartitionNumber.Value = value; } }
|
||||||
|
public Double _Fragmentation { get { return Cols._Fragmentation.Value; } set { Cols._Fragmentation.Value = value; } }
|
||||||
|
public Int32 _PageCount { get { return Cols._PageCount.Value; } set { Cols._PageCount.Value = value; } }
|
||||||
|
public DateTime _DateTimeStart { get { return Cols._DateTimeStart.Value; } set { Cols._DateTimeStart.Value = value; } }
|
||||||
|
public Int32 _DurationSeconds { get { return Cols._DurationSeconds.Value; } set { Cols._DurationSeconds.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_IndexDefragId = GetFieldInt32(dbDataReader, "IndexDefragId", _IndexDefragId);
|
||||||
|
_DatabaseID = GetFieldInt32(dbDataReader, "DatabaseID", _DatabaseID);
|
||||||
|
_DatabaseName = GetFieldString(dbDataReader, "DatabaseName", _DatabaseName);
|
||||||
|
_ObjectID = GetFieldInt32(dbDataReader, "ObjectID", _ObjectID);
|
||||||
|
_ObjectName = GetFieldString(dbDataReader, "ObjectName", _ObjectName);
|
||||||
|
_IndexID = GetFieldInt32(dbDataReader, "IndexID", _IndexID);
|
||||||
|
_IndexName = GetFieldString(dbDataReader, "IndexName", _IndexName);
|
||||||
|
_PartitionNumber = GetFieldInt16(dbDataReader, "PartitionNumber", _PartitionNumber);
|
||||||
|
_Fragmentation = GetFieldDouble(dbDataReader, "Fragmentation", _Fragmentation);
|
||||||
|
_PageCount = GetFieldInt32(dbDataReader, "PageCount", _PageCount);
|
||||||
|
_DateTimeStart = GetFieldDateTime(dbDataReader, "DateTimeStart", _DateTimeStart);
|
||||||
|
_DurationSeconds = GetFieldInt32(dbDataReader, "DurationSeconds", _DurationSeconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Avoid insert if Identity field is already valid.
|
||||||
|
if (_IndexDefragId != 0) throw new Exception("Invalid for Insert - item already has a valid Id");
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
query += "Output Inserted.IndexDefragId ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DatabaseID")) AddCommandParameter(dbCommand, "@DatabaseID", _DatabaseID);
|
||||||
|
if (columnNames.ContainsCI("DatabaseName")) AddCommandParameter(dbCommand, "@DatabaseName", _DatabaseName);
|
||||||
|
if (columnNames.ContainsCI("ObjectID")) AddCommandParameter(dbCommand, "@ObjectID", _ObjectID);
|
||||||
|
if (columnNames.ContainsCI("ObjectName")) AddCommandParameter(dbCommand, "@ObjectName", _ObjectName);
|
||||||
|
if (columnNames.ContainsCI("IndexID")) AddCommandParameter(dbCommand, "@IndexID", _IndexID);
|
||||||
|
if (columnNames.ContainsCI("IndexName")) AddCommandParameter(dbCommand, "@IndexName", _IndexName);
|
||||||
|
if (columnNames.ContainsCI("PartitionNumber")) AddCommandParameter(dbCommand, "@PartitionNumber", _PartitionNumber);
|
||||||
|
if (columnNames.ContainsCI("Fragmentation")) AddCommandParameter(dbCommand, "@Fragmentation", _Fragmentation);
|
||||||
|
if (columnNames.ContainsCI("PageCount")) AddCommandParameter(dbCommand, "@PageCount", _PageCount);
|
||||||
|
if (columnNames.ContainsCI("DateTimeStart")) AddCommandParameter(dbCommand, "@DateTimeStart", _DateTimeStart);
|
||||||
|
if (columnNames.ContainsCI("DurationSeconds")) AddCommandParameter(dbCommand, "@DurationSeconds", _DurationSeconds);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText = "SELECT Max(IndexDefragId) FROM " + TableNameFmt + ";";
|
||||||
|
_IndexDefragId = Convert.ToInt32(dbCommand.ExecuteScalar());
|
||||||
|
commandSuccess = (_IndexDefragId > 0);
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Avoid update if Identity field isn't valid.
|
||||||
|
if (_IndexDefragId == 0) throw new Exception("Invalid for Update - item has an invalid Id");
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE IndexDefragId=@IndexDefragId;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE IndexDefragId=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DatabaseID")) AddCommandParameter(dbCommand, "@DatabaseID", _DatabaseID);
|
||||||
|
if (columnNames.ContainsCI("DatabaseName")) AddCommandParameter(dbCommand, "@DatabaseName", _DatabaseName);
|
||||||
|
if (columnNames.ContainsCI("ObjectID")) AddCommandParameter(dbCommand, "@ObjectID", _ObjectID);
|
||||||
|
if (columnNames.ContainsCI("ObjectName")) AddCommandParameter(dbCommand, "@ObjectName", _ObjectName);
|
||||||
|
if (columnNames.ContainsCI("IndexID")) AddCommandParameter(dbCommand, "@IndexID", _IndexID);
|
||||||
|
if (columnNames.ContainsCI("IndexName")) AddCommandParameter(dbCommand, "@IndexName", _IndexName);
|
||||||
|
if (columnNames.ContainsCI("PartitionNumber")) AddCommandParameter(dbCommand, "@PartitionNumber", _PartitionNumber);
|
||||||
|
if (columnNames.ContainsCI("Fragmentation")) AddCommandParameter(dbCommand, "@Fragmentation", _Fragmentation);
|
||||||
|
if (columnNames.ContainsCI("PageCount")) AddCommandParameter(dbCommand, "@PageCount", _PageCount);
|
||||||
|
if (columnNames.ContainsCI("DateTimeStart")) AddCommandParameter(dbCommand, "@DateTimeStart", _DateTimeStart);
|
||||||
|
if (columnNames.ContainsCI("DurationSeconds")) AddCommandParameter(dbCommand, "@DurationSeconds", _DurationSeconds);
|
||||||
|
AddCommandParameter(dbCommand, "@IndexDefragId", _IndexDefragId);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,216 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SaItemNamedValue_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||||
|
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||||
|
public ColumnDataString _Value { get; } = new ColumnDataString("Value");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"ItemType",
|
||||||
|
"ItemId",
|
||||||
|
"Name",
|
||||||
|
"Seq",
|
||||||
|
"Value",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"ItemType",
|
||||||
|
"ItemId",
|
||||||
|
"Name",
|
||||||
|
"Seq",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SaItemNamedValue_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SaItemNamedValue";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||||
|
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||||
|
public String _Value { get { return Cols._Value.Value; } set { Cols._Value.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||||
|
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||||
|
_Value = GetFieldString(dbDataReader, "Value", _Value);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||||
|
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE ItemType=@ItemType AND ItemId=@ItemId AND Name=@Name AND Seq=@Seq;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE ItemType=? AND ItemId=? AND Name=? AND Seq=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||||
|
AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||||
|
AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,231 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmAdmissionAction_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _AdmissionId { get; } = new ColumnDataInt32("AdmissionId");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataDateTime _Raised { get; } = new ColumnDataDateTime("Raised");
|
||||||
|
public ColumnDataInt32 _EmployeeIdRaised { get; } = new ColumnDataInt32("EmployeeIdRaised");
|
||||||
|
public ColumnDataDateTime _Completed { get; } = new ColumnDataDateTime("Completed");
|
||||||
|
public ColumnDataInt32 _EmployeeIdCompleted { get; } = new ColumnDataInt32("EmployeeIdCompleted");
|
||||||
|
public ColumnDataString _ActionData { get; } = new ColumnDataString("ActionData");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"AdmissionId",
|
||||||
|
"Type",
|
||||||
|
"Raised",
|
||||||
|
"EmployeeIdRaised",
|
||||||
|
"Completed",
|
||||||
|
"EmployeeIdCompleted",
|
||||||
|
"ActionData",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmAdmissionAction_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmAdmissionAction";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _AdmissionId { get { return Cols._AdmissionId.Value; } set { Cols._AdmissionId.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public DateTime _Raised { get { return Cols._Raised.Value; } set { Cols._Raised.Value = value; } }
|
||||||
|
public Int32 _EmployeeIdRaised { get { return Cols._EmployeeIdRaised.Value; } set { Cols._EmployeeIdRaised.Value = value; } }
|
||||||
|
public DateTime _Completed { get { return Cols._Completed.Value; } set { Cols._Completed.Value = value; } }
|
||||||
|
public Int32 _EmployeeIdCompleted { get { return Cols._EmployeeIdCompleted.Value; } set { Cols._EmployeeIdCompleted.Value = value; } }
|
||||||
|
public String _ActionData { get { return Cols._ActionData.Value; } set { Cols._ActionData.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_AdmissionId = GetFieldInt32(dbDataReader, "AdmissionId", _AdmissionId);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Raised = GetFieldDateTime(dbDataReader, "Raised", _Raised);
|
||||||
|
_EmployeeIdRaised = GetFieldInt32(dbDataReader, "EmployeeIdRaised", _EmployeeIdRaised);
|
||||||
|
_Completed = GetFieldDateTime(dbDataReader, "Completed", _Completed);
|
||||||
|
_EmployeeIdCompleted = GetFieldInt32(dbDataReader, "EmployeeIdCompleted", _EmployeeIdCompleted);
|
||||||
|
_ActionData = GetFieldString(dbDataReader, "ActionData", _ActionData);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("AdmissionId")) AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Raised")) AddCommandParameter(dbCommand, "@Raised", _Raised);
|
||||||
|
if (columnNames.ContainsCI("EmployeeIdRaised")) AddCommandParameter(dbCommand, "@EmployeeIdRaised", _EmployeeIdRaised);
|
||||||
|
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||||
|
if (columnNames.ContainsCI("EmployeeIdCompleted")) AddCommandParameter(dbCommand, "@EmployeeIdCompleted", _EmployeeIdCompleted);
|
||||||
|
if (columnNames.ContainsCI("ActionData")) AddCommandParameter(dbCommand, "@ActionData", _ActionData);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("AdmissionId")) AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Raised")) AddCommandParameter(dbCommand, "@Raised", _Raised);
|
||||||
|
if (columnNames.ContainsCI("EmployeeIdRaised")) AddCommandParameter(dbCommand, "@EmployeeIdRaised", _EmployeeIdRaised);
|
||||||
|
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||||
|
if (columnNames.ContainsCI("EmployeeIdCompleted")) AddCommandParameter(dbCommand, "@EmployeeIdCompleted", _EmployeeIdCompleted);
|
||||||
|
if (columnNames.ContainsCI("ActionData")) AddCommandParameter(dbCommand, "@ActionData", _ActionData);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,202 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmAdmissionData_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _AdmissionId { get; } = new ColumnDataInt32("AdmissionId");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataString _Data { get; } = new ColumnDataString("Data");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"AdmissionId",
|
||||||
|
"Type",
|
||||||
|
"Data",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"AdmissionId",
|
||||||
|
"Type",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmAdmissionData_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmAdmissionData";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _AdmissionId { get { return Cols._AdmissionId.Value; } set { Cols._AdmissionId.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public String _Data { get { return Cols._Data.Value; } set { Cols._Data.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_AdmissionId = GetFieldInt32(dbDataReader, "AdmissionId", _AdmissionId);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Data = GetFieldString(dbDataReader, "Data", _Data);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("AdmissionId")) AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Data")) AddCommandParameter(dbCommand, "@Data", _Data);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE AdmissionId=@AdmissionId AND Type=@Type;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE AdmissionId=? AND Type=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Data")) AddCommandParameter(dbCommand, "@Data", _Data);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,224 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmAdmissionRole_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _AdmissionId { get; } = new ColumnDataInt32("AdmissionId");
|
||||||
|
public ColumnDataInt16 _Role { get; } = new ColumnDataInt16("Role");
|
||||||
|
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||||
|
public ColumnDataInt32 _EmployeeRoleId { get; } = new ColumnDataInt32("EmployeeRoleId");
|
||||||
|
public ColumnDataString _EmployeeCode { get; } = new ColumnDataString("EmployeeCode");
|
||||||
|
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"AdmissionId",
|
||||||
|
"Role",
|
||||||
|
"Seq",
|
||||||
|
"EmployeeRoleId",
|
||||||
|
"EmployeeCode",
|
||||||
|
"Category",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"AdmissionId",
|
||||||
|
"Role",
|
||||||
|
"Seq",
|
||||||
|
"EmployeeRoleId",
|
||||||
|
"EmployeeCode",
|
||||||
|
"Category",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmAdmissionRole_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmAdmissionRole";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _AdmissionId { get { return Cols._AdmissionId.Value; } set { Cols._AdmissionId.Value = value; } }
|
||||||
|
public Int16 _Role { get { return Cols._Role.Value; } set { Cols._Role.Value = value; } }
|
||||||
|
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||||
|
public Int32 _EmployeeRoleId { get { return Cols._EmployeeRoleId.Value; } set { Cols._EmployeeRoleId.Value = value; } }
|
||||||
|
public String _EmployeeCode { get { return Cols._EmployeeCode.Value; } set { Cols._EmployeeCode.Value = value; } }
|
||||||
|
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_AdmissionId = GetFieldInt32(dbDataReader, "AdmissionId", _AdmissionId);
|
||||||
|
_Role = GetFieldInt16(dbDataReader, "Role", _Role);
|
||||||
|
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||||
|
_EmployeeRoleId = GetFieldInt32(dbDataReader, "EmployeeRoleId", _EmployeeRoleId);
|
||||||
|
_EmployeeCode = GetFieldString(dbDataReader, "EmployeeCode", _EmployeeCode);
|
||||||
|
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("AdmissionId")) AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
if (columnNames.ContainsCI("Role")) AddCommandParameter(dbCommand, "@Role", _Role);
|
||||||
|
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
if (columnNames.ContainsCI("EmployeeRoleId")) AddCommandParameter(dbCommand, "@EmployeeRoleId", _EmployeeRoleId);
|
||||||
|
if (columnNames.ContainsCI("EmployeeCode")) AddCommandParameter(dbCommand, "@EmployeeCode", _EmployeeCode);
|
||||||
|
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE AdmissionId=@AdmissionId AND Role=@Role AND Seq=@Seq AND EmployeeRoleId=@EmployeeRoleId AND EmployeeCode=@EmployeeCode AND Category=@Category;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE AdmissionId=? AND Role=? AND Seq=? AND EmployeeRoleId=? AND EmployeeCode=? AND Category=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@AdmissionId", _AdmissionId);
|
||||||
|
AddCommandParameter(dbCommand, "@Role", _Role);
|
||||||
|
AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
AddCommandParameter(dbCommand, "@EmployeeRoleId", _EmployeeRoleId);
|
||||||
|
AddCommandParameter(dbCommand, "@EmployeeCode", _EmployeeCode);
|
||||||
|
AddCommandParameter(dbCommand, "@Category", _Category);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,561 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmAdmission_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _FacilityId { get; } = new ColumnDataInt32("FacilityId");
|
||||||
|
public ColumnDataInt32 _FacilityTemplateId { get; } = new ColumnDataInt32("FacilityTemplateId");
|
||||||
|
public ColumnDataDateTime _AdmissionFrom { get; } = new ColumnDataDateTime("AdmissionFrom");
|
||||||
|
public ColumnDataDateTime _AdmissionTo { get; } = new ColumnDataDateTime("AdmissionTo");
|
||||||
|
public ColumnDataDateTime _DecisionToReferOn { get; } = new ColumnDataDateTime("DecisionToReferOn");
|
||||||
|
public ColumnDataDateTime _ReferredOn { get; } = new ColumnDataDateTime("ReferredOn");
|
||||||
|
public ColumnDataDateTime _BreechOn { get; } = new ColumnDataDateTime("BreechOn");
|
||||||
|
public ColumnDataDateTime _DecisionToAdmitOn { get; } = new ColumnDataDateTime("DecisionToAdmitOn");
|
||||||
|
public ColumnDataDateTime _PreAssessment { get; } = new ColumnDataDateTime("PreAssessment");
|
||||||
|
public ColumnDataDateTime _ToComeIn { get; } = new ColumnDataDateTime("ToComeIn");
|
||||||
|
public ColumnDataByte _Seq { get; } = new ColumnDataByte("Seq");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataInt16 _Occupancy { get; } = new ColumnDataInt16("Occupancy");
|
||||||
|
public ColumnDataInt32 _PatientId { get; } = new ColumnDataInt32("PatientId");
|
||||||
|
public ColumnDataString _PatientNo { get; } = new ColumnDataString("PatientNo");
|
||||||
|
public ColumnDataString _NhsNumber { get; } = new ColumnDataString("NhsNumber");
|
||||||
|
public ColumnDataString _Title { get; } = new ColumnDataString("Title");
|
||||||
|
public ColumnDataString _Surname { get; } = new ColumnDataString("Surname");
|
||||||
|
public ColumnDataString _Forename { get; } = new ColumnDataString("Forename");
|
||||||
|
public ColumnDataInt16 _Gender { get; } = new ColumnDataInt16("Gender");
|
||||||
|
public ColumnDataInt32 _BirthOn { get; } = new ColumnDataInt32("BirthOn");
|
||||||
|
public ColumnDataString _Age { get; } = new ColumnDataString("Age");
|
||||||
|
public ColumnDataDateTime _AgeOn { get; } = new ColumnDataDateTime("AgeOn");
|
||||||
|
public ColumnDataString _PhoneMobile { get; } = new ColumnDataString("PhoneMobile");
|
||||||
|
public ColumnDataString _Email { get; } = new ColumnDataString("Email");
|
||||||
|
public ColumnDataInt16 _ContactFlags { get; } = new ColumnDataInt16("ContactFlags");
|
||||||
|
public ColumnDataString _SystemRef { get; } = new ColumnDataString("SystemRef");
|
||||||
|
public ColumnDataInt16 _AttendanceType { get; } = new ColumnDataInt16("AttendanceType");
|
||||||
|
public ColumnDataString _AttendanceStatus { get; } = new ColumnDataString("AttendanceStatus");
|
||||||
|
public ColumnDataInt32 _FacilityIdWard { get; } = new ColumnDataInt32("FacilityIdWard");
|
||||||
|
public ColumnDataString _Ward { get; } = new ColumnDataString("Ward");
|
||||||
|
public ColumnDataString _SpecialityCode { get; } = new ColumnDataString("SpecialityCode");
|
||||||
|
public ColumnDataInt32 _ProcedureId { get; } = new ColumnDataInt32("ProcedureId");
|
||||||
|
public ColumnDataString _ProcedureCode { get; } = new ColumnDataString("ProcedureCode");
|
||||||
|
public ColumnDataString _ProcedureDesc { get; } = new ColumnDataString("ProcedureDesc");
|
||||||
|
public ColumnDataString _ComplexityCode { get; } = new ColumnDataString("ComplexityCode");
|
||||||
|
public ColumnDataString _ProcedureIndication { get; } = new ColumnDataString("ProcedureIndication");
|
||||||
|
public ColumnDataString _PatientHistory { get; } = new ColumnDataString("PatientHistory");
|
||||||
|
public ColumnDataString _GestationPeriod { get; } = new ColumnDataString("GestationPeriod");
|
||||||
|
public ColumnDataInt16 _DurationExp { get; } = new ColumnDataInt16("DurationExp");
|
||||||
|
public ColumnDataInt16 _DurationAct { get; } = new ColumnDataInt16("DurationAct");
|
||||||
|
public ColumnDataSingle _UnitsExp { get; } = new ColumnDataSingle("UnitsExp");
|
||||||
|
public ColumnDataSingle _UnitsAct { get; } = new ColumnDataSingle("UnitsAct");
|
||||||
|
public ColumnDataString _Anaesthetic { get; } = new ColumnDataString("Anaesthetic");
|
||||||
|
public ColumnDataString _Position { get; } = new ColumnDataString("Position");
|
||||||
|
public ColumnDataString _SpecialEquipment { get; } = new ColumnDataString("SpecialEquipment");
|
||||||
|
public ColumnDataString _ComfortScore { get; } = new ColumnDataString("ComfortScore");
|
||||||
|
public ColumnDataDateTime _TimeCalled { get; } = new ColumnDataDateTime("TimeCalled");
|
||||||
|
public ColumnDataDateTime _TimeArrived { get; } = new ColumnDataDateTime("TimeArrived");
|
||||||
|
public ColumnDataDateTime _TimeAnaesStart { get; } = new ColumnDataDateTime("TimeAnaesStart");
|
||||||
|
public ColumnDataDateTime _TimeProcStart { get; } = new ColumnDataDateTime("TimeProcStart");
|
||||||
|
public ColumnDataDateTime _TimeProcEnd { get; } = new ColumnDataDateTime("TimeProcEnd");
|
||||||
|
public ColumnDataDateTime _TimeInRecovery { get; } = new ColumnDataDateTime("TimeInRecovery");
|
||||||
|
public ColumnDataDateTime _TimeInformDest { get; } = new ColumnDataDateTime("TimeInformDest");
|
||||||
|
public ColumnDataDateTime _TimeLeave { get; } = new ColumnDataDateTime("TimeLeave");
|
||||||
|
public ColumnDataInt16 _CancelType { get; } = new ColumnDataInt16("CancelType");
|
||||||
|
public ColumnDataDateTime _CancelDate { get; } = new ColumnDataDateTime("CancelDate");
|
||||||
|
public ColumnDataInt16 _CancelCount { get; } = new ColumnDataInt16("CancelCount");
|
||||||
|
public ColumnDataString _CancelCode { get; } = new ColumnDataString("CancelCode");
|
||||||
|
public ColumnDataString _CancelReason { get; } = new ColumnDataString("CancelReason");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
public ColumnDataDateTime _DecisionToRefer { get; } = new ColumnDataDateTime("DecisionToRefer");
|
||||||
|
public ColumnDataDateTime _Referred { get; } = new ColumnDataDateTime("Referred");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"FacilityId",
|
||||||
|
"FacilityTemplateId",
|
||||||
|
"AdmissionFrom",
|
||||||
|
"AdmissionTo",
|
||||||
|
"DecisionToReferOn",
|
||||||
|
"ReferredOn",
|
||||||
|
"BreechOn",
|
||||||
|
"DecisionToAdmitOn",
|
||||||
|
"PreAssessment",
|
||||||
|
"ToComeIn",
|
||||||
|
"Seq",
|
||||||
|
"Type",
|
||||||
|
"Occupancy",
|
||||||
|
"PatientId",
|
||||||
|
"PatientNo",
|
||||||
|
"NhsNumber",
|
||||||
|
"Title",
|
||||||
|
"Surname",
|
||||||
|
"Forename",
|
||||||
|
"Gender",
|
||||||
|
"BirthOn",
|
||||||
|
"Age",
|
||||||
|
"AgeOn",
|
||||||
|
"PhoneMobile",
|
||||||
|
"Email",
|
||||||
|
"ContactFlags",
|
||||||
|
"SystemRef",
|
||||||
|
"AttendanceType",
|
||||||
|
"AttendanceStatus",
|
||||||
|
"FacilityIdWard",
|
||||||
|
"Ward",
|
||||||
|
"SpecialityCode",
|
||||||
|
"ProcedureId",
|
||||||
|
"ProcedureCode",
|
||||||
|
"ProcedureDesc",
|
||||||
|
"ComplexityCode",
|
||||||
|
"ProcedureIndication",
|
||||||
|
"PatientHistory",
|
||||||
|
"GestationPeriod",
|
||||||
|
"DurationExp",
|
||||||
|
"DurationAct",
|
||||||
|
"UnitsExp",
|
||||||
|
"UnitsAct",
|
||||||
|
"Anaesthetic",
|
||||||
|
"Position",
|
||||||
|
"SpecialEquipment",
|
||||||
|
"ComfortScore",
|
||||||
|
"TimeCalled",
|
||||||
|
"TimeArrived",
|
||||||
|
"TimeAnaesStart",
|
||||||
|
"TimeProcStart",
|
||||||
|
"TimeProcEnd",
|
||||||
|
"TimeInRecovery",
|
||||||
|
"TimeInformDest",
|
||||||
|
"TimeLeave",
|
||||||
|
"CancelType",
|
||||||
|
"CancelDate",
|
||||||
|
"CancelCount",
|
||||||
|
"CancelCode",
|
||||||
|
"CancelReason",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
"DecisionToRefer",
|
||||||
|
"Referred",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmAdmission_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmAdmission";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _FacilityId { get { return Cols._FacilityId.Value; } set { Cols._FacilityId.Value = value; } }
|
||||||
|
public Int32 _FacilityTemplateId { get { return Cols._FacilityTemplateId.Value; } set { Cols._FacilityTemplateId.Value = value; } }
|
||||||
|
public DateTime _AdmissionFrom { get { return Cols._AdmissionFrom.Value; } set { Cols._AdmissionFrom.Value = value; } }
|
||||||
|
public DateTime _AdmissionTo { get { return Cols._AdmissionTo.Value; } set { Cols._AdmissionTo.Value = value; } }
|
||||||
|
public DateTime _DecisionToReferOn { get { return Cols._DecisionToReferOn.Value; } set { Cols._DecisionToReferOn.Value = value; } }
|
||||||
|
public DateTime _ReferredOn { get { return Cols._ReferredOn.Value; } set { Cols._ReferredOn.Value = value; } }
|
||||||
|
public DateTime _BreechOn { get { return Cols._BreechOn.Value; } set { Cols._BreechOn.Value = value; } }
|
||||||
|
public DateTime _DecisionToAdmitOn { get { return Cols._DecisionToAdmitOn.Value; } set { Cols._DecisionToAdmitOn.Value = value; } }
|
||||||
|
public DateTime _PreAssessment { get { return Cols._PreAssessment.Value; } set { Cols._PreAssessment.Value = value; } }
|
||||||
|
public DateTime _ToComeIn { get { return Cols._ToComeIn.Value; } set { Cols._ToComeIn.Value = value; } }
|
||||||
|
public Byte _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public Int16 _Occupancy { get { return Cols._Occupancy.Value; } set { Cols._Occupancy.Value = value; } }
|
||||||
|
public Int32 _PatientId { get { return Cols._PatientId.Value; } set { Cols._PatientId.Value = value; } }
|
||||||
|
public String _PatientNo { get { return Cols._PatientNo.Value; } set { Cols._PatientNo.Value = value; } }
|
||||||
|
public String _NhsNumber { get { return Cols._NhsNumber.Value; } set { Cols._NhsNumber.Value = value; } }
|
||||||
|
public String _Title { get { return Cols._Title.Value; } set { Cols._Title.Value = value; } }
|
||||||
|
public String _Surname { get { return Cols._Surname.Value; } set { Cols._Surname.Value = value; } }
|
||||||
|
public String _Forename { get { return Cols._Forename.Value; } set { Cols._Forename.Value = value; } }
|
||||||
|
public Int16 _Gender { get { return Cols._Gender.Value; } set { Cols._Gender.Value = value; } }
|
||||||
|
public Int32 _BirthOn { get { return Cols._BirthOn.Value; } set { Cols._BirthOn.Value = value; } }
|
||||||
|
public String _Age { get { return Cols._Age.Value; } set { Cols._Age.Value = value; } }
|
||||||
|
public DateTime _AgeOn { get { return Cols._AgeOn.Value; } set { Cols._AgeOn.Value = value; } }
|
||||||
|
public String _PhoneMobile { get { return Cols._PhoneMobile.Value; } set { Cols._PhoneMobile.Value = value; } }
|
||||||
|
public String _Email { get { return Cols._Email.Value; } set { Cols._Email.Value = value; } }
|
||||||
|
public Int16 _ContactFlags { get { return Cols._ContactFlags.Value; } set { Cols._ContactFlags.Value = value; } }
|
||||||
|
public String _SystemRef { get { return Cols._SystemRef.Value; } set { Cols._SystemRef.Value = value; } }
|
||||||
|
public Int16 _AttendanceType { get { return Cols._AttendanceType.Value; } set { Cols._AttendanceType.Value = value; } }
|
||||||
|
public String _AttendanceStatus { get { return Cols._AttendanceStatus.Value; } set { Cols._AttendanceStatus.Value = value; } }
|
||||||
|
public Int32 _FacilityIdWard { get { return Cols._FacilityIdWard.Value; } set { Cols._FacilityIdWard.Value = value; } }
|
||||||
|
public String _Ward { get { return Cols._Ward.Value; } set { Cols._Ward.Value = value; } }
|
||||||
|
public String _SpecialityCode { get { return Cols._SpecialityCode.Value; } set { Cols._SpecialityCode.Value = value; } }
|
||||||
|
public Int32 _ProcedureId { get { return Cols._ProcedureId.Value; } set { Cols._ProcedureId.Value = value; } }
|
||||||
|
public String _ProcedureCode { get { return Cols._ProcedureCode.Value; } set { Cols._ProcedureCode.Value = value; } }
|
||||||
|
public String _ProcedureDesc { get { return Cols._ProcedureDesc.Value; } set { Cols._ProcedureDesc.Value = value; } }
|
||||||
|
public String _ComplexityCode { get { return Cols._ComplexityCode.Value; } set { Cols._ComplexityCode.Value = value; } }
|
||||||
|
public String _ProcedureIndication { get { return Cols._ProcedureIndication.Value; } set { Cols._ProcedureIndication.Value = value; } }
|
||||||
|
public String _PatientHistory { get { return Cols._PatientHistory.Value; } set { Cols._PatientHistory.Value = value; } }
|
||||||
|
public String _GestationPeriod { get { return Cols._GestationPeriod.Value; } set { Cols._GestationPeriod.Value = value; } }
|
||||||
|
public Int16 _DurationExp { get { return Cols._DurationExp.Value; } set { Cols._DurationExp.Value = value; } }
|
||||||
|
public Int16 _DurationAct { get { return Cols._DurationAct.Value; } set { Cols._DurationAct.Value = value; } }
|
||||||
|
public Single _UnitsExp { get { return Cols._UnitsExp.Value; } set { Cols._UnitsExp.Value = value; } }
|
||||||
|
public Single _UnitsAct { get { return Cols._UnitsAct.Value; } set { Cols._UnitsAct.Value = value; } }
|
||||||
|
public String _Anaesthetic { get { return Cols._Anaesthetic.Value; } set { Cols._Anaesthetic.Value = value; } }
|
||||||
|
public String _Position { get { return Cols._Position.Value; } set { Cols._Position.Value = value; } }
|
||||||
|
public String _SpecialEquipment { get { return Cols._SpecialEquipment.Value; } set { Cols._SpecialEquipment.Value = value; } }
|
||||||
|
public String _ComfortScore { get { return Cols._ComfortScore.Value; } set { Cols._ComfortScore.Value = value; } }
|
||||||
|
public DateTime _TimeCalled { get { return Cols._TimeCalled.Value; } set { Cols._TimeCalled.Value = value; } }
|
||||||
|
public DateTime _TimeArrived { get { return Cols._TimeArrived.Value; } set { Cols._TimeArrived.Value = value; } }
|
||||||
|
public DateTime _TimeAnaesStart { get { return Cols._TimeAnaesStart.Value; } set { Cols._TimeAnaesStart.Value = value; } }
|
||||||
|
public DateTime _TimeProcStart { get { return Cols._TimeProcStart.Value; } set { Cols._TimeProcStart.Value = value; } }
|
||||||
|
public DateTime _TimeProcEnd { get { return Cols._TimeProcEnd.Value; } set { Cols._TimeProcEnd.Value = value; } }
|
||||||
|
public DateTime _TimeInRecovery { get { return Cols._TimeInRecovery.Value; } set { Cols._TimeInRecovery.Value = value; } }
|
||||||
|
public DateTime _TimeInformDest { get { return Cols._TimeInformDest.Value; } set { Cols._TimeInformDest.Value = value; } }
|
||||||
|
public DateTime _TimeLeave { get { return Cols._TimeLeave.Value; } set { Cols._TimeLeave.Value = value; } }
|
||||||
|
public Int16 _CancelType { get { return Cols._CancelType.Value; } set { Cols._CancelType.Value = value; } }
|
||||||
|
public DateTime _CancelDate { get { return Cols._CancelDate.Value; } set { Cols._CancelDate.Value = value; } }
|
||||||
|
public Int16 _CancelCount { get { return Cols._CancelCount.Value; } set { Cols._CancelCount.Value = value; } }
|
||||||
|
public String _CancelCode { get { return Cols._CancelCode.Value; } set { Cols._CancelCode.Value = value; } }
|
||||||
|
public String _CancelReason { get { return Cols._CancelReason.Value; } set { Cols._CancelReason.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
public DateTime _DecisionToRefer { get { return Cols._DecisionToRefer.Value; } set { Cols._DecisionToRefer.Value = value; } }
|
||||||
|
public DateTime _Referred { get { return Cols._Referred.Value; } set { Cols._Referred.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_FacilityId = GetFieldInt32(dbDataReader, "FacilityId", _FacilityId);
|
||||||
|
_FacilityTemplateId = GetFieldInt32(dbDataReader, "FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
_AdmissionFrom = GetFieldDateTime(dbDataReader, "AdmissionFrom", _AdmissionFrom);
|
||||||
|
_AdmissionTo = GetFieldDateTime(dbDataReader, "AdmissionTo", _AdmissionTo);
|
||||||
|
_DecisionToReferOn = GetFieldDateTime(dbDataReader, "DecisionToReferOn", _DecisionToReferOn);
|
||||||
|
_ReferredOn = GetFieldDateTime(dbDataReader, "ReferredOn", _ReferredOn);
|
||||||
|
_BreechOn = GetFieldDateTime(dbDataReader, "BreechOn", _BreechOn);
|
||||||
|
_DecisionToAdmitOn = GetFieldDateTime(dbDataReader, "DecisionToAdmitOn", _DecisionToAdmitOn);
|
||||||
|
_PreAssessment = GetFieldDateTime(dbDataReader, "PreAssessment", _PreAssessment);
|
||||||
|
_ToComeIn = GetFieldDateTime(dbDataReader, "ToComeIn", _ToComeIn);
|
||||||
|
_Seq = GetFieldByte(dbDataReader, "Seq", _Seq);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Occupancy = GetFieldInt16(dbDataReader, "Occupancy", _Occupancy);
|
||||||
|
_PatientId = GetFieldInt32(dbDataReader, "PatientId", _PatientId);
|
||||||
|
_PatientNo = GetFieldString(dbDataReader, "PatientNo", _PatientNo);
|
||||||
|
_NhsNumber = GetFieldString(dbDataReader, "NhsNumber", _NhsNumber);
|
||||||
|
_Title = GetFieldString(dbDataReader, "Title", _Title);
|
||||||
|
_Surname = GetFieldString(dbDataReader, "Surname", _Surname);
|
||||||
|
_Forename = GetFieldString(dbDataReader, "Forename", _Forename);
|
||||||
|
_Gender = GetFieldInt16(dbDataReader, "Gender", _Gender);
|
||||||
|
_BirthOn = GetFieldInt32(dbDataReader, "BirthOn", _BirthOn);
|
||||||
|
_Age = GetFieldString(dbDataReader, "Age", _Age);
|
||||||
|
_AgeOn = GetFieldDateTime(dbDataReader, "AgeOn", _AgeOn);
|
||||||
|
_PhoneMobile = GetFieldString(dbDataReader, "PhoneMobile", _PhoneMobile);
|
||||||
|
_Email = GetFieldString(dbDataReader, "Email", _Email);
|
||||||
|
_ContactFlags = GetFieldInt16(dbDataReader, "ContactFlags", _ContactFlags);
|
||||||
|
_SystemRef = GetFieldString(dbDataReader, "SystemRef", _SystemRef);
|
||||||
|
_AttendanceType = GetFieldInt16(dbDataReader, "AttendanceType", _AttendanceType);
|
||||||
|
_AttendanceStatus = GetFieldString(dbDataReader, "AttendanceStatus", _AttendanceStatus);
|
||||||
|
_FacilityIdWard = GetFieldInt32(dbDataReader, "FacilityIdWard", _FacilityIdWard);
|
||||||
|
_Ward = GetFieldString(dbDataReader, "Ward", _Ward);
|
||||||
|
_SpecialityCode = GetFieldString(dbDataReader, "SpecialityCode", _SpecialityCode);
|
||||||
|
_ProcedureId = GetFieldInt32(dbDataReader, "ProcedureId", _ProcedureId);
|
||||||
|
_ProcedureCode = GetFieldString(dbDataReader, "ProcedureCode", _ProcedureCode);
|
||||||
|
_ProcedureDesc = GetFieldString(dbDataReader, "ProcedureDesc", _ProcedureDesc);
|
||||||
|
_ComplexityCode = GetFieldString(dbDataReader, "ComplexityCode", _ComplexityCode);
|
||||||
|
_ProcedureIndication = GetFieldString(dbDataReader, "ProcedureIndication", _ProcedureIndication);
|
||||||
|
_PatientHistory = GetFieldString(dbDataReader, "PatientHistory", _PatientHistory);
|
||||||
|
_GestationPeriod = GetFieldString(dbDataReader, "GestationPeriod", _GestationPeriod);
|
||||||
|
_DurationExp = GetFieldInt16(dbDataReader, "DurationExp", _DurationExp);
|
||||||
|
_DurationAct = GetFieldInt16(dbDataReader, "DurationAct", _DurationAct);
|
||||||
|
_UnitsExp = GetFieldSingle(dbDataReader, "UnitsExp", _UnitsExp);
|
||||||
|
_UnitsAct = GetFieldSingle(dbDataReader, "UnitsAct", _UnitsAct);
|
||||||
|
_Anaesthetic = GetFieldString(dbDataReader, "Anaesthetic", _Anaesthetic);
|
||||||
|
_Position = GetFieldString(dbDataReader, "Position", _Position);
|
||||||
|
_SpecialEquipment = GetFieldString(dbDataReader, "SpecialEquipment", _SpecialEquipment);
|
||||||
|
_ComfortScore = GetFieldString(dbDataReader, "ComfortScore", _ComfortScore);
|
||||||
|
_TimeCalled = GetFieldDateTime(dbDataReader, "TimeCalled", _TimeCalled);
|
||||||
|
_TimeArrived = GetFieldDateTime(dbDataReader, "TimeArrived", _TimeArrived);
|
||||||
|
_TimeAnaesStart = GetFieldDateTime(dbDataReader, "TimeAnaesStart", _TimeAnaesStart);
|
||||||
|
_TimeProcStart = GetFieldDateTime(dbDataReader, "TimeProcStart", _TimeProcStart);
|
||||||
|
_TimeProcEnd = GetFieldDateTime(dbDataReader, "TimeProcEnd", _TimeProcEnd);
|
||||||
|
_TimeInRecovery = GetFieldDateTime(dbDataReader, "TimeInRecovery", _TimeInRecovery);
|
||||||
|
_TimeInformDest = GetFieldDateTime(dbDataReader, "TimeInformDest", _TimeInformDest);
|
||||||
|
_TimeLeave = GetFieldDateTime(dbDataReader, "TimeLeave", _TimeLeave);
|
||||||
|
_CancelType = GetFieldInt16(dbDataReader, "CancelType", _CancelType);
|
||||||
|
_CancelDate = GetFieldDateTime(dbDataReader, "CancelDate", _CancelDate);
|
||||||
|
_CancelCount = GetFieldInt16(dbDataReader, "CancelCount", _CancelCount);
|
||||||
|
_CancelCode = GetFieldString(dbDataReader, "CancelCode", _CancelCode);
|
||||||
|
_CancelReason = GetFieldString(dbDataReader, "CancelReason", _CancelReason);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
_DecisionToRefer = GetFieldDateTime(dbDataReader, "DecisionToRefer", _DecisionToRefer);
|
||||||
|
_Referred = GetFieldDateTime(dbDataReader, "Referred", _Referred);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("FacilityId")) AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
if (columnNames.ContainsCI("FacilityTemplateId")) AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
if (columnNames.ContainsCI("AdmissionFrom")) AddCommandParameter(dbCommand, "@AdmissionFrom", _AdmissionFrom);
|
||||||
|
if (columnNames.ContainsCI("AdmissionTo")) AddCommandParameter(dbCommand, "@AdmissionTo", _AdmissionTo);
|
||||||
|
if (columnNames.ContainsCI("DecisionToReferOn")) AddCommandParameter(dbCommand, "@DecisionToReferOn", _DecisionToReferOn);
|
||||||
|
if (columnNames.ContainsCI("ReferredOn")) AddCommandParameter(dbCommand, "@ReferredOn", _ReferredOn);
|
||||||
|
if (columnNames.ContainsCI("BreechOn")) AddCommandParameter(dbCommand, "@BreechOn", _BreechOn);
|
||||||
|
if (columnNames.ContainsCI("DecisionToAdmitOn")) AddCommandParameter(dbCommand, "@DecisionToAdmitOn", _DecisionToAdmitOn);
|
||||||
|
if (columnNames.ContainsCI("PreAssessment")) AddCommandParameter(dbCommand, "@PreAssessment", _PreAssessment);
|
||||||
|
if (columnNames.ContainsCI("ToComeIn")) AddCommandParameter(dbCommand, "@ToComeIn", _ToComeIn);
|
||||||
|
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Occupancy")) AddCommandParameter(dbCommand, "@Occupancy", _Occupancy);
|
||||||
|
if (columnNames.ContainsCI("PatientId")) AddCommandParameter(dbCommand, "@PatientId", _PatientId);
|
||||||
|
if (columnNames.ContainsCI("PatientNo")) AddCommandParameter(dbCommand, "@PatientNo", _PatientNo);
|
||||||
|
if (columnNames.ContainsCI("NhsNumber")) AddCommandParameter(dbCommand, "@NhsNumber", _NhsNumber);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Gender")) AddCommandParameter(dbCommand, "@Gender", _Gender);
|
||||||
|
if (columnNames.ContainsCI("BirthOn")) AddCommandParameter(dbCommand, "@BirthOn", _BirthOn);
|
||||||
|
if (columnNames.ContainsCI("Age")) AddCommandParameter(dbCommand, "@Age", _Age);
|
||||||
|
if (columnNames.ContainsCI("AgeOn")) AddCommandParameter(dbCommand, "@AgeOn", _AgeOn);
|
||||||
|
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||||
|
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||||
|
if (columnNames.ContainsCI("ContactFlags")) AddCommandParameter(dbCommand, "@ContactFlags", _ContactFlags);
|
||||||
|
if (columnNames.ContainsCI("SystemRef")) AddCommandParameter(dbCommand, "@SystemRef", _SystemRef);
|
||||||
|
if (columnNames.ContainsCI("AttendanceType")) AddCommandParameter(dbCommand, "@AttendanceType", _AttendanceType);
|
||||||
|
if (columnNames.ContainsCI("AttendanceStatus")) AddCommandParameter(dbCommand, "@AttendanceStatus", _AttendanceStatus);
|
||||||
|
if (columnNames.ContainsCI("FacilityIdWard")) AddCommandParameter(dbCommand, "@FacilityIdWard", _FacilityIdWard);
|
||||||
|
if (columnNames.ContainsCI("Ward")) AddCommandParameter(dbCommand, "@Ward", _Ward);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureId")) AddCommandParameter(dbCommand, "@ProcedureId", _ProcedureId);
|
||||||
|
if (columnNames.ContainsCI("ProcedureCode")) AddCommandParameter(dbCommand, "@ProcedureCode", _ProcedureCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureDesc")) AddCommandParameter(dbCommand, "@ProcedureDesc", _ProcedureDesc);
|
||||||
|
if (columnNames.ContainsCI("ComplexityCode")) AddCommandParameter(dbCommand, "@ComplexityCode", _ComplexityCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureIndication")) AddCommandParameter(dbCommand, "@ProcedureIndication", _ProcedureIndication);
|
||||||
|
if (columnNames.ContainsCI("PatientHistory")) AddCommandParameter(dbCommand, "@PatientHistory", _PatientHistory);
|
||||||
|
if (columnNames.ContainsCI("GestationPeriod")) AddCommandParameter(dbCommand, "@GestationPeriod", _GestationPeriod);
|
||||||
|
if (columnNames.ContainsCI("DurationExp")) AddCommandParameter(dbCommand, "@DurationExp", _DurationExp);
|
||||||
|
if (columnNames.ContainsCI("DurationAct")) AddCommandParameter(dbCommand, "@DurationAct", _DurationAct);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("UnitsAct")) AddCommandParameter(dbCommand, "@UnitsAct", _UnitsAct);
|
||||||
|
if (columnNames.ContainsCI("Anaesthetic")) AddCommandParameter(dbCommand, "@Anaesthetic", _Anaesthetic);
|
||||||
|
if (columnNames.ContainsCI("Position")) AddCommandParameter(dbCommand, "@Position", _Position);
|
||||||
|
if (columnNames.ContainsCI("SpecialEquipment")) AddCommandParameter(dbCommand, "@SpecialEquipment", _SpecialEquipment);
|
||||||
|
if (columnNames.ContainsCI("ComfortScore")) AddCommandParameter(dbCommand, "@ComfortScore", _ComfortScore);
|
||||||
|
if (columnNames.ContainsCI("TimeCalled")) AddCommandParameter(dbCommand, "@TimeCalled", _TimeCalled);
|
||||||
|
if (columnNames.ContainsCI("TimeArrived")) AddCommandParameter(dbCommand, "@TimeArrived", _TimeArrived);
|
||||||
|
if (columnNames.ContainsCI("TimeAnaesStart")) AddCommandParameter(dbCommand, "@TimeAnaesStart", _TimeAnaesStart);
|
||||||
|
if (columnNames.ContainsCI("TimeProcStart")) AddCommandParameter(dbCommand, "@TimeProcStart", _TimeProcStart);
|
||||||
|
if (columnNames.ContainsCI("TimeProcEnd")) AddCommandParameter(dbCommand, "@TimeProcEnd", _TimeProcEnd);
|
||||||
|
if (columnNames.ContainsCI("TimeInRecovery")) AddCommandParameter(dbCommand, "@TimeInRecovery", _TimeInRecovery);
|
||||||
|
if (columnNames.ContainsCI("TimeInformDest")) AddCommandParameter(dbCommand, "@TimeInformDest", _TimeInformDest);
|
||||||
|
if (columnNames.ContainsCI("TimeLeave")) AddCommandParameter(dbCommand, "@TimeLeave", _TimeLeave);
|
||||||
|
if (columnNames.ContainsCI("CancelType")) AddCommandParameter(dbCommand, "@CancelType", _CancelType);
|
||||||
|
if (columnNames.ContainsCI("CancelDate")) AddCommandParameter(dbCommand, "@CancelDate", _CancelDate);
|
||||||
|
if (columnNames.ContainsCI("CancelCount")) AddCommandParameter(dbCommand, "@CancelCount", _CancelCount);
|
||||||
|
if (columnNames.ContainsCI("CancelCode")) AddCommandParameter(dbCommand, "@CancelCode", _CancelCode);
|
||||||
|
if (columnNames.ContainsCI("CancelReason")) AddCommandParameter(dbCommand, "@CancelReason", _CancelReason);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
if (columnNames.ContainsCI("DecisionToRefer")) AddCommandParameter(dbCommand, "@DecisionToRefer", _DecisionToRefer);
|
||||||
|
if (columnNames.ContainsCI("Referred")) AddCommandParameter(dbCommand, "@Referred", _Referred);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("FacilityId")) AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
if (columnNames.ContainsCI("FacilityTemplateId")) AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
if (columnNames.ContainsCI("AdmissionFrom")) AddCommandParameter(dbCommand, "@AdmissionFrom", _AdmissionFrom);
|
||||||
|
if (columnNames.ContainsCI("AdmissionTo")) AddCommandParameter(dbCommand, "@AdmissionTo", _AdmissionTo);
|
||||||
|
if (columnNames.ContainsCI("DecisionToReferOn")) AddCommandParameter(dbCommand, "@DecisionToReferOn", _DecisionToReferOn);
|
||||||
|
if (columnNames.ContainsCI("ReferredOn")) AddCommandParameter(dbCommand, "@ReferredOn", _ReferredOn);
|
||||||
|
if (columnNames.ContainsCI("BreechOn")) AddCommandParameter(dbCommand, "@BreechOn", _BreechOn);
|
||||||
|
if (columnNames.ContainsCI("DecisionToAdmitOn")) AddCommandParameter(dbCommand, "@DecisionToAdmitOn", _DecisionToAdmitOn);
|
||||||
|
if (columnNames.ContainsCI("PreAssessment")) AddCommandParameter(dbCommand, "@PreAssessment", _PreAssessment);
|
||||||
|
if (columnNames.ContainsCI("ToComeIn")) AddCommandParameter(dbCommand, "@ToComeIn", _ToComeIn);
|
||||||
|
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Occupancy")) AddCommandParameter(dbCommand, "@Occupancy", _Occupancy);
|
||||||
|
if (columnNames.ContainsCI("PatientId")) AddCommandParameter(dbCommand, "@PatientId", _PatientId);
|
||||||
|
if (columnNames.ContainsCI("PatientNo")) AddCommandParameter(dbCommand, "@PatientNo", _PatientNo);
|
||||||
|
if (columnNames.ContainsCI("NhsNumber")) AddCommandParameter(dbCommand, "@NhsNumber", _NhsNumber);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Gender")) AddCommandParameter(dbCommand, "@Gender", _Gender);
|
||||||
|
if (columnNames.ContainsCI("BirthOn")) AddCommandParameter(dbCommand, "@BirthOn", _BirthOn);
|
||||||
|
if (columnNames.ContainsCI("Age")) AddCommandParameter(dbCommand, "@Age", _Age);
|
||||||
|
if (columnNames.ContainsCI("AgeOn")) AddCommandParameter(dbCommand, "@AgeOn", _AgeOn);
|
||||||
|
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||||
|
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||||
|
if (columnNames.ContainsCI("ContactFlags")) AddCommandParameter(dbCommand, "@ContactFlags", _ContactFlags);
|
||||||
|
if (columnNames.ContainsCI("SystemRef")) AddCommandParameter(dbCommand, "@SystemRef", _SystemRef);
|
||||||
|
if (columnNames.ContainsCI("AttendanceType")) AddCommandParameter(dbCommand, "@AttendanceType", _AttendanceType);
|
||||||
|
if (columnNames.ContainsCI("AttendanceStatus")) AddCommandParameter(dbCommand, "@AttendanceStatus", _AttendanceStatus);
|
||||||
|
if (columnNames.ContainsCI("FacilityIdWard")) AddCommandParameter(dbCommand, "@FacilityIdWard", _FacilityIdWard);
|
||||||
|
if (columnNames.ContainsCI("Ward")) AddCommandParameter(dbCommand, "@Ward", _Ward);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureId")) AddCommandParameter(dbCommand, "@ProcedureId", _ProcedureId);
|
||||||
|
if (columnNames.ContainsCI("ProcedureCode")) AddCommandParameter(dbCommand, "@ProcedureCode", _ProcedureCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureDesc")) AddCommandParameter(dbCommand, "@ProcedureDesc", _ProcedureDesc);
|
||||||
|
if (columnNames.ContainsCI("ComplexityCode")) AddCommandParameter(dbCommand, "@ComplexityCode", _ComplexityCode);
|
||||||
|
if (columnNames.ContainsCI("ProcedureIndication")) AddCommandParameter(dbCommand, "@ProcedureIndication", _ProcedureIndication);
|
||||||
|
if (columnNames.ContainsCI("PatientHistory")) AddCommandParameter(dbCommand, "@PatientHistory", _PatientHistory);
|
||||||
|
if (columnNames.ContainsCI("GestationPeriod")) AddCommandParameter(dbCommand, "@GestationPeriod", _GestationPeriod);
|
||||||
|
if (columnNames.ContainsCI("DurationExp")) AddCommandParameter(dbCommand, "@DurationExp", _DurationExp);
|
||||||
|
if (columnNames.ContainsCI("DurationAct")) AddCommandParameter(dbCommand, "@DurationAct", _DurationAct);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("UnitsAct")) AddCommandParameter(dbCommand, "@UnitsAct", _UnitsAct);
|
||||||
|
if (columnNames.ContainsCI("Anaesthetic")) AddCommandParameter(dbCommand, "@Anaesthetic", _Anaesthetic);
|
||||||
|
if (columnNames.ContainsCI("Position")) AddCommandParameter(dbCommand, "@Position", _Position);
|
||||||
|
if (columnNames.ContainsCI("SpecialEquipment")) AddCommandParameter(dbCommand, "@SpecialEquipment", _SpecialEquipment);
|
||||||
|
if (columnNames.ContainsCI("ComfortScore")) AddCommandParameter(dbCommand, "@ComfortScore", _ComfortScore);
|
||||||
|
if (columnNames.ContainsCI("TimeCalled")) AddCommandParameter(dbCommand, "@TimeCalled", _TimeCalled);
|
||||||
|
if (columnNames.ContainsCI("TimeArrived")) AddCommandParameter(dbCommand, "@TimeArrived", _TimeArrived);
|
||||||
|
if (columnNames.ContainsCI("TimeAnaesStart")) AddCommandParameter(dbCommand, "@TimeAnaesStart", _TimeAnaesStart);
|
||||||
|
if (columnNames.ContainsCI("TimeProcStart")) AddCommandParameter(dbCommand, "@TimeProcStart", _TimeProcStart);
|
||||||
|
if (columnNames.ContainsCI("TimeProcEnd")) AddCommandParameter(dbCommand, "@TimeProcEnd", _TimeProcEnd);
|
||||||
|
if (columnNames.ContainsCI("TimeInRecovery")) AddCommandParameter(dbCommand, "@TimeInRecovery", _TimeInRecovery);
|
||||||
|
if (columnNames.ContainsCI("TimeInformDest")) AddCommandParameter(dbCommand, "@TimeInformDest", _TimeInformDest);
|
||||||
|
if (columnNames.ContainsCI("TimeLeave")) AddCommandParameter(dbCommand, "@TimeLeave", _TimeLeave);
|
||||||
|
if (columnNames.ContainsCI("CancelType")) AddCommandParameter(dbCommand, "@CancelType", _CancelType);
|
||||||
|
if (columnNames.ContainsCI("CancelDate")) AddCommandParameter(dbCommand, "@CancelDate", _CancelDate);
|
||||||
|
if (columnNames.ContainsCI("CancelCount")) AddCommandParameter(dbCommand, "@CancelCount", _CancelCount);
|
||||||
|
if (columnNames.ContainsCI("CancelCode")) AddCommandParameter(dbCommand, "@CancelCode", _CancelCode);
|
||||||
|
if (columnNames.ContainsCI("CancelReason")) AddCommandParameter(dbCommand, "@CancelReason", _CancelReason);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
if (columnNames.ContainsCI("DecisionToRefer")) AddCommandParameter(dbCommand, "@DecisionToRefer", _DecisionToRefer);
|
||||||
|
if (columnNames.ContainsCI("Referred")) AddCommandParameter(dbCommand, "@Referred", _Referred);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmDepartmentCode_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _DepartmentId { get; } = new ColumnDataInt32("DepartmentId");
|
||||||
|
public ColumnDataInt16 _CodeType { get; } = new ColumnDataInt16("CodeType");
|
||||||
|
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"DepartmentId",
|
||||||
|
"CodeType",
|
||||||
|
"Code",
|
||||||
|
"Description",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmDepartmentCode_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmDepartmentCode";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _DepartmentId { get { return Cols._DepartmentId.Value; } set { Cols._DepartmentId.Value = value; } }
|
||||||
|
public Int16 _CodeType { get { return Cols._CodeType.Value; } set { Cols._CodeType.Value = value; } }
|
||||||
|
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_DepartmentId = GetFieldInt32(dbDataReader, "DepartmentId", _DepartmentId);
|
||||||
|
_CodeType = GetFieldInt16(dbDataReader, "CodeType", _CodeType);
|
||||||
|
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("CodeType")) AddCommandParameter(dbCommand, "@CodeType", _CodeType);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("CodeType")) AddCommandParameter(dbCommand, "@CodeType", _CodeType);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmDepartment_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _InstitutionId { get; } = new ColumnDataInt32("InstitutionId");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataInt32 _FacilityTypes { get; } = new ColumnDataInt32("FacilityTypes");
|
||||||
|
public ColumnDataInt32 _AllowAnyFacility { get; } = new ColumnDataInt32("AllowAnyFacility");
|
||||||
|
public ColumnDataString _CancellReBookLimit { get; } = new ColumnDataString("CancellReBookLimit");
|
||||||
|
public ColumnDataDateTime _ApplicFrom { get; } = new ColumnDataDateTime("ApplicFrom");
|
||||||
|
public ColumnDataDateTime _ApplicTo { get; } = new ColumnDataDateTime("ApplicTo");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"InstitutionId",
|
||||||
|
"Name",
|
||||||
|
"FacilityTypes",
|
||||||
|
"AllowAnyFacility",
|
||||||
|
"CancellReBookLimit",
|
||||||
|
"ApplicFrom",
|
||||||
|
"ApplicTo",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmDepartment_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmDepartment";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _InstitutionId { get { return Cols._InstitutionId.Value; } set { Cols._InstitutionId.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public Int32 _FacilityTypes { get { return Cols._FacilityTypes.Value; } set { Cols._FacilityTypes.Value = value; } }
|
||||||
|
public Int32 _AllowAnyFacility { get { return Cols._AllowAnyFacility.Value; } set { Cols._AllowAnyFacility.Value = value; } }
|
||||||
|
public String _CancellReBookLimit { get { return Cols._CancellReBookLimit.Value; } set { Cols._CancellReBookLimit.Value = value; } }
|
||||||
|
public DateTime _ApplicFrom { get { return Cols._ApplicFrom.Value; } set { Cols._ApplicFrom.Value = value; } }
|
||||||
|
public DateTime _ApplicTo { get { return Cols._ApplicTo.Value; } set { Cols._ApplicTo.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_InstitutionId = GetFieldInt32(dbDataReader, "InstitutionId", _InstitutionId);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_FacilityTypes = GetFieldInt32(dbDataReader, "FacilityTypes", _FacilityTypes);
|
||||||
|
_AllowAnyFacility = GetFieldInt32(dbDataReader, "AllowAnyFacility", _AllowAnyFacility);
|
||||||
|
_CancellReBookLimit = GetFieldString(dbDataReader, "CancellReBookLimit", _CancellReBookLimit);
|
||||||
|
_ApplicFrom = GetFieldDateTime(dbDataReader, "ApplicFrom", _ApplicFrom);
|
||||||
|
_ApplicTo = GetFieldDateTime(dbDataReader, "ApplicTo", _ApplicTo);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("FacilityTypes")) AddCommandParameter(dbCommand, "@FacilityTypes", _FacilityTypes);
|
||||||
|
if (columnNames.ContainsCI("AllowAnyFacility")) AddCommandParameter(dbCommand, "@AllowAnyFacility", _AllowAnyFacility);
|
||||||
|
if (columnNames.ContainsCI("CancellReBookLimit")) AddCommandParameter(dbCommand, "@CancellReBookLimit", _CancellReBookLimit);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("FacilityTypes")) AddCommandParameter(dbCommand, "@FacilityTypes", _FacilityTypes);
|
||||||
|
if (columnNames.ContainsCI("AllowAnyFacility")) AddCommandParameter(dbCommand, "@AllowAnyFacility", _AllowAnyFacility);
|
||||||
|
if (columnNames.ContainsCI("CancellReBookLimit")) AddCommandParameter(dbCommand, "@CancellReBookLimit", _CancellReBookLimit);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,219 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmEmployeeRole_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _DepartmentId { get; } = new ColumnDataInt32("DepartmentId");
|
||||||
|
public ColumnDataInt32 _EmployeeId { get; } = new ColumnDataInt32("EmployeeId");
|
||||||
|
public ColumnDataInt16 _Role { get; } = new ColumnDataInt16("Role");
|
||||||
|
public ColumnDataDateTime _ApplicFrom { get; } = new ColumnDataDateTime("ApplicFrom");
|
||||||
|
public ColumnDataDateTime _ApplicTo { get; } = new ColumnDataDateTime("ApplicTo");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"DepartmentId",
|
||||||
|
"EmployeeId",
|
||||||
|
"Role",
|
||||||
|
"ApplicFrom",
|
||||||
|
"ApplicTo",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmEmployeeRole_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmEmployeeRole";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _DepartmentId { get { return Cols._DepartmentId.Value; } set { Cols._DepartmentId.Value = value; } }
|
||||||
|
public Int32 _EmployeeId { get { return Cols._EmployeeId.Value; } set { Cols._EmployeeId.Value = value; } }
|
||||||
|
public Int16 _Role { get { return Cols._Role.Value; } set { Cols._Role.Value = value; } }
|
||||||
|
public DateTime _ApplicFrom { get { return Cols._ApplicFrom.Value; } set { Cols._ApplicFrom.Value = value; } }
|
||||||
|
public DateTime _ApplicTo { get { return Cols._ApplicTo.Value; } set { Cols._ApplicTo.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_DepartmentId = GetFieldInt32(dbDataReader, "DepartmentId", _DepartmentId);
|
||||||
|
_EmployeeId = GetFieldInt32(dbDataReader, "EmployeeId", _EmployeeId);
|
||||||
|
_Role = GetFieldInt16(dbDataReader, "Role", _Role);
|
||||||
|
_ApplicFrom = GetFieldDateTime(dbDataReader, "ApplicFrom", _ApplicFrom);
|
||||||
|
_ApplicTo = GetFieldDateTime(dbDataReader, "ApplicTo", _ApplicTo);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("EmployeeId")) AddCommandParameter(dbCommand, "@EmployeeId", _EmployeeId);
|
||||||
|
if (columnNames.ContainsCI("Role")) AddCommandParameter(dbCommand, "@Role", _Role);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("EmployeeId")) AddCommandParameter(dbCommand, "@EmployeeId", _EmployeeId);
|
||||||
|
if (columnNames.ContainsCI("Role")) AddCommandParameter(dbCommand, "@Role", _Role);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmEmployee_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _InstitutionId { get; } = new ColumnDataInt32("InstitutionId");
|
||||||
|
public ColumnDataString _EmployeeNo { get; } = new ColumnDataString("EmployeeNo");
|
||||||
|
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||||
|
public ColumnDataString _Initials { get; } = new ColumnDataString("Initials");
|
||||||
|
public ColumnDataString _Title { get; } = new ColumnDataString("Title");
|
||||||
|
public ColumnDataString _Surname { get; } = new ColumnDataString("Surname");
|
||||||
|
public ColumnDataString _Forename { get; } = new ColumnDataString("Forename");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"InstitutionId",
|
||||||
|
"EmployeeNo",
|
||||||
|
"Code",
|
||||||
|
"Initials",
|
||||||
|
"Title",
|
||||||
|
"Surname",
|
||||||
|
"Forename",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmEmployee_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmEmployee";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _InstitutionId { get { return Cols._InstitutionId.Value; } set { Cols._InstitutionId.Value = value; } }
|
||||||
|
public String _EmployeeNo { get { return Cols._EmployeeNo.Value; } set { Cols._EmployeeNo.Value = value; } }
|
||||||
|
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||||
|
public String _Initials { get { return Cols._Initials.Value; } set { Cols._Initials.Value = value; } }
|
||||||
|
public String _Title { get { return Cols._Title.Value; } set { Cols._Title.Value = value; } }
|
||||||
|
public String _Surname { get { return Cols._Surname.Value; } set { Cols._Surname.Value = value; } }
|
||||||
|
public String _Forename { get { return Cols._Forename.Value; } set { Cols._Forename.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_InstitutionId = GetFieldInt32(dbDataReader, "InstitutionId", _InstitutionId);
|
||||||
|
_EmployeeNo = GetFieldString(dbDataReader, "EmployeeNo", _EmployeeNo);
|
||||||
|
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||||
|
_Initials = GetFieldString(dbDataReader, "Initials", _Initials);
|
||||||
|
_Title = GetFieldString(dbDataReader, "Title", _Title);
|
||||||
|
_Surname = GetFieldString(dbDataReader, "Surname", _Surname);
|
||||||
|
_Forename = GetFieldString(dbDataReader, "Forename", _Forename);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("EmployeeNo")) AddCommandParameter(dbCommand, "@EmployeeNo", _EmployeeNo);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Initials")) AddCommandParameter(dbCommand, "@Initials", _Initials);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("EmployeeNo")) AddCommandParameter(dbCommand, "@EmployeeNo", _EmployeeNo);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Initials")) AddCommandParameter(dbCommand, "@Initials", _Initials);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,317 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmFacilitySession_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _FacilityId { get; } = new ColumnDataInt32("FacilityId");
|
||||||
|
public ColumnDataInt32 _FacilityTemplateId { get; } = new ColumnDataInt32("FacilityTemplateId");
|
||||||
|
public ColumnDataDateTime _Session { get; } = new ColumnDataDateTime("Session");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataString _SessionCode { get; } = new ColumnDataString("SessionCode");
|
||||||
|
public ColumnDataDateTime _StartAt { get; } = new ColumnDataDateTime("StartAt");
|
||||||
|
public ColumnDataDateTime _FinishAt { get; } = new ColumnDataDateTime("FinishAt");
|
||||||
|
public ColumnDataInt32 _ConsultantId { get; } = new ColumnDataInt32("ConsultantId");
|
||||||
|
public ColumnDataString _ConsultantCode { get; } = new ColumnDataString("ConsultantCode");
|
||||||
|
public ColumnDataString _SpecialityCode { get; } = new ColumnDataString("SpecialityCode");
|
||||||
|
public ColumnDataInt16 _CapacityType { get; } = new ColumnDataInt16("CapacityType");
|
||||||
|
public ColumnDataInt16 _CapacityMin { get; } = new ColumnDataInt16("CapacityMin");
|
||||||
|
public ColumnDataInt16 _CapacityMax { get; } = new ColumnDataInt16("CapacityMax");
|
||||||
|
public ColumnDataInt16 _DurationInterval { get; } = new ColumnDataInt16("DurationInterval");
|
||||||
|
public ColumnDataInt16 _DurationMin { get; } = new ColumnDataInt16("DurationMin");
|
||||||
|
public ColumnDataInt16 _DurationMax { get; } = new ColumnDataInt16("DurationMax");
|
||||||
|
public ColumnDataInt16 _DurationBreaks { get; } = new ColumnDataInt16("DurationBreaks");
|
||||||
|
public ColumnDataSingle _UnitsExp { get; } = new ColumnDataSingle("UnitsExp");
|
||||||
|
public ColumnDataString _BookingsProhibited_ResourceGroups { get; } = new ColumnDataString("BookingsProhibited_ResourceGroups");
|
||||||
|
public ColumnDataInt16 _Overrides { get; } = new ColumnDataInt16("Overrides");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"FacilityId",
|
||||||
|
"FacilityTemplateId",
|
||||||
|
"Session",
|
||||||
|
"Type",
|
||||||
|
"Name",
|
||||||
|
"Description",
|
||||||
|
"SessionCode",
|
||||||
|
"StartAt",
|
||||||
|
"FinishAt",
|
||||||
|
"ConsultantId",
|
||||||
|
"ConsultantCode",
|
||||||
|
"SpecialityCode",
|
||||||
|
"CapacityType",
|
||||||
|
"CapacityMin",
|
||||||
|
"CapacityMax",
|
||||||
|
"DurationInterval",
|
||||||
|
"DurationMin",
|
||||||
|
"DurationMax",
|
||||||
|
"DurationBreaks",
|
||||||
|
"UnitsExp",
|
||||||
|
"BookingsProhibited_ResourceGroups",
|
||||||
|
"Overrides",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"FacilityId",
|
||||||
|
"FacilityTemplateId",
|
||||||
|
"Session",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmFacilitySession_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmFacilitySession";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _FacilityId { get { return Cols._FacilityId.Value; } set { Cols._FacilityId.Value = value; } }
|
||||||
|
public Int32 _FacilityTemplateId { get { return Cols._FacilityTemplateId.Value; } set { Cols._FacilityTemplateId.Value = value; } }
|
||||||
|
public DateTime _Session { get { return Cols._Session.Value; } set { Cols._Session.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public String _SessionCode { get { return Cols._SessionCode.Value; } set { Cols._SessionCode.Value = value; } }
|
||||||
|
public DateTime _StartAt { get { return Cols._StartAt.Value; } set { Cols._StartAt.Value = value; } }
|
||||||
|
public DateTime _FinishAt { get { return Cols._FinishAt.Value; } set { Cols._FinishAt.Value = value; } }
|
||||||
|
public Int32 _ConsultantId { get { return Cols._ConsultantId.Value; } set { Cols._ConsultantId.Value = value; } }
|
||||||
|
public String _ConsultantCode { get { return Cols._ConsultantCode.Value; } set { Cols._ConsultantCode.Value = value; } }
|
||||||
|
public String _SpecialityCode { get { return Cols._SpecialityCode.Value; } set { Cols._SpecialityCode.Value = value; } }
|
||||||
|
public Int16 _CapacityType { get { return Cols._CapacityType.Value; } set { Cols._CapacityType.Value = value; } }
|
||||||
|
public Int16 _CapacityMin { get { return Cols._CapacityMin.Value; } set { Cols._CapacityMin.Value = value; } }
|
||||||
|
public Int16 _CapacityMax { get { return Cols._CapacityMax.Value; } set { Cols._CapacityMax.Value = value; } }
|
||||||
|
public Int16 _DurationInterval { get { return Cols._DurationInterval.Value; } set { Cols._DurationInterval.Value = value; } }
|
||||||
|
public Int16 _DurationMin { get { return Cols._DurationMin.Value; } set { Cols._DurationMin.Value = value; } }
|
||||||
|
public Int16 _DurationMax { get { return Cols._DurationMax.Value; } set { Cols._DurationMax.Value = value; } }
|
||||||
|
public Int16 _DurationBreaks { get { return Cols._DurationBreaks.Value; } set { Cols._DurationBreaks.Value = value; } }
|
||||||
|
public Single _UnitsExp { get { return Cols._UnitsExp.Value; } set { Cols._UnitsExp.Value = value; } }
|
||||||
|
public String _BookingsProhibited_ResourceGroups { get { return Cols._BookingsProhibited_ResourceGroups.Value; } set { Cols._BookingsProhibited_ResourceGroups.Value = value; } }
|
||||||
|
public Int16 _Overrides { get { return Cols._Overrides.Value; } set { Cols._Overrides.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_FacilityId = GetFieldInt32(dbDataReader, "FacilityId", _FacilityId);
|
||||||
|
_FacilityTemplateId = GetFieldInt32(dbDataReader, "FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
_Session = GetFieldDateTime(dbDataReader, "Session", _Session);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_SessionCode = GetFieldString(dbDataReader, "SessionCode", _SessionCode);
|
||||||
|
_StartAt = GetFieldDateTime(dbDataReader, "StartAt", _StartAt);
|
||||||
|
_FinishAt = GetFieldDateTime(dbDataReader, "FinishAt", _FinishAt);
|
||||||
|
_ConsultantId = GetFieldInt32(dbDataReader, "ConsultantId", _ConsultantId);
|
||||||
|
_ConsultantCode = GetFieldString(dbDataReader, "ConsultantCode", _ConsultantCode);
|
||||||
|
_SpecialityCode = GetFieldString(dbDataReader, "SpecialityCode", _SpecialityCode);
|
||||||
|
_CapacityType = GetFieldInt16(dbDataReader, "CapacityType", _CapacityType);
|
||||||
|
_CapacityMin = GetFieldInt16(dbDataReader, "CapacityMin", _CapacityMin);
|
||||||
|
_CapacityMax = GetFieldInt16(dbDataReader, "CapacityMax", _CapacityMax);
|
||||||
|
_DurationInterval = GetFieldInt16(dbDataReader, "DurationInterval", _DurationInterval);
|
||||||
|
_DurationMin = GetFieldInt16(dbDataReader, "DurationMin", _DurationMin);
|
||||||
|
_DurationMax = GetFieldInt16(dbDataReader, "DurationMax", _DurationMax);
|
||||||
|
_DurationBreaks = GetFieldInt16(dbDataReader, "DurationBreaks", _DurationBreaks);
|
||||||
|
_UnitsExp = GetFieldSingle(dbDataReader, "UnitsExp", _UnitsExp);
|
||||||
|
_BookingsProhibited_ResourceGroups = GetFieldString(dbDataReader, "BookingsProhibited_ResourceGroups", _BookingsProhibited_ResourceGroups);
|
||||||
|
_Overrides = GetFieldInt16(dbDataReader, "Overrides", _Overrides);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("FacilityId")) AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
if (columnNames.ContainsCI("FacilityTemplateId")) AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
if (columnNames.ContainsCI("Session")) AddCommandParameter(dbCommand, "@Session", _Session);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SessionCode")) AddCommandParameter(dbCommand, "@SessionCode", _SessionCode);
|
||||||
|
if (columnNames.ContainsCI("StartAt")) AddCommandParameter(dbCommand, "@StartAt", _StartAt);
|
||||||
|
if (columnNames.ContainsCI("FinishAt")) AddCommandParameter(dbCommand, "@FinishAt", _FinishAt);
|
||||||
|
if (columnNames.ContainsCI("ConsultantId")) AddCommandParameter(dbCommand, "@ConsultantId", _ConsultantId);
|
||||||
|
if (columnNames.ContainsCI("ConsultantCode")) AddCommandParameter(dbCommand, "@ConsultantCode", _ConsultantCode);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("CapacityType")) AddCommandParameter(dbCommand, "@CapacityType", _CapacityType);
|
||||||
|
if (columnNames.ContainsCI("CapacityMin")) AddCommandParameter(dbCommand, "@CapacityMin", _CapacityMin);
|
||||||
|
if (columnNames.ContainsCI("CapacityMax")) AddCommandParameter(dbCommand, "@CapacityMax", _CapacityMax);
|
||||||
|
if (columnNames.ContainsCI("DurationInterval")) AddCommandParameter(dbCommand, "@DurationInterval", _DurationInterval);
|
||||||
|
if (columnNames.ContainsCI("DurationMin")) AddCommandParameter(dbCommand, "@DurationMin", _DurationMin);
|
||||||
|
if (columnNames.ContainsCI("DurationMax")) AddCommandParameter(dbCommand, "@DurationMax", _DurationMax);
|
||||||
|
if (columnNames.ContainsCI("DurationBreaks")) AddCommandParameter(dbCommand, "@DurationBreaks", _DurationBreaks);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("BookingsProhibited_ResourceGroups")) AddCommandParameter(dbCommand, "@BookingsProhibited_ResourceGroups", _BookingsProhibited_ResourceGroups);
|
||||||
|
if (columnNames.ContainsCI("Overrides")) AddCommandParameter(dbCommand, "@Overrides", _Overrides);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE FacilityId=@FacilityId AND FacilityTemplateId=@FacilityTemplateId AND Session=@Session;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE FacilityId=? AND FacilityTemplateId=? AND Session=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SessionCode")) AddCommandParameter(dbCommand, "@SessionCode", _SessionCode);
|
||||||
|
if (columnNames.ContainsCI("StartAt")) AddCommandParameter(dbCommand, "@StartAt", _StartAt);
|
||||||
|
if (columnNames.ContainsCI("FinishAt")) AddCommandParameter(dbCommand, "@FinishAt", _FinishAt);
|
||||||
|
if (columnNames.ContainsCI("ConsultantId")) AddCommandParameter(dbCommand, "@ConsultantId", _ConsultantId);
|
||||||
|
if (columnNames.ContainsCI("ConsultantCode")) AddCommandParameter(dbCommand, "@ConsultantCode", _ConsultantCode);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("CapacityType")) AddCommandParameter(dbCommand, "@CapacityType", _CapacityType);
|
||||||
|
if (columnNames.ContainsCI("CapacityMin")) AddCommandParameter(dbCommand, "@CapacityMin", _CapacityMin);
|
||||||
|
if (columnNames.ContainsCI("CapacityMax")) AddCommandParameter(dbCommand, "@CapacityMax", _CapacityMax);
|
||||||
|
if (columnNames.ContainsCI("DurationInterval")) AddCommandParameter(dbCommand, "@DurationInterval", _DurationInterval);
|
||||||
|
if (columnNames.ContainsCI("DurationMin")) AddCommandParameter(dbCommand, "@DurationMin", _DurationMin);
|
||||||
|
if (columnNames.ContainsCI("DurationMax")) AddCommandParameter(dbCommand, "@DurationMax", _DurationMax);
|
||||||
|
if (columnNames.ContainsCI("DurationBreaks")) AddCommandParameter(dbCommand, "@DurationBreaks", _DurationBreaks);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("BookingsProhibited_ResourceGroups")) AddCommandParameter(dbCommand, "@BookingsProhibited_ResourceGroups", _BookingsProhibited_ResourceGroups);
|
||||||
|
if (columnNames.ContainsCI("Overrides")) AddCommandParameter(dbCommand, "@Overrides", _Overrides);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
AddCommandParameter(dbCommand, "@Session", _Session);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,351 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmFacilityTemplate_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _FacilityId { get; } = new ColumnDataInt32("FacilityId");
|
||||||
|
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataString _Group { get; } = new ColumnDataString("Group");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataString _SortCode { get; } = new ColumnDataString("SortCode");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataString _SessionCode { get; } = new ColumnDataString("SessionCode");
|
||||||
|
public ColumnDataInt16 _TemplateMapType { get; } = new ColumnDataInt16("TemplateMapType");
|
||||||
|
public ColumnDataDateTime _TemplateMapFrom { get; } = new ColumnDataDateTime("TemplateMapFrom");
|
||||||
|
public ColumnDataInt16 _WeekOfMonth { get; } = new ColumnDataInt16("WeekOfMonth");
|
||||||
|
public ColumnDataInt16 _DayOfWeek { get; } = new ColumnDataInt16("DayOfWeek");
|
||||||
|
public ColumnDataDateTime _StartAt { get; } = new ColumnDataDateTime("StartAt");
|
||||||
|
public ColumnDataDateTime _FinishAt { get; } = new ColumnDataDateTime("FinishAt");
|
||||||
|
public ColumnDataInt32 _ConsultantId { get; } = new ColumnDataInt32("ConsultantId");
|
||||||
|
public ColumnDataString _ConsultantCode { get; } = new ColumnDataString("ConsultantCode");
|
||||||
|
public ColumnDataString _SpecialityCode { get; } = new ColumnDataString("SpecialityCode");
|
||||||
|
public ColumnDataInt16 _CapacityType { get; } = new ColumnDataInt16("CapacityType");
|
||||||
|
public ColumnDataInt16 _CapacityMin { get; } = new ColumnDataInt16("CapacityMin");
|
||||||
|
public ColumnDataInt16 _CapacityMax { get; } = new ColumnDataInt16("CapacityMax");
|
||||||
|
public ColumnDataInt16 _DurationInterval { get; } = new ColumnDataInt16("DurationInterval");
|
||||||
|
public ColumnDataInt16 _DurationMin { get; } = new ColumnDataInt16("DurationMin");
|
||||||
|
public ColumnDataInt16 _DurationMax { get; } = new ColumnDataInt16("DurationMax");
|
||||||
|
public ColumnDataInt16 _DurationBreaks { get; } = new ColumnDataInt16("DurationBreaks");
|
||||||
|
public ColumnDataSingle _UnitsExp { get; } = new ColumnDataSingle("UnitsExp");
|
||||||
|
public ColumnDataDateTime _ApplicFrom { get; } = new ColumnDataDateTime("ApplicFrom");
|
||||||
|
public ColumnDataDateTime _ApplicTo { get; } = new ColumnDataDateTime("ApplicTo");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"FacilityId",
|
||||||
|
"Category",
|
||||||
|
"Type",
|
||||||
|
"Group",
|
||||||
|
"Name",
|
||||||
|
"SortCode",
|
||||||
|
"Description",
|
||||||
|
"SessionCode",
|
||||||
|
"TemplateMapType",
|
||||||
|
"TemplateMapFrom",
|
||||||
|
"WeekOfMonth",
|
||||||
|
"DayOfWeek",
|
||||||
|
"StartAt",
|
||||||
|
"FinishAt",
|
||||||
|
"ConsultantId",
|
||||||
|
"ConsultantCode",
|
||||||
|
"SpecialityCode",
|
||||||
|
"CapacityType",
|
||||||
|
"CapacityMin",
|
||||||
|
"CapacityMax",
|
||||||
|
"DurationInterval",
|
||||||
|
"DurationMin",
|
||||||
|
"DurationMax",
|
||||||
|
"DurationBreaks",
|
||||||
|
"UnitsExp",
|
||||||
|
"ApplicFrom",
|
||||||
|
"ApplicTo",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmFacilityTemplate_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmFacilityTemplate";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _FacilityId { get { return Cols._FacilityId.Value; } set { Cols._FacilityId.Value = value; } }
|
||||||
|
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public String _Group { get { return Cols._Group.Value; } set { Cols._Group.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public String _SortCode { get { return Cols._SortCode.Value; } set { Cols._SortCode.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public String _SessionCode { get { return Cols._SessionCode.Value; } set { Cols._SessionCode.Value = value; } }
|
||||||
|
public Int16 _TemplateMapType { get { return Cols._TemplateMapType.Value; } set { Cols._TemplateMapType.Value = value; } }
|
||||||
|
public DateTime _TemplateMapFrom { get { return Cols._TemplateMapFrom.Value; } set { Cols._TemplateMapFrom.Value = value; } }
|
||||||
|
public Int16 _WeekOfMonth { get { return Cols._WeekOfMonth.Value; } set { Cols._WeekOfMonth.Value = value; } }
|
||||||
|
public Int16 _DayOfWeek { get { return Cols._DayOfWeek.Value; } set { Cols._DayOfWeek.Value = value; } }
|
||||||
|
public DateTime _StartAt { get { return Cols._StartAt.Value; } set { Cols._StartAt.Value = value; } }
|
||||||
|
public DateTime _FinishAt { get { return Cols._FinishAt.Value; } set { Cols._FinishAt.Value = value; } }
|
||||||
|
public Int32 _ConsultantId { get { return Cols._ConsultantId.Value; } set { Cols._ConsultantId.Value = value; } }
|
||||||
|
public String _ConsultantCode { get { return Cols._ConsultantCode.Value; } set { Cols._ConsultantCode.Value = value; } }
|
||||||
|
public String _SpecialityCode { get { return Cols._SpecialityCode.Value; } set { Cols._SpecialityCode.Value = value; } }
|
||||||
|
public Int16 _CapacityType { get { return Cols._CapacityType.Value; } set { Cols._CapacityType.Value = value; } }
|
||||||
|
public Int16 _CapacityMin { get { return Cols._CapacityMin.Value; } set { Cols._CapacityMin.Value = value; } }
|
||||||
|
public Int16 _CapacityMax { get { return Cols._CapacityMax.Value; } set { Cols._CapacityMax.Value = value; } }
|
||||||
|
public Int16 _DurationInterval { get { return Cols._DurationInterval.Value; } set { Cols._DurationInterval.Value = value; } }
|
||||||
|
public Int16 _DurationMin { get { return Cols._DurationMin.Value; } set { Cols._DurationMin.Value = value; } }
|
||||||
|
public Int16 _DurationMax { get { return Cols._DurationMax.Value; } set { Cols._DurationMax.Value = value; } }
|
||||||
|
public Int16 _DurationBreaks { get { return Cols._DurationBreaks.Value; } set { Cols._DurationBreaks.Value = value; } }
|
||||||
|
public Single _UnitsExp { get { return Cols._UnitsExp.Value; } set { Cols._UnitsExp.Value = value; } }
|
||||||
|
public DateTime _ApplicFrom { get { return Cols._ApplicFrom.Value; } set { Cols._ApplicFrom.Value = value; } }
|
||||||
|
public DateTime _ApplicTo { get { return Cols._ApplicTo.Value; } set { Cols._ApplicTo.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_FacilityId = GetFieldInt32(dbDataReader, "FacilityId", _FacilityId);
|
||||||
|
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Group = GetFieldString(dbDataReader, "Group", _Group);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_SortCode = GetFieldString(dbDataReader, "SortCode", _SortCode);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_SessionCode = GetFieldString(dbDataReader, "SessionCode", _SessionCode);
|
||||||
|
_TemplateMapType = GetFieldInt16(dbDataReader, "TemplateMapType", _TemplateMapType);
|
||||||
|
_TemplateMapFrom = GetFieldDateTime(dbDataReader, "TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
_WeekOfMonth = GetFieldInt16(dbDataReader, "WeekOfMonth", _WeekOfMonth);
|
||||||
|
_DayOfWeek = GetFieldInt16(dbDataReader, "DayOfWeek", _DayOfWeek);
|
||||||
|
_StartAt = GetFieldDateTime(dbDataReader, "StartAt", _StartAt);
|
||||||
|
_FinishAt = GetFieldDateTime(dbDataReader, "FinishAt", _FinishAt);
|
||||||
|
_ConsultantId = GetFieldInt32(dbDataReader, "ConsultantId", _ConsultantId);
|
||||||
|
_ConsultantCode = GetFieldString(dbDataReader, "ConsultantCode", _ConsultantCode);
|
||||||
|
_SpecialityCode = GetFieldString(dbDataReader, "SpecialityCode", _SpecialityCode);
|
||||||
|
_CapacityType = GetFieldInt16(dbDataReader, "CapacityType", _CapacityType);
|
||||||
|
_CapacityMin = GetFieldInt16(dbDataReader, "CapacityMin", _CapacityMin);
|
||||||
|
_CapacityMax = GetFieldInt16(dbDataReader, "CapacityMax", _CapacityMax);
|
||||||
|
_DurationInterval = GetFieldInt16(dbDataReader, "DurationInterval", _DurationInterval);
|
||||||
|
_DurationMin = GetFieldInt16(dbDataReader, "DurationMin", _DurationMin);
|
||||||
|
_DurationMax = GetFieldInt16(dbDataReader, "DurationMax", _DurationMax);
|
||||||
|
_DurationBreaks = GetFieldInt16(dbDataReader, "DurationBreaks", _DurationBreaks);
|
||||||
|
_UnitsExp = GetFieldSingle(dbDataReader, "UnitsExp", _UnitsExp);
|
||||||
|
_ApplicFrom = GetFieldDateTime(dbDataReader, "ApplicFrom", _ApplicFrom);
|
||||||
|
_ApplicTo = GetFieldDateTime(dbDataReader, "ApplicTo", _ApplicTo);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("FacilityId")) AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Group")) AddCommandParameter(dbCommand, "@Group", _Group);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("SortCode")) AddCommandParameter(dbCommand, "@SortCode", _SortCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SessionCode")) AddCommandParameter(dbCommand, "@SessionCode", _SessionCode);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapType")) AddCommandParameter(dbCommand, "@TemplateMapType", _TemplateMapType);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapFrom")) AddCommandParameter(dbCommand, "@TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
if (columnNames.ContainsCI("WeekOfMonth")) AddCommandParameter(dbCommand, "@WeekOfMonth", _WeekOfMonth);
|
||||||
|
if (columnNames.ContainsCI("DayOfWeek")) AddCommandParameter(dbCommand, "@DayOfWeek", _DayOfWeek);
|
||||||
|
if (columnNames.ContainsCI("StartAt")) AddCommandParameter(dbCommand, "@StartAt", _StartAt);
|
||||||
|
if (columnNames.ContainsCI("FinishAt")) AddCommandParameter(dbCommand, "@FinishAt", _FinishAt);
|
||||||
|
if (columnNames.ContainsCI("ConsultantId")) AddCommandParameter(dbCommand, "@ConsultantId", _ConsultantId);
|
||||||
|
if (columnNames.ContainsCI("ConsultantCode")) AddCommandParameter(dbCommand, "@ConsultantCode", _ConsultantCode);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("CapacityType")) AddCommandParameter(dbCommand, "@CapacityType", _CapacityType);
|
||||||
|
if (columnNames.ContainsCI("CapacityMin")) AddCommandParameter(dbCommand, "@CapacityMin", _CapacityMin);
|
||||||
|
if (columnNames.ContainsCI("CapacityMax")) AddCommandParameter(dbCommand, "@CapacityMax", _CapacityMax);
|
||||||
|
if (columnNames.ContainsCI("DurationInterval")) AddCommandParameter(dbCommand, "@DurationInterval", _DurationInterval);
|
||||||
|
if (columnNames.ContainsCI("DurationMin")) AddCommandParameter(dbCommand, "@DurationMin", _DurationMin);
|
||||||
|
if (columnNames.ContainsCI("DurationMax")) AddCommandParameter(dbCommand, "@DurationMax", _DurationMax);
|
||||||
|
if (columnNames.ContainsCI("DurationBreaks")) AddCommandParameter(dbCommand, "@DurationBreaks", _DurationBreaks);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("FacilityId")) AddCommandParameter(dbCommand, "@FacilityId", _FacilityId);
|
||||||
|
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Group")) AddCommandParameter(dbCommand, "@Group", _Group);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("SortCode")) AddCommandParameter(dbCommand, "@SortCode", _SortCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SessionCode")) AddCommandParameter(dbCommand, "@SessionCode", _SessionCode);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapType")) AddCommandParameter(dbCommand, "@TemplateMapType", _TemplateMapType);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapFrom")) AddCommandParameter(dbCommand, "@TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
if (columnNames.ContainsCI("WeekOfMonth")) AddCommandParameter(dbCommand, "@WeekOfMonth", _WeekOfMonth);
|
||||||
|
if (columnNames.ContainsCI("DayOfWeek")) AddCommandParameter(dbCommand, "@DayOfWeek", _DayOfWeek);
|
||||||
|
if (columnNames.ContainsCI("StartAt")) AddCommandParameter(dbCommand, "@StartAt", _StartAt);
|
||||||
|
if (columnNames.ContainsCI("FinishAt")) AddCommandParameter(dbCommand, "@FinishAt", _FinishAt);
|
||||||
|
if (columnNames.ContainsCI("ConsultantId")) AddCommandParameter(dbCommand, "@ConsultantId", _ConsultantId);
|
||||||
|
if (columnNames.ContainsCI("ConsultantCode")) AddCommandParameter(dbCommand, "@ConsultantCode", _ConsultantCode);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("CapacityType")) AddCommandParameter(dbCommand, "@CapacityType", _CapacityType);
|
||||||
|
if (columnNames.ContainsCI("CapacityMin")) AddCommandParameter(dbCommand, "@CapacityMin", _CapacityMin);
|
||||||
|
if (columnNames.ContainsCI("CapacityMax")) AddCommandParameter(dbCommand, "@CapacityMax", _CapacityMax);
|
||||||
|
if (columnNames.ContainsCI("DurationInterval")) AddCommandParameter(dbCommand, "@DurationInterval", _DurationInterval);
|
||||||
|
if (columnNames.ContainsCI("DurationMin")) AddCommandParameter(dbCommand, "@DurationMin", _DurationMin);
|
||||||
|
if (columnNames.ContainsCI("DurationMax")) AddCommandParameter(dbCommand, "@DurationMax", _DurationMax);
|
||||||
|
if (columnNames.ContainsCI("DurationBreaks")) AddCommandParameter(dbCommand, "@DurationBreaks", _DurationBreaks);
|
||||||
|
if (columnNames.ContainsCI("UnitsExp")) AddCommandParameter(dbCommand, "@UnitsExp", _UnitsExp);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,255 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmFacility_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _DepartmentId { get; } = new ColumnDataInt32("DepartmentId");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataString _SortCode { get; } = new ColumnDataString("SortCode");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataInt16 _TemplateMapType { get; } = new ColumnDataInt16("TemplateMapType");
|
||||||
|
public ColumnDataDateTime _TemplateMapFrom { get; } = new ColumnDataDateTime("TemplateMapFrom");
|
||||||
|
public ColumnDataInt16 _ScheduleFreezeType { get; } = new ColumnDataInt16("ScheduleFreezeType");
|
||||||
|
public ColumnDataString _ScheduleFreezeData { get; } = new ColumnDataString("ScheduleFreezeData");
|
||||||
|
public ColumnDataDateTime _ApplicFrom { get; } = new ColumnDataDateTime("ApplicFrom");
|
||||||
|
public ColumnDataDateTime _ApplicTo { get; } = new ColumnDataDateTime("ApplicTo");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"DepartmentId",
|
||||||
|
"Type",
|
||||||
|
"Name",
|
||||||
|
"SortCode",
|
||||||
|
"Description",
|
||||||
|
"TemplateMapType",
|
||||||
|
"TemplateMapFrom",
|
||||||
|
"ScheduleFreezeType",
|
||||||
|
"ScheduleFreezeData",
|
||||||
|
"ApplicFrom",
|
||||||
|
"ApplicTo",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmFacility_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmFacility";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _DepartmentId { get { return Cols._DepartmentId.Value; } set { Cols._DepartmentId.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public String _SortCode { get { return Cols._SortCode.Value; } set { Cols._SortCode.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public Int16 _TemplateMapType { get { return Cols._TemplateMapType.Value; } set { Cols._TemplateMapType.Value = value; } }
|
||||||
|
public DateTime _TemplateMapFrom { get { return Cols._TemplateMapFrom.Value; } set { Cols._TemplateMapFrom.Value = value; } }
|
||||||
|
public Int16 _ScheduleFreezeType { get { return Cols._ScheduleFreezeType.Value; } set { Cols._ScheduleFreezeType.Value = value; } }
|
||||||
|
public String _ScheduleFreezeData { get { return Cols._ScheduleFreezeData.Value; } set { Cols._ScheduleFreezeData.Value = value; } }
|
||||||
|
public DateTime _ApplicFrom { get { return Cols._ApplicFrom.Value; } set { Cols._ApplicFrom.Value = value; } }
|
||||||
|
public DateTime _ApplicTo { get { return Cols._ApplicTo.Value; } set { Cols._ApplicTo.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_DepartmentId = GetFieldInt32(dbDataReader, "DepartmentId", _DepartmentId);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_SortCode = GetFieldString(dbDataReader, "SortCode", _SortCode);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_TemplateMapType = GetFieldInt16(dbDataReader, "TemplateMapType", _TemplateMapType);
|
||||||
|
_TemplateMapFrom = GetFieldDateTime(dbDataReader, "TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
_ScheduleFreezeType = GetFieldInt16(dbDataReader, "ScheduleFreezeType", _ScheduleFreezeType);
|
||||||
|
_ScheduleFreezeData = GetFieldString(dbDataReader, "ScheduleFreezeData", _ScheduleFreezeData);
|
||||||
|
_ApplicFrom = GetFieldDateTime(dbDataReader, "ApplicFrom", _ApplicFrom);
|
||||||
|
_ApplicTo = GetFieldDateTime(dbDataReader, "ApplicTo", _ApplicTo);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("SortCode")) AddCommandParameter(dbCommand, "@SortCode", _SortCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapType")) AddCommandParameter(dbCommand, "@TemplateMapType", _TemplateMapType);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapFrom")) AddCommandParameter(dbCommand, "@TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
if (columnNames.ContainsCI("ScheduleFreezeType")) AddCommandParameter(dbCommand, "@ScheduleFreezeType", _ScheduleFreezeType);
|
||||||
|
if (columnNames.ContainsCI("ScheduleFreezeData")) AddCommandParameter(dbCommand, "@ScheduleFreezeData", _ScheduleFreezeData);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("SortCode")) AddCommandParameter(dbCommand, "@SortCode", _SortCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapType")) AddCommandParameter(dbCommand, "@TemplateMapType", _TemplateMapType);
|
||||||
|
if (columnNames.ContainsCI("TemplateMapFrom")) AddCommandParameter(dbCommand, "@TemplateMapFrom", _TemplateMapFrom);
|
||||||
|
if (columnNames.ContainsCI("ScheduleFreezeType")) AddCommandParameter(dbCommand, "@ScheduleFreezeType", _ScheduleFreezeType);
|
||||||
|
if (columnNames.ContainsCI("ScheduleFreezeData")) AddCommandParameter(dbCommand, "@ScheduleFreezeData", _ScheduleFreezeData);
|
||||||
|
if (columnNames.ContainsCI("ApplicFrom")) AddCommandParameter(dbCommand, "@ApplicFrom", _ApplicFrom);
|
||||||
|
if (columnNames.ContainsCI("ApplicTo")) AddCommandParameter(dbCommand, "@ApplicTo", _ApplicTo);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmInstitution_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"Name",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmInstitution_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmInstitution";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmOperation_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _InstitutionId { get; } = new ColumnDataInt32("InstitutionId");
|
||||||
|
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"InstitutionId",
|
||||||
|
"Code",
|
||||||
|
"Description",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmOperation_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmOperation";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _InstitutionId { get { return Cols._InstitutionId.Value; } set { Cols._InstitutionId.Value = value; } }
|
||||||
|
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_InstitutionId = GetFieldInt32(dbDataReader, "InstitutionId", _InstitutionId);
|
||||||
|
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmPatient_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _InstitutionId { get; } = new ColumnDataInt32("InstitutionId");
|
||||||
|
public ColumnDataString _PatientNo { get; } = new ColumnDataString("PatientNo");
|
||||||
|
public ColumnDataString _NhsNumber { get; } = new ColumnDataString("NhsNumber");
|
||||||
|
public ColumnDataString _Title { get; } = new ColumnDataString("Title");
|
||||||
|
public ColumnDataString _Surname { get; } = new ColumnDataString("Surname");
|
||||||
|
public ColumnDataString _Forename { get; } = new ColumnDataString("Forename");
|
||||||
|
public ColumnDataInt16 _Gender { get; } = new ColumnDataInt16("Gender");
|
||||||
|
public ColumnDataInt32 _BirthOn { get; } = new ColumnDataInt32("BirthOn");
|
||||||
|
public ColumnDataString _Age { get; } = new ColumnDataString("Age");
|
||||||
|
public ColumnDataDateTime _AgeOn { get; } = new ColumnDataDateTime("AgeOn");
|
||||||
|
public ColumnDataString _PhoneMobile { get; } = new ColumnDataString("PhoneMobile");
|
||||||
|
public ColumnDataString _Email { get; } = new ColumnDataString("Email");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"InstitutionId",
|
||||||
|
"PatientNo",
|
||||||
|
"NhsNumber",
|
||||||
|
"Title",
|
||||||
|
"Surname",
|
||||||
|
"Forename",
|
||||||
|
"Gender",
|
||||||
|
"BirthOn",
|
||||||
|
"Age",
|
||||||
|
"AgeOn",
|
||||||
|
"PhoneMobile",
|
||||||
|
"Email",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmPatient_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmPatient";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _InstitutionId { get { return Cols._InstitutionId.Value; } set { Cols._InstitutionId.Value = value; } }
|
||||||
|
public String _PatientNo { get { return Cols._PatientNo.Value; } set { Cols._PatientNo.Value = value; } }
|
||||||
|
public String _NhsNumber { get { return Cols._NhsNumber.Value; } set { Cols._NhsNumber.Value = value; } }
|
||||||
|
public String _Title { get { return Cols._Title.Value; } set { Cols._Title.Value = value; } }
|
||||||
|
public String _Surname { get { return Cols._Surname.Value; } set { Cols._Surname.Value = value; } }
|
||||||
|
public String _Forename { get { return Cols._Forename.Value; } set { Cols._Forename.Value = value; } }
|
||||||
|
public Int16 _Gender { get { return Cols._Gender.Value; } set { Cols._Gender.Value = value; } }
|
||||||
|
public Int32 _BirthOn { get { return Cols._BirthOn.Value; } set { Cols._BirthOn.Value = value; } }
|
||||||
|
public String _Age { get { return Cols._Age.Value; } set { Cols._Age.Value = value; } }
|
||||||
|
public DateTime _AgeOn { get { return Cols._AgeOn.Value; } set { Cols._AgeOn.Value = value; } }
|
||||||
|
public String _PhoneMobile { get { return Cols._PhoneMobile.Value; } set { Cols._PhoneMobile.Value = value; } }
|
||||||
|
public String _Email { get { return Cols._Email.Value; } set { Cols._Email.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_InstitutionId = GetFieldInt32(dbDataReader, "InstitutionId", _InstitutionId);
|
||||||
|
_PatientNo = GetFieldString(dbDataReader, "PatientNo", _PatientNo);
|
||||||
|
_NhsNumber = GetFieldString(dbDataReader, "NhsNumber", _NhsNumber);
|
||||||
|
_Title = GetFieldString(dbDataReader, "Title", _Title);
|
||||||
|
_Surname = GetFieldString(dbDataReader, "Surname", _Surname);
|
||||||
|
_Forename = GetFieldString(dbDataReader, "Forename", _Forename);
|
||||||
|
_Gender = GetFieldInt16(dbDataReader, "Gender", _Gender);
|
||||||
|
_BirthOn = GetFieldInt32(dbDataReader, "BirthOn", _BirthOn);
|
||||||
|
_Age = GetFieldString(dbDataReader, "Age", _Age);
|
||||||
|
_AgeOn = GetFieldDateTime(dbDataReader, "AgeOn", _AgeOn);
|
||||||
|
_PhoneMobile = GetFieldString(dbDataReader, "PhoneMobile", _PhoneMobile);
|
||||||
|
_Email = GetFieldString(dbDataReader, "Email", _Email);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("PatientNo")) AddCommandParameter(dbCommand, "@PatientNo", _PatientNo);
|
||||||
|
if (columnNames.ContainsCI("NhsNumber")) AddCommandParameter(dbCommand, "@NhsNumber", _NhsNumber);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Gender")) AddCommandParameter(dbCommand, "@Gender", _Gender);
|
||||||
|
if (columnNames.ContainsCI("BirthOn")) AddCommandParameter(dbCommand, "@BirthOn", _BirthOn);
|
||||||
|
if (columnNames.ContainsCI("Age")) AddCommandParameter(dbCommand, "@Age", _Age);
|
||||||
|
if (columnNames.ContainsCI("AgeOn")) AddCommandParameter(dbCommand, "@AgeOn", _AgeOn);
|
||||||
|
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||||
|
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("InstitutionId")) AddCommandParameter(dbCommand, "@InstitutionId", _InstitutionId);
|
||||||
|
if (columnNames.ContainsCI("PatientNo")) AddCommandParameter(dbCommand, "@PatientNo", _PatientNo);
|
||||||
|
if (columnNames.ContainsCI("NhsNumber")) AddCommandParameter(dbCommand, "@NhsNumber", _NhsNumber);
|
||||||
|
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||||
|
if (columnNames.ContainsCI("Surname")) AddCommandParameter(dbCommand, "@Surname", _Surname);
|
||||||
|
if (columnNames.ContainsCI("Forename")) AddCommandParameter(dbCommand, "@Forename", _Forename);
|
||||||
|
if (columnNames.ContainsCI("Gender")) AddCommandParameter(dbCommand, "@Gender", _Gender);
|
||||||
|
if (columnNames.ContainsCI("BirthOn")) AddCommandParameter(dbCommand, "@BirthOn", _BirthOn);
|
||||||
|
if (columnNames.ContainsCI("Age")) AddCommandParameter(dbCommand, "@Age", _Age);
|
||||||
|
if (columnNames.ContainsCI("AgeOn")) AddCommandParameter(dbCommand, "@AgeOn", _AgeOn);
|
||||||
|
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||||
|
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,249 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmProcedure_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||||
|
public ColumnDataInt32 _DepartmentId { get; } = new ColumnDataInt32("DepartmentId");
|
||||||
|
public ColumnDataInt32 _OperationId { get; } = new ColumnDataInt32("OperationId");
|
||||||
|
public ColumnDataString _OpnCode { get; } = new ColumnDataString("OpnCode");
|
||||||
|
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||||
|
public ColumnDataString _SpecialityCode { get; } = new ColumnDataString("SpecialityCode");
|
||||||
|
public ColumnDataString _ComplexityCode { get; } = new ColumnDataString("ComplexityCode");
|
||||||
|
public ColumnDataInt16 _Duration { get; } = new ColumnDataInt16("Duration");
|
||||||
|
public ColumnDataSingle _Units { get; } = new ColumnDataSingle("Units");
|
||||||
|
public ColumnDataInt16 _Duration_Training { get; } = new ColumnDataInt16("Duration_Training");
|
||||||
|
public ColumnDataSingle _Units_Training { get; } = new ColumnDataSingle("Units_Training");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
"DepartmentId",
|
||||||
|
"OperationId",
|
||||||
|
"OpnCode",
|
||||||
|
"Description",
|
||||||
|
"SpecialityCode",
|
||||||
|
"ComplexityCode",
|
||||||
|
"Duration",
|
||||||
|
"Units",
|
||||||
|
"Duration_Training",
|
||||||
|
"Units_Training",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"Id",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmProcedure_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmProcedure";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||||
|
public Int32 _DepartmentId { get { return Cols._DepartmentId.Value; } set { Cols._DepartmentId.Value = value; } }
|
||||||
|
public Int32 _OperationId { get { return Cols._OperationId.Value; } set { Cols._OperationId.Value = value; } }
|
||||||
|
public String _OpnCode { get { return Cols._OpnCode.Value; } set { Cols._OpnCode.Value = value; } }
|
||||||
|
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||||
|
public String _SpecialityCode { get { return Cols._SpecialityCode.Value; } set { Cols._SpecialityCode.Value = value; } }
|
||||||
|
public String _ComplexityCode { get { return Cols._ComplexityCode.Value; } set { Cols._ComplexityCode.Value = value; } }
|
||||||
|
public Int16 _Duration { get { return Cols._Duration.Value; } set { Cols._Duration.Value = value; } }
|
||||||
|
public Single _Units { get { return Cols._Units.Value; } set { Cols._Units.Value = value; } }
|
||||||
|
public Int16 _Duration_Training { get { return Cols._Duration_Training.Value; } set { Cols._Duration_Training.Value = value; } }
|
||||||
|
public Single _Units_Training { get { return Cols._Units_Training.Value; } set { Cols._Units_Training.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||||
|
_DepartmentId = GetFieldInt32(dbDataReader, "DepartmentId", _DepartmentId);
|
||||||
|
_OperationId = GetFieldInt32(dbDataReader, "OperationId", _OperationId);
|
||||||
|
_OpnCode = GetFieldString(dbDataReader, "OpnCode", _OpnCode);
|
||||||
|
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||||
|
_SpecialityCode = GetFieldString(dbDataReader, "SpecialityCode", _SpecialityCode);
|
||||||
|
_ComplexityCode = GetFieldString(dbDataReader, "ComplexityCode", _ComplexityCode);
|
||||||
|
_Duration = GetFieldInt16(dbDataReader, "Duration", _Duration);
|
||||||
|
_Units = GetFieldSingle(dbDataReader, "Units", _Units);
|
||||||
|
_Duration_Training = GetFieldInt16(dbDataReader, "Duration_Training", _Duration_Training);
|
||||||
|
_Units_Training = GetFieldSingle(dbDataReader, "Units_Training", _Units_Training);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("OperationId")) AddCommandParameter(dbCommand, "@OperationId", _OperationId);
|
||||||
|
if (columnNames.ContainsCI("OpnCode")) AddCommandParameter(dbCommand, "@OpnCode", _OpnCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("ComplexityCode")) AddCommandParameter(dbCommand, "@ComplexityCode", _ComplexityCode);
|
||||||
|
if (columnNames.ContainsCI("Duration")) AddCommandParameter(dbCommand, "@Duration", _Duration);
|
||||||
|
if (columnNames.ContainsCI("Units")) AddCommandParameter(dbCommand, "@Units", _Units);
|
||||||
|
if (columnNames.ContainsCI("Duration_Training")) AddCommandParameter(dbCommand, "@Duration_Training", _Duration_Training);
|
||||||
|
if (columnNames.ContainsCI("Units_Training")) AddCommandParameter(dbCommand, "@Units_Training", _Units_Training);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE Id=@Id;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE Id=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("DepartmentId")) AddCommandParameter(dbCommand, "@DepartmentId", _DepartmentId);
|
||||||
|
if (columnNames.ContainsCI("OperationId")) AddCommandParameter(dbCommand, "@OperationId", _OperationId);
|
||||||
|
if (columnNames.ContainsCI("OpnCode")) AddCommandParameter(dbCommand, "@OpnCode", _OpnCode);
|
||||||
|
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||||
|
if (columnNames.ContainsCI("SpecialityCode")) AddCommandParameter(dbCommand, "@SpecialityCode", _SpecialityCode);
|
||||||
|
if (columnNames.ContainsCI("ComplexityCode")) AddCommandParameter(dbCommand, "@ComplexityCode", _ComplexityCode);
|
||||||
|
if (columnNames.ContainsCI("Duration")) AddCommandParameter(dbCommand, "@Duration", _Duration);
|
||||||
|
if (columnNames.ContainsCI("Units")) AddCommandParameter(dbCommand, "@Units", _Units);
|
||||||
|
if (columnNames.ContainsCI("Duration_Training")) AddCommandParameter(dbCommand, "@Duration_Training", _Duration_Training);
|
||||||
|
if (columnNames.ContainsCI("Units_Training")) AddCommandParameter(dbCommand, "@Units_Training", _Units_Training);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,216 @@
|
|||||||
|
using Sarand.Core.Base;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Data;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Code generated by Sarand Database Utilities Tue 9-Apr-2019 17:58:35
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
namespace Sarand.PatientMgr.Win.Dbas.Internal
|
||||||
|
{
|
||||||
|
internal class SwmTemplateData_Db : SpmDbDataItem
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Column definitions.
|
||||||
|
public class ColumnsData
|
||||||
|
{
|
||||||
|
public ColumnDataInt32 _FacilityTemplateId { get; } = new ColumnDataInt32("FacilityTemplateId");
|
||||||
|
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||||
|
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||||
|
public ColumnDataString _Identifier { get; } = new ColumnDataString("Identifier");
|
||||||
|
public ColumnDataString _Value { get; } = new ColumnDataString("Value");
|
||||||
|
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||||
|
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||||
|
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||||
|
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||||
|
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||||
|
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||||
|
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||||
|
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||||
|
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static List<String> fields { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"FacilityTemplateId",
|
||||||
|
"Type",
|
||||||
|
"Seq",
|
||||||
|
"Identifier",
|
||||||
|
"Value",
|
||||||
|
"Notes",
|
||||||
|
"Flags",
|
||||||
|
"Status",
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
"UpdateOn",
|
||||||
|
"UpdateBy",
|
||||||
|
"UpdateHost",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsId { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
};
|
||||||
|
private static List<String> fieldsPrimary { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"FacilityTemplateId",
|
||||||
|
"Type",
|
||||||
|
"Seq",
|
||||||
|
"Identifier",
|
||||||
|
};
|
||||||
|
private static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||||
|
{
|
||||||
|
"CreateOn",
|
||||||
|
"CreateBy",
|
||||||
|
"CreateHost",
|
||||||
|
};
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
internal SwmTemplateData_Db (IDatabaseInfo dbInfo) : base(dbInfo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Properties.
|
||||||
|
public override String SchemaName { get; } = "dbo";
|
||||||
|
public override String TableName { get; } = "SwmTemplateData";
|
||||||
|
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||||
|
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||||
|
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||||
|
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||||
|
// Columns.
|
||||||
|
public ColumnsData Cols { get; } = new ColumnsData();
|
||||||
|
public Int32 _FacilityTemplateId { get { return Cols._FacilityTemplateId.Value; } set { Cols._FacilityTemplateId.Value = value; } }
|
||||||
|
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||||
|
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||||
|
public String _Identifier { get { return Cols._Identifier.Value; } set { Cols._Identifier.Value = value; } }
|
||||||
|
public String _Value { get { return Cols._Value.Value; } set { Cols._Value.Value = value; } }
|
||||||
|
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||||
|
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||||
|
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||||
|
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||||
|
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||||
|
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||||
|
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||||
|
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||||
|
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||||
|
// Existing columns - confirmed on database if table exists.
|
||||||
|
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||||
|
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Population.
|
||||||
|
public override void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter)
|
||||||
|
{
|
||||||
|
dbCommand.CommandText =
|
||||||
|
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||||
|
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||||
|
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||||
|
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||||
|
{
|
||||||
|
dbDataReader.Read();
|
||||||
|
PopulateFrom(dbDataReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void PopulateFrom (DbDataReader dbDataReader)
|
||||||
|
{
|
||||||
|
_FacilityTemplateId = GetFieldInt32(dbDataReader, "FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||||
|
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||||
|
_Identifier = GetFieldString(dbDataReader, "Identifier", _Identifier);
|
||||||
|
_Value = GetFieldString(dbDataReader, "Value", _Value);
|
||||||
|
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||||
|
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||||
|
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||||
|
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||||
|
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||||
|
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||||
|
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||||
|
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||||
|
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Insert command.
|
||||||
|
public override bool ExecuteInsertCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId;
|
||||||
|
// Construct query.
|
||||||
|
String query =
|
||||||
|
"INSERT INTO " + TableNameFmt + " " +
|
||||||
|
"("+columnNames.Concat(",","[","]")+") ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||||
|
else query += "VALUES (" + StringList.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("FacilityTemplateId")) AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
if (columnNames.ContainsCI("Identifier")) AddCommandParameter(dbCommand, "@Identifier", _Identifier);
|
||||||
|
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||||
|
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||||
|
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
// Execute insert command.
|
||||||
|
bool commandSuccess = false;
|
||||||
|
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||||
|
if (executeNonQuery == 1)
|
||||||
|
{
|
||||||
|
commandSuccess = true;
|
||||||
|
}
|
||||||
|
return commandSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update command.
|
||||||
|
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||||
|
{
|
||||||
|
// Columns to update.
|
||||||
|
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||||
|
// Construct query.
|
||||||
|
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||||
|
if (dbCommand is SqlCommand)
|
||||||
|
{
|
||||||
|
query += StringPairList.CreateFrom(columnNames,true).Concat("=@").Concat(", ") + " ";
|
||||||
|
query += "WHERE FacilityTemplateId=@FacilityTemplateId AND Type=@Type AND Seq=@Seq AND Identifier=@Identifier;";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||||
|
query += "WHERE FacilityTemplateId=? AND Type=? AND Seq=? AND Identifier=?;";
|
||||||
|
}
|
||||||
|
dbCommand.CommandText = query;
|
||||||
|
// Populate parameters.
|
||||||
|
dbCommand.Parameters.Clear();
|
||||||
|
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||||
|
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||||
|
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||||
|
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||||
|
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||||
|
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||||
|
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||||
|
AddCommandParameter(dbCommand, "@FacilityTemplateId", _FacilityTemplateId);
|
||||||
|
AddCommandParameter(dbCommand, "@Type", _Type);
|
||||||
|
AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||||
|
AddCommandParameter(dbCommand, "@Identifier", _Identifier);
|
||||||
|
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||||
|
return (executeNonQueryResult == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -10,6 +11,9 @@ namespace Sarand.PatientMgr.Win.Forms.App
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Session profile.
|
// Session profile.
|
||||||
public static SpmSessionProfile_Win SessionProfile { get; set; }
|
public static SpmSessionProfile_Win SessionProfile { get; set; }
|
||||||
|
public static SpmUserContext UserContext { get { return SessionProfile.UserContext; } }
|
||||||
|
public static SpmSessionContext SessionContext { get { return SessionProfile.UserContext.SessionContext; } }
|
||||||
|
public static SpmSecurityProfile SecurityProfile { get { return SessionProfile.UserContext.SecurityProfile; } }
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Clear globals.
|
// Clear globals.
|
||||||
|
|||||||
@@ -13,15 +13,32 @@ namespace Sarand.PatientMgr.Win.Forms.App
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class SpmSessionProfile_Win : SpmSessionProfile
|
public class SpmSessionProfile_Win : SpmSessionProfile
|
||||||
{
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// User context.
|
||||||
|
private class SpmUserContext_Win : SpmUserContext
|
||||||
|
{
|
||||||
|
public SpmUserContext_Win (SpmSessionContext sessionContext) :
|
||||||
|
base(sessionContext)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Data members.
|
// Data members.
|
||||||
|
private readonly SpmUserContext_Win userContext;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Construction.
|
// Construction.
|
||||||
protected SpmSessionProfile_Win ()
|
protected SpmSessionProfile_Win (SpmSessionContext sessionContext)
|
||||||
{
|
{
|
||||||
|
userContext = new SpmUserContext_Win(sessionContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// User context.
|
||||||
|
public SpmSessionContext SessionContext { get { return userContext.SessionContext; } }
|
||||||
|
public SpmUserContext UserContext { get { return userContext; } }
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Consoles;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Forms.CodeTypes;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.App.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public class SpmCodeTypeConsole_App : SpmCodeTypeConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
public SpmCodeTypeConsole_App (SpmSessionContext sessionContext, SacsDatabase database) :
|
||||||
|
base(sessionContext, database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Method to display Code Types dialog.
|
||||||
|
protected override MaintainCodeTypesFunction MaintainCodeTypesFn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SaForm_CodeTypes.MaintainCodeTypes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Consoles;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Forms.ItemOptions;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.App.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public class SpmItemOptionConsole_App : SpmItemOptionConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
public SpmItemOptionConsole_App (SpmSessionContext sessionContext, SacsDatabase database) :
|
||||||
|
base(sessionContext, database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Method to display Security management dialog.
|
||||||
|
protected override ShowItemOptionsDialogFunction ShowItemOptionsDialogFn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SaForm_ItemOptions.ShowItemOptionDialog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
using Sarand.Core.Bus;
|
||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Consoles;
|
||||||
|
using Sarand.PatientMgr.Win.Forms.App;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Forms.Security;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.App.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public class SpmSecurityConsole_App : SpmSecurityConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
public SpmSecurityConsole_App (SpmSessionContext sessionContext, SacsDatabase database) :
|
||||||
|
base(sessionContext, database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security events.
|
||||||
|
protected override void OnLogin (SysId userId)
|
||||||
|
{
|
||||||
|
SpmGlobals_Win.SecurityProfile.RefreshProfile(this, userId, GetSecurityRights());
|
||||||
|
}
|
||||||
|
protected override void OnLogout ()
|
||||||
|
{
|
||||||
|
SpmGlobals_Win.SecurityProfile.RefreshProfile(this, null, GetSecurityRights());
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Method to show User Login form.
|
||||||
|
protected override ShowUserLoginFormFunction ShowUserLoginFormFn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SaForm_UserLogin.ShowUserLoginForm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Method to display Security management form.
|
||||||
|
protected override ShowManageSecurityDialogFunction ShowManageSecurityDialogFn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SaForm_ManageSecurity.ShowManageSecurityDialog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
public override bool OnUserModified (SysId userId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(userId)) return false;
|
||||||
|
SpmSecurityProfile securityProfile = SpmGlobals_Win.SecurityProfile;
|
||||||
|
if (securityProfile.UserId.Equals(userId))
|
||||||
|
securityProfile.RefreshProfile(this, userId, GetSecurityRights());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override bool OnSecurityGroupModified (SysId secGroupId)
|
||||||
|
{
|
||||||
|
if (!SysId.IsValid(secGroupId)) return false;
|
||||||
|
SpmSecurityProfile securityProfile = SpmGlobals_Win.SecurityProfile;
|
||||||
|
if (securityProfile.IsUserMemberOfSecurityGroup(secGroupId))
|
||||||
|
securityProfile.RefreshProfile(this, securityProfile.UserId, GetSecurityRights());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Consoles;
|
||||||
|
using Sarand.Win.Dbas.Base;
|
||||||
|
using Sarand.Win.Forms.UpdateLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Sarand.PatientMgr.App.Consoles
|
||||||
|
{
|
||||||
|
//=======================================================================
|
||||||
|
public class SpmUpdateLogConsole_App : SpmUpdateLogConsole_Dbas
|
||||||
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Construction.
|
||||||
|
public SpmUpdateLogConsole_App (SpmSessionContext sessionContext, SacsDatabase database) :
|
||||||
|
base(sessionContext, database)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Method to display Security management dialog.
|
||||||
|
protected override ShowUpdateLogDialogFunction ShowUpdateLogDialogFn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SaForm_UpdateLog.ShowUpdateLogDialog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
}
|
||||||
+22
-1
@@ -15,13 +15,34 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent ()
|
private void InitializeComponent ()
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.buttonGenerateDbDfn = new System.Windows.Forms.Button();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// buttonGenerateDbDfn
|
||||||
|
//
|
||||||
|
this.buttonGenerateDbDfn.Location = new System.Drawing.Point(58, 63);
|
||||||
|
this.buttonGenerateDbDfn.Name = "buttonGenerateDbDfn";
|
||||||
|
this.buttonGenerateDbDfn.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.buttonGenerateDbDfn.TabIndex = 0;
|
||||||
|
this.buttonGenerateDbDfn.Text = "Generate Db dfn";
|
||||||
|
this.buttonGenerateDbDfn.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonGenerateDbDfn.Click += new System.EventHandler(this.buttonGenerateDbDfn_Click);
|
||||||
|
//
|
||||||
|
// SaPatientMgrForm
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||||
|
this.Controls.Add(this.buttonGenerateDbDfn);
|
||||||
|
this.Name = "SaPatientMgrForm";
|
||||||
this.Text = "Form1";
|
this.Text = "Form1";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button buttonGenerateDbDfn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Sarand.PatientMgr.Core.App;
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Dbas.Utils;
|
||||||
|
using Sarand.PatientMgr.Win.Forms.App;
|
||||||
using Sarand.Win.Forms;
|
using Sarand.Win.Forms;
|
||||||
using Sarand.Win.Forms.Utils;
|
using Sarand.Win.Forms.Utils;
|
||||||
using System;
|
using System;
|
||||||
@@ -71,10 +73,24 @@ namespace Sarand.PatientMgr.App.Forms
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// C o n t r o l A c t i v i t y
|
// C o n t r o l A c t i v i t y
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
protected override void SetControlActivity ()
|
||||||
|
{
|
||||||
|
SetControlsReadOnly();
|
||||||
|
}
|
||||||
|
protected override void SetControlsReadOnly ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// F o r m E v e n t s
|
// F o r m E v e n t s
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
private void buttonGenerateDbDfn_Click (object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SpmDbDfnGenerator.DbDfnGeneratorResultData result = SpmDbDfnGenerator.Generate(SpmGlobals.Application.GetDatabase(SpmGlobals_Win.SessionProfile.SessionContext).ConnectionString);
|
||||||
|
if (result.Success)
|
||||||
|
MessageBox.Show("Database definition generated", "Database Definition", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||||||
|
else MessageBox.Show("Database definition not generated.\n\n"+result.ErrorMessage, "Database Definition", MessageBoxButtons.OK, MessageBoxIcon.Stop);
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
+120
-15
@@ -7,34 +7,139 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using System.Threading;
|
||||||
|
using Sarand.PatientMgr.Win.Forms.App;
|
||||||
|
|
||||||
namespace Sarand.PatientMgr.App
|
namespace Sarand.PatientMgr.App
|
||||||
{
|
{
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Definitions.
|
||||||
|
[System.Runtime.InteropServices.DllImport("user32.dll")]
|
||||||
|
private static extern bool SetProcessDPIAware ();
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Data members.
|
||||||
|
private static Form mainForm = null;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
/// <summary>The main entry point for the application.</summary>
|
/// <summary>The main entry point for the application.</summary>
|
||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main (string[] args)
|
static void Main (string[] args)
|
||||||
{
|
{
|
||||||
// Parse command line.
|
bool runningProcesses = false;
|
||||||
SacsCommandLineInfo CmdLineInfo = new SacsCommandLineInfo(args);
|
try
|
||||||
bool runProcesses = (CmdLineInfo.ProcessDefinitions.Count > 0);
|
|
||||||
|
|
||||||
// PatientMgr Application.
|
|
||||||
String logMessageSuffix = (runProcesses ? " [auto]" : "");
|
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
|
||||||
|
|
||||||
// Main form.
|
|
||||||
SaPatientMgrForm.Config configMainForm = new SaPatientMgrForm.Config();
|
|
||||||
using (Form mainForm = new SaPatientMgrForm(configMainForm))
|
|
||||||
{
|
{
|
||||||
Application.Run(mainForm);
|
// Parse command line.
|
||||||
|
SacsCommandLineInfo CmdLineInfo = new SacsCommandLineInfo(args);
|
||||||
|
bool runProcesses = (CmdLineInfo.ProcessDefinitions.Count > 0);
|
||||||
|
|
||||||
|
// PatientMgr Application.
|
||||||
|
String logMessageSuffix = (runProcesses ? " [auto]" : "");
|
||||||
|
using (var app = new SaPatientMgrApp(Spm.ApplicationCaption + " Start v" + Spm.Version + logMessageSuffix))
|
||||||
|
{
|
||||||
|
// Check for startup error.
|
||||||
|
if (app.HasErrorState())
|
||||||
|
{
|
||||||
|
MessageBox.Show("Startup error: " + app.ErrorStateMessage, Spm.ApplicationCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trap thread and unhandled exceptions.
|
||||||
|
var threadExceptionHandler = new ThreadExceptionEventHandler(Application_ThreadException);
|
||||||
|
Application.ThreadException += threadExceptionHandler;
|
||||||
|
var unhandledExceptionHandler = new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
|
||||||
|
AppDomain.CurrentDomain.UnhandledException += unhandledExceptionHandler;
|
||||||
|
|
||||||
|
if (runProcesses)
|
||||||
|
{
|
||||||
|
// Run specified processes and close application.
|
||||||
|
runningProcesses = true;
|
||||||
|
/*
|
||||||
|
foreach (SacsProcessDefinition processDfn in CmdLineInfo.ProcessDefinitions)
|
||||||
|
SpmProcessConsole.InvokeProcessDefinition(app.SessionContext, processDfn, app.UserContext.DbUpdateInfo);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Configure application.
|
||||||
|
SetProcessDPIAware();
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
|
// Main form.
|
||||||
|
SaPatientMgrForm.Config configMainForm = new SaPatientMgrForm.Config();
|
||||||
|
using (Form form = new SaPatientMgrForm(configMainForm))
|
||||||
|
{
|
||||||
|
mainForm = form;
|
||||||
|
Application.Run(form);
|
||||||
|
mainForm = null;
|
||||||
|
}
|
||||||
|
Application.ThreadException -= threadExceptionHandler;
|
||||||
|
Logger.Info(Spm.ApplicationCaption + " End" + logMessageSuffix, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
String exceptionName = exc.GetType().Name + (exc.InnerException != null ? " (" + exc.InnerException.GetType().Name + ")" : "");
|
||||||
|
if (!runningProcesses)
|
||||||
|
MessageBox.Show(exceptionName + " encountered:\n\n" + exc.Message + "\n\nApplication will close.");
|
||||||
|
Logger.Warn(exceptionName + ": " + exc.Message + exc.GetStackEntries(6).Concat("", "\n\t"), true);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Application.Exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Trap thread exceptions.
|
||||||
|
// Ref: https://stackoverflow.com/questions/36014/why-is-net-exception-not-caught-by-try-catch-block
|
||||||
|
// See: References to Application.ThreadException above.
|
||||||
|
public class ThreadException : Exception
|
||||||
|
{
|
||||||
|
public ThreadException (String message, Exception innerException) :
|
||||||
|
base(message, innerException)
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
public static void Application_ThreadException (object sender, ThreadExceptionEventArgs e)
|
||||||
|
{
|
||||||
|
Exception exc = e.Exception;
|
||||||
|
Logger.Error("Application_ThreadException " + exc.GetType().Name + ": " + exc.Message + ExceptionUtil.GetStackEntries(exc, 20).Concat("", "\n\t"), true);
|
||||||
|
if (!SacsSystem.DebugMode)
|
||||||
|
{
|
||||||
|
// Throw on main thread.
|
||||||
|
if (mainForm != null && mainForm.InvokeRequired) mainForm.Invoke((MethodInvoker)delegate { throw exc; });
|
||||||
|
else throw exc; // new ThreadException(exc.Message, exc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Trap unhandled exceptions.
|
||||||
|
// Ref: https://msdn.microsoft.com/en-us/library/system.windows.forms.application.threadexception(v=vs.110).aspx
|
||||||
|
// See: References to Application.ThreadException above.
|
||||||
|
public class UnhandledException : Exception
|
||||||
|
{
|
||||||
|
public UnhandledException (String message, Exception innerException) :
|
||||||
|
base(message, innerException)
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
public static void CurrentDomain_UnhandledException (object sender, UnhandledExceptionEventArgs e)
|
||||||
|
{
|
||||||
|
Exception exc = e.ExceptionObject as Exception;
|
||||||
|
Logger.Error("CurrentDomain_UnhandledException " + exc.GetType().Name + ": " + exc.Message + ExceptionUtil.GetStackEntries(exc, 20).Concat("", "\n\t"));
|
||||||
|
if (!SacsSystem.DebugMode)
|
||||||
|
{
|
||||||
|
// Throw on main thread.
|
||||||
|
if (mainForm != null && mainForm.InvokeRequired) mainForm.Invoke((MethodInvoker)delegate { throw exc; });
|
||||||
|
else throw exc; // new UnhandledException(exc.ToString(), exc);
|
||||||
}
|
}
|
||||||
Logger.Info(Spm.ApplicationCaption + " End" + logMessageSuffix, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ namespace Sarand.PatientMgr.App
|
|||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Data members.
|
// Data members.
|
||||||
private static SaPatientMgrApp app = null;
|
private static SaPatientMgrApp app = null;
|
||||||
private PropertySet properties = null;
|
private readonly PropertySet properties;
|
||||||
|
private SpmSessionProfile_Desktop sessionProfile;
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Construction.
|
// Construction.
|
||||||
@@ -37,7 +38,7 @@ namespace Sarand.PatientMgr.App
|
|||||||
Spm.Site Site = EnumUtil.ParseEnum(properties.GetPropertyValue("Config", "Site"), Spm.Site.Unknown);
|
Spm.Site Site = EnumUtil.ParseEnum(properties.GetPropertyValue("Config", "Site"), Spm.Site.Unknown);
|
||||||
|
|
||||||
// Default logger properties.
|
// Default logger properties.
|
||||||
Logger.LogFilenamePrefix = "SPM-Desktop";
|
Logger.LogFilenamePrefix = "SPM-DSK";
|
||||||
Logger.LogFolder = properties.GetPropertyValue("Logging", "Folder");
|
Logger.LogFolder = properties.GetPropertyValue("Logging", "Folder");
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
Logger.ConsoleLevel = SaMessageLevel.Trace;
|
Logger.ConsoleLevel = SaMessageLevel.Trace;
|
||||||
@@ -92,16 +93,16 @@ namespace Sarand.PatientMgr.App
|
|||||||
SpmGlobals.Application = new SpmApplication_Desktop(properties, SessionContext, database);
|
SpmGlobals.Application = new SpmApplication_Desktop(properties, SessionContext, database);
|
||||||
|
|
||||||
// Session profile.
|
// Session profile.
|
||||||
SpmSessionProfile_Desktop sessionProfile = new SpmSessionProfile_Desktop();
|
sessionProfile = new SpmSessionProfile_Desktop(SessionContext);
|
||||||
SpmGlobals_Win.SessionProfile = sessionProfile;
|
SpmGlobals_Win.SessionProfile = sessionProfile;
|
||||||
}
|
}
|
||||||
private SacsDatabase OpenDatabase ()
|
private SacsDatabase OpenDatabase ()
|
||||||
{
|
{
|
||||||
SacsDatabaseConsole.OdbcConfig config = new SacsDatabaseConsole.OdbcConfig();
|
SacsDatabaseConsole.OdbcConfig config = new SacsDatabaseConsole.OdbcConfig();
|
||||||
config.location = properties.GetPropertyValue("Database", "Location");
|
config.location = properties.GetPropertyValue("Scheduling", "DataSource");
|
||||||
config.user = properties.GetPropertyValue("Database", "User");
|
config.user = properties.GetPropertyValue("Scheduling", "DataUser");
|
||||||
config.pword = properties.GetPropertyValue("Database", "Pword");
|
config.pword = properties.GetPropertyValue("Scheduling", "DataPword");
|
||||||
Logger.Trace("BusinessMgrApp OpenDatabase Location=" + config.location);
|
Logger.Trace("PatientMgrApp OpenDatabase Location=" + config.location);
|
||||||
|
|
||||||
SacsDatabase database = SacsDatabaseConsole.OpenOdbcDatabase(config);
|
SacsDatabase database = SacsDatabaseConsole.OpenOdbcDatabase(config);
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ using Sarand.Win.Dbas.Base;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Sarand.PatientMgr.App.Consoles;
|
||||||
|
using Sarand.Core.Security;
|
||||||
|
using Sarand.Core.ItemOptions;
|
||||||
|
using Sarand.Core.UpdateLog;
|
||||||
|
|
||||||
namespace Sarand.PatientMgr.App
|
namespace Sarand.PatientMgr.App
|
||||||
{
|
{
|
||||||
@@ -36,13 +40,63 @@ namespace Sarand.PatientMgr.App
|
|||||||
{
|
{
|
||||||
return Database;
|
return Database;
|
||||||
}
|
}
|
||||||
//public override bool ColumnExists (SbmSessionContext sessionContext, SbmDbDfn.ColumnIdx columnIdx)
|
public override bool ColumnExists (SpmSessionContext sessionContext, SpmDbDfn.ColumnIdx columnIdx)
|
||||||
|
{
|
||||||
|
ISacsDatabase database = GetDatabase(sessionContext);
|
||||||
|
if (database != null)
|
||||||
|
return database.ColumnExists(SpmDbDfn.GetTableName(SpmDbDfn.GetTableForColumn(columnIdx)), SpmDbDfn.GetColumnName(columnIdx));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Security console.
|
||||||
|
private SpmSecurityConsole_App securityConsole;
|
||||||
|
public override SaSecurityConsole GetSecurityConsole (SpmSessionContext sessionContext)
|
||||||
|
{
|
||||||
|
if (securityConsole == null)
|
||||||
|
{
|
||||||
|
securityConsole = new SpmSecurityConsole_App(SessionContext, Database);
|
||||||
|
securityConsole.LogSecurityProfile = SpmGlobals.System.IsExtendedLogging(SpmSystem.ExtendedLogginOption.SecurityProfile);
|
||||||
|
securityConsole.RegisterSecurityRights();
|
||||||
|
}
|
||||||
|
return securityConsole;
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Code Type console.
|
// Code Type console.
|
||||||
public override SaCodeTypeConsole GetCodeTypeConsole (SpmUserContext userContext)
|
private SpmCodeTypeConsole_App codeTypeConsole;
|
||||||
|
public override SaCodeTypeConsole GetCodeTypeConsole (SpmSessionContext sessionContext)
|
||||||
{
|
{
|
||||||
return null;
|
if (codeTypeConsole == null)
|
||||||
|
{
|
||||||
|
codeTypeConsole = new SpmCodeTypeConsole_App(SessionContext, Database);
|
||||||
|
SpmSystem.RegisterCodeTypes(codeTypeConsole, SessionContext.Site);
|
||||||
|
}
|
||||||
|
return codeTypeConsole;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Item option console.
|
||||||
|
private SpmItemOptionConsole_App itemOptionConsole;
|
||||||
|
public override SaItemOptionConsole GetItemOptionConsole (SpmSessionContext sessionContext)
|
||||||
|
{
|
||||||
|
if (itemOptionConsole == null)
|
||||||
|
{
|
||||||
|
itemOptionConsole = new SpmItemOptionConsole_App(SessionContext, Database);
|
||||||
|
}
|
||||||
|
return itemOptionConsole;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// Update Log console.
|
||||||
|
private SpmUpdateLogConsole_App updateLogConsole;
|
||||||
|
public override SaUpdateLogConsole GetUpdateLogConsole (SpmSessionContext sessionContext)
|
||||||
|
{
|
||||||
|
if (updateLogConsole == null)
|
||||||
|
{
|
||||||
|
updateLogConsole = new SpmUpdateLogConsole_App(SessionContext, Database);
|
||||||
|
}
|
||||||
|
return updateLogConsole;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Sarand.PatientMgr.Win.Forms.App;
|
using Sarand.PatientMgr.Core.App;
|
||||||
|
using Sarand.PatientMgr.Win.Forms.App;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -18,7 +19,8 @@ namespace Sarand.PatientMgr.App
|
|||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
// Construction.
|
// Construction.
|
||||||
public SpmSessionProfile_Desktop ()
|
public SpmSessionProfile_Desktop (SpmSessionContext sessionContext) :
|
||||||
|
base(sessionContext)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,10 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="App\Consoles\SpmCodeTypeConsole_App.cs" />
|
||||||
|
<Compile Include="App\Consoles\SpmItemOptionConsole_App.cs" />
|
||||||
|
<Compile Include="App\Consoles\SpmSecurityConsole_App.cs" />
|
||||||
|
<Compile Include="App\Consoles\SpmUpdateLogConsole_App.cs" />
|
||||||
<Compile Include="App\Forms\SaPatientMgrForm.cs">
|
<Compile Include="App\Forms\SaPatientMgrForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -60,6 +64,9 @@
|
|||||||
<Compile Include="App\SpmSessionContext_Desktop.cs" />
|
<Compile Include="App\SpmSessionContext_Desktop.cs" />
|
||||||
<Compile Include="App\SpmSessionProfile_Desktop.cs" />
|
<Compile Include="App\SpmSessionProfile_Desktop.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="App\Forms\SaPatientMgrForm.resx">
|
||||||
|
<DependentUpon>SaPatientMgrForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Properties\Resources.resx">
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
@@ -84,7 +91,6 @@
|
|||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="App\Consoles\" />
|
|
||||||
<Folder Include="App\Panels\" />
|
<Folder Include="App\Panels\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user