Add project files.

This commit is contained in:
Andy Howard
2021-05-05 15:36:28 +01:00
parent 949836d24c
commit a4cf706eb3
353 changed files with 60029 additions and 0 deletions
@@ -0,0 +1,265 @@
using System;
using System.Collections.Generic;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.UpdateLog;
namespace Sarand.Net.Standard.Base.ReferenceData
{
//=====================================================================
// R e f e r e n c e D a t a
//=====================================================================
// Reference data item types.
public enum ReferenceDataItemType
{
Unknown = 0,
Language,
Region,
Currency,
TaxCode,
UnitMeasure,
}
//-------------------------------------------------------------------
// Reference data code types.
public enum ReferenceDataSystemCode
{
RegionType,
CurrencyCode,
TaxCodeType,
TaxCodeColumn,
UnitMeasureCategory,
UnitMeasureType,
}
//-------------------------------------------------------------------
// Region types.
public enum SaRegionType
{
Unknown = 0,
Continent, // 'CON'
Country, // 'COU'
Province, // 'PRO'
Town, // 'TWN'
};
//-------------------------------------------------------------------
// Currency code.
public enum SaCurrencyCode
{
Unknown = 0,
Sterling,
Euro,
};
//-------------------------------------------------------------------
// Tax code - with Sage equivalent.
public enum SaTaxCodeType
{
Zero, // 'T0'
Std, // 'T1'
Exempt, // 'T2' or 'T3'
};
//-------------------------------------------------------------------
// Tax code column.
public enum SaTaxCodeColumn
{
Unknown = 0,
Code = 10,
CodeAlt1,
CodeAlt2,
};
//-------------------------------------------------------------------
// NB Do not change these values - they are tied to the database.
public enum SaUomCategory
{
/// <summary>Allows all UOM categories, eg. in combobox.</summary>
Any = -1,
/// <summary>UOM category is not defined. Allows any in filters, but none in combobox.</summary>
Unknown = 0,
Time = 1,
Pack = 2,
Weight = 3,
Length = 4,
Area = 5,
Volume = 6,
Density = 7,
/// <summary>'BOX' - types of container, eg. box, pallet.</summary>
Box = 8,
};
//-------------------------------------------------------------------
// NB Do not change these values - they are tied to the database.
public enum SaUomType
{
Any = -1,
Unknown = 0,
// Time units.
Time_Second = 100,
Time_Minute = 101,
Time_Hour = 102,
Time_Day = 110,
Time_WorkingDay = 111,
Time_Week = 120,
Time_WorkingWeek = 121,
Time_Fortnight = 122,
Time_Month = 140,
Time_Quarter = 141,
Time_Year = 142,
// Pack units.
Pack_Each = 200,
Pack_Set = 201,
// Weight units.
Weight_Gram = 300,
Weight_Kilogram = 301,
Weight_Tonne = 302,
// Length units.
Length_Metre = 400,
Length_Kilometre = 401,
// Area units.
Length_SquareMetre = 500,
Length_Hectare = 501,
Length_Acre = 590,
// Volume units.
Volume_Litre = 600,
Volume_CubicMetre = 601,
// Density units.
Density_KilogramsPerCubicMetre = 700,
Density_GramsPerCubicCentimeter = 701,
// Box units.
Box_Box = 800,
Box_Carton = 801,
Box_Pallet = 802,
};
//=======================================================================
public abstract partial class SaReferenceDataConsole : SaErrorStateItem
{
//-------------------------------------------------------------------
// Definitions.
//-------------------------------------------------------------------
// Data members.
private static List<TypeCodeDesc> regionTypes;
private static List<TypeCodeDesc> currencyCodes;
private static List<TypeCodeDesc> taxCodeTypes;
private static List<TypeCodeDesc> taxCodeColumns;
private static List<TypeCodeDesc> unitMeasureCategories;
private static List<TypeCodeDesc> unitMeasureTypes;
//-------------------------------------------------------------------
// Static initialisation.
static SaReferenceDataConsole ()
{
}
//-------------------------------------------------------------------
// Construction.
protected SaReferenceDataConsole ()
{
}
//-------------------------------------------------------------------
// Properties.
public abstract SaUpdateLogConsole UpdateLogConsole { get; }
// Database.
public abstract bool CanUpdateDatabase { get; }
//---------------------------------------------------------------
// Manage reference data - displays dialog.
public abstract bool ManageReferenceData (bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo);
//---------------------------------------------------------------
// Reference data codes.
public static List<TypeCodeDesc> GetReferenceDataCodes (ReferenceDataSystemCode systemCode)
{
switch (systemCode)
{
case ReferenceDataSystemCode.RegionType:
if (regionTypes == null)
{
regionTypes = new List<TypeCodeDesc>();
regionTypes.Add(SaRegionType.Continent, "CON", "Continent");
regionTypes.Add(SaRegionType.Country, "COU", "Country");
regionTypes.Add(SaRegionType.Province, "PRO", "Province");
regionTypes.Add(SaRegionType.Town, "TWN", "Town");
}
return new List<TypeCodeDesc>(regionTypes);
case ReferenceDataSystemCode.CurrencyCode:
if (currencyCodes == null)
{
currencyCodes = new List<TypeCodeDesc>();
currencyCodes.Add(SaCurrencyCode.Sterling, "GBP", "GBP");
currencyCodes.Add(SaCurrencyCode.Euro, "EUR", "EUR");
}
return new List<TypeCodeDesc>(currencyCodes);
case ReferenceDataSystemCode.TaxCodeType:
if (taxCodeTypes == null)
{
taxCodeTypes = new List<TypeCodeDesc>();
taxCodeTypes.Add(SaTaxCodeType.Zero, "ZERO", "Zero");
taxCodeTypes.Add(SaTaxCodeType.Std, "STD", "Standard");
taxCodeTypes.Add(SaTaxCodeType.Exempt, "EXEMPT", "Exempt");
}
return new List<TypeCodeDesc>(taxCodeTypes);
case ReferenceDataSystemCode.TaxCodeColumn:
if (taxCodeColumns == null)
{
taxCodeColumns = new List<TypeCodeDesc>();
taxCodeColumns.Add(SaTaxCodeColumn.Code, SaReferenceDataDbDfn.GetColumnName(SaReferenceDataDbDfn.ColumnIdx.TaxCode_Code, false), "Tax code");
taxCodeColumns.Add(SaTaxCodeColumn.CodeAlt1, SaReferenceDataDbDfn.GetColumnName(SaReferenceDataDbDfn.ColumnIdx.TaxCode_CodeAlt1, false), "Alt. tax code 1");
taxCodeColumns.Add(SaTaxCodeColumn.CodeAlt2, SaReferenceDataDbDfn.GetColumnName(SaReferenceDataDbDfn.ColumnIdx.TaxCode_CodeAlt2, false), "Alt. tax code 2");
}
return new List<TypeCodeDesc>(taxCodeColumns);
case ReferenceDataSystemCode.UnitMeasureCategory:
if (unitMeasureCategories == null)
{
unitMeasureCategories = new List<TypeCodeDesc>();
unitMeasureCategories.Add(SaUomCategory.Time, "TIM", "Time");
unitMeasureCategories.Add(SaUomCategory.Pack, "PCK", "Pack");
unitMeasureCategories.Add(SaUomCategory.Weight, "WEI", "Weight");
unitMeasureCategories.Add(SaUomCategory.Length, "LEN", "Length");
unitMeasureCategories.Add(SaUomCategory.Area, "ARE", "Area");
unitMeasureCategories.Add(SaUomCategory.Volume, "VOL", "Volume");
unitMeasureCategories.Add(SaUomCategory.Density, "DEN", "Density");
unitMeasureCategories.Add(SaUomCategory.Box, "BOX", "Box (container)");
}
return new List<TypeCodeDesc>(unitMeasureCategories);
case ReferenceDataSystemCode.UnitMeasureType:
if (unitMeasureTypes == null)
{
unitMeasureTypes = new List<TypeCodeDesc>();
unitMeasureTypes.Add(SaUomType.Time_Second, "SEC", "Second");
unitMeasureTypes.Add(SaUomType.Time_Minute, "MIN", "Minute");
unitMeasureTypes.Add(SaUomType.Time_Hour, "HR", "Hour");
unitMeasureTypes.Add(SaUomType.Time_Day, "DAY", "Day");
unitMeasureTypes.Add(SaUomType.Time_WorkingDay, "WDAY", "Working day");
unitMeasureTypes.Add(SaUomType.Time_Week, "WK", "Week");
unitMeasureTypes.Add(SaUomType.Time_WorkingWeek, "WWK", "Working week");
unitMeasureTypes.Add(SaUomType.Time_Fortnight, "FNT", "Fortnight");
unitMeasureTypes.Add(SaUomType.Time_Month, "MTH", "Month");
unitMeasureTypes.Add(SaUomType.Time_Quarter, "QTR", "Quarter");
unitMeasureTypes.Add(SaUomType.Time_Year, "YR", "Year");
unitMeasureTypes.Add(SaUomType.Pack_Each, "EACH", "Each");
unitMeasureTypes.Add(SaUomType.Pack_Set, "SET", "Set");
unitMeasureTypes.Add(SaUomType.Weight_Gram, "GRM", "Gram");
unitMeasureTypes.Add(SaUomType.Weight_Kilogram, "KG", "Kilogram");
unitMeasureTypes.Add(SaUomType.Weight_Tonne, "TON", "Tonne");
unitMeasureTypes.Add(SaUomType.Length_Metre, "METRE", "Metre");
unitMeasureTypes.Add(SaUomType.Length_Kilometre, "KMET", "Kilometre");
unitMeasureTypes.Add(SaUomType.Length_SquareMetre, "SQMET", "Square metre");
unitMeasureTypes.Add(SaUomType.Length_Hectare, "HECT", "Hectare");
unitMeasureTypes.Add(SaUomType.Length_Acre, "ACRE", "Acre");
unitMeasureTypes.Add(SaUomType.Volume_Litre, "LITRE", "Litre");
unitMeasureTypes.Add(SaUomType.Volume_CubicMetre, "CUBMET", "Cubic metre");
unitMeasureTypes.Add(SaUomType.Density_KilogramsPerCubicMetre, "KPCMET", "Kg/m3");
unitMeasureTypes.Add(SaUomType.Density_GramsPerCubicCentimeter, "GPCCMET", "g/cm3");
unitMeasureTypes.Add(SaUomType.Box_Box, "BOX", "Box");
unitMeasureTypes.Add(SaUomType.Box_Carton, "CARTON", "Carton");
unitMeasureTypes.Add(SaUomType.Box_Pallet, "PALLET", "Pallet");
}
return new List<TypeCodeDesc>(unitMeasureTypes);
}
throw new NotSupportedException(typeof(SaReferenceDataConsole).Name + ".GetReferenceDataCodes Invalid code type specified: " + systemCode.ToString());
}
//-------------------------------------------------------------------
}
//=======================================================================
}