using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace JGCreateDataClasses
{
internal class JNETTypes
{
private int m_RecordNumber;
private string m_LastUpdated;
private String m_NETType = "None";
private String m_CSType;
private Int32 m_TypeID;
// Bare constructor
internal JNETTypes()
{
this.m_RecordNumber = 0;
}
// Constructor from key field number
internal JNETTypes(int recordNumber)
{
JNETTypesUpdater.GetRecord(recordNumber, this);
}
// Constructor from string override
internal JNETTypes(String nETType)
{
JNETTypesUpdater.GetRecord(nETType, this);
}
// String override for main class - must be public
public override string ToString()
{
return this.m_NETType;
}
// Lightweight class for adding to ListView, Combo etc
// Contains the Key field and string override
internal class JNETTypesIndexData
{
internal int RecordNumber;
internal string NETType = "None";
internal JNETTypesIndexData()
{
}
internal JNETTypesIndexData(JNETTypes nETTypes)
{
this.RecordNumber = nETTypes.RecordNumber;
this.NETType = nETTypes.NETType;
}
// String override for index data - must be public
public override string ToString()
{
return this.NETType;
}
}
#region Public Properties
internal int RecordNumber
{
get { return this.m_RecordNumber; }
set { this.m_RecordNumber = value; }
}
internal string LastUpdated
{
get { return this.m_LastUpdated; }
set { this.m_LastUpdated = value; }
}
internal String NETType
{
get { return this.m_NETType; }
set { this.m_NETType = value; }
}
internal String CSType
{
get { return this.m_CSType; }
set { this.m_CSType = value; }
}
internal Int32 TypeID
{
get { return this.m_TypeID; }
set { this.m_TypeID = value; }
}
#endregion
#region Additional Fields
// Calculated Fields - NB These are not saved in the database
#endregion
}
#region Updater Class
// Steers calls to appropriate updater
static class JNETTypesUpdater
{
// AddRecord
internal static int AddRecord(JNETTypes nETTypes)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.AddRecord(nETTypes);
else
return JNETTypesUDSQLite.AddRecord(nETTypes);
}
// Returns all index data in a List
internal static List<JNETTypes.JNETTypesIndexData> AllIndexData()
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.AllIndexData();
else
return JNETTypesUDSQLite.AllIndexData();
}
// Returns all records in a List
internal static List<JNETTypes> AllRecords()
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.AllRecords();
else
return JNETTypesUDSQLite.AllRecords();
}
// Returns all records in a List
internal static List<JNETTypes> AllRecords(string sortField)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.AllRecords(sortField);
else
return JNETTypesUDSQLite.AllRecords(sortField);
}
// DeleteRecord
internal static bool DeleteRecord(JNETTypes nETTypes)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.DeleteRecord(nETTypes);
else
return JNETTypesUDSQLite.DeleteRecord(nETTypes);
}
// GetField
internal static object GetField(int recordNumber, string fieldName)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.GetField(recordNumber, fieldName);
else
return JNETTypesUDSQLite.GetField(recordNumber, fieldName);
}
// GetRecord (From Key Field)
internal static void GetRecord(int recordNumber, JNETTypes nETTypes)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
JNETTypesUDAC.GetRecord(recordNumber, nETTypes);
else
JNETTypesUDSQLite.GetRecord(recordNumber, nETTypes);
}
// GetRecord (From string Override)
internal static void GetRecord(string nETType, JNETTypes nETTypes)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
JNETTypesUDAC.GetRecord(nETType, nETTypes);
else
JNETTypesUDSQLite.GetRecord(nETType, nETTypes);
}
// UpdateField
internal static bool UpdateField(int recordNumber, string fieldName, object value)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.UpdateField(recordNumber, fieldName, value);
else
return JNETTypesUDSQLite.UpdateField(recordNumber, fieldName, value);
}
internal static bool UpdateRecord(JNETTypes nETTypes)
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesUDAC.UpdateRecord(nETTypes);
else
return JNETTypesUDSQLite.UpdateRecord(nETTypes);
}
}
#endregion
#region Additional Functions Class
static class JNETTypesFunctions
{
internal static Dictionary<string, int> GetNETTypesDictionary()
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesFunctionsAC.GetNETTypesDictionary();
else
return JNETTypesFunctionsSQLite.GetNETTypesDictionary();
}
internal static Dictionary<string, int> GetCSTypesDictionary()
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesFunctionsAC.GetCSTypesDictionary();
else
return JNETTypesFunctionsSQLite.GetCSTypesDictionary();
}
internal static Dictionary<string, int> GetCSTypesDictionaryToUpper()
{
if (JCommon.ProjectDataType == JCommon.ClassDataTypes.ADONET)
return JNETTypesFunctionsAC.GetCSTypesDictionaryToUpper();
else
return JNETTypesFunctionsSQLite.GetCSTypesDictionaryToUpper();
}
}
#endregion
}