diff --git a/SacsCoreWeb/Web/Components/SaModel.cs b/SacsCoreWeb/Web/Components/SaModel.cs index 6e35014..82ced31 100644 --- a/SacsCoreWeb/Web/Components/SaModel.cs +++ b/SacsCoreWeb/Web/Components/SaModel.cs @@ -4,10 +4,6 @@ using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static Sarand.Net.Standard.Base.Bus.SaErrorStateItem; namespace Sacs.Web.Components { diff --git a/SacsStandardBase/Base/CodeTypes/SaCode.cs b/SacsStandardBase/Base/CodeTypes/SaCode.cs index 7a5e1fd..79fd0b7 100644 --- a/SacsStandardBase/Base/CodeTypes/SaCode.cs +++ b/SacsStandardBase/Base/CodeTypes/SaCode.cs @@ -3,6 +3,7 @@ using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; +using System.Linq; namespace Sarand.Net.Standard.Base.CodeTypes { @@ -56,7 +57,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes // Data members. private readonly DataProperties data = new DataProperties(); // Construction. - public Data () + public Data() { Status = DefaultStatus; } @@ -87,7 +88,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes set { CheckChanged(data.DataValue, value); data.DataValue = value; } } // Population. - internal void PopulateFrom (Data data) + internal void PopulateFrom(Data data) { CodeTypeId = data.CodeTypeId; Code = data.Code; @@ -96,7 +97,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes DataValue = data.DataValue; base.PopulateFrom(data); } - public Data Clone () + public Data Clone() { Data data = new Data(); data.PopulateFrom(this); @@ -123,7 +124,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes //------------------------------------------------------------------- // Construction. - public SaCode (SysId id, SysId codeTypeId, string code) : + public SaCode(SysId id, SysId codeTypeId, string code) : base(id) { base.SetData(data); @@ -143,7 +144,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes public static SaStatus ActiveStatus { get { return SaStatus.Current; } } public static SaStatus InactiveStatus { get { return SaStatus.Redundant; } } public static List ValidStatuses { get { return new List(validStatuses); } } - public static DataValue.TriStateType GetStatusTriState (SaStatus status) + public static DataValue.TriStateType GetStatusTriState(SaStatus status) { switch (status) { @@ -159,8 +160,8 @@ namespace Sarand.Net.Standard.Base.CodeTypes //------------------------------------------------------------------- // Properties. - public Data GetData () { return data.Clone(); } - public void SetData (Data data) + public Data GetData() { return data.Clone(); } + public void SetData(Data data) { // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) @@ -218,7 +219,7 @@ namespace Sarand.Net.Standard.Base.CodeTypes public HashSet CodeTypeIds { get; } = new HashSet(); public HashSet CodeTypeCodes { get; } = new HashSet(); /// Generic search - code, description etc. - public string Search{ get; set; } + public string Search { get; set; } public string Code { get; set; } public string CodePartial { get; set; } public string Desc { get; set; } @@ -233,24 +234,24 @@ namespace Sarand.Net.Standard.Base.CodeTypes public static class SaCodeList { // Contents. - public static bool ContainsCode (this List codes, String code, bool currentOnly = true) + public static bool ContainsCode(this List codes, String code, bool currentOnly = true) { if (StringUtil.IsEmpty(code)) return false; - return codes.Exists(item => item.Code.EqualsCI(code) && (!currentOnly || item.IsStatusCurrent)); + return codes.Any(item => item.Code.EqualsCI(code) && (!currentOnly || item.IsStatusCurrent)); } // Retrieve code. - public static SaCode GetCodeById (this List codes, SysId id) + public static SaCode GetCodeById(this List codes, SysId id) { return codes.Find(item => item.Id.Equals(id)); } - public static SaCode GetCodeByCode (this List codes, string code) + public static SaCode GetCodeByCode(this List codes, string code) { return codes.Find(item => item.Code.EqualsCI(code)); } // Retrieve code's description. - public static string GetDescForCode (this List codes, string code, String defaultDesc = "") + public static string GetDescForCode(this List codes, string code, String defaultDesc = "") { SaCode saCode = codes.Find(item => item.Code.EqualsCI(code)); if (saCode != null) diff --git a/SacsStandardBase/Base/Interfaces/SaInterface.cs b/SacsStandardBase/Base/Interfaces/SaInterface.cs index 756c6b1..9b31169 100644 --- a/SacsStandardBase/Base/Interfaces/SaInterface.cs +++ b/SacsStandardBase/Base/Interfaces/SaInterface.cs @@ -225,11 +225,11 @@ namespace Sarand.Net.Standard.Base.Interfaces /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); public String Context { get; set; } public SaInterfaceCategory InterfaceCategory { get; set; } = SaInterfaceCategory.Unknown; - public List IncludedInterfaceTypes { get; } = new List(); + public HashSet InterfaceTypesIncluded { get; } = new HashSet(); /// Exact code match public String Code { get; set; } public String CaptionPartial { get; set; } diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs b/SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs index bed02c2..6a648d1 100644 --- a/SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs +++ b/SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs @@ -349,12 +349,12 @@ namespace Sarand.Net.Standard.Base.Interfaces /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); public SysId InterfaceId { get; set; } public SaInterfaceProcessDirection Direction { get; set; } = SaInterfaceProcessDirection.Unknown; public short ItemType { get; set; } - public List IncludedItemIds { get; } = new List(); + public HashSet ItemIdsIncluded { get; } = new HashSet(); public String ExternalReference { get; set; } public ProcessStatusCat ProcessStatusCat { get; set; } = ProcessStatusCat.Any; public ItemStatusCat ItemStatusCat { get; set; } = ItemStatusCat.Any; diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs b/SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs index e79e03f..f61d16c 100644 --- a/SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs +++ b/SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs @@ -72,7 +72,7 @@ namespace Sarand.Net.Standard.Base.Interfaces // Data members. private readonly DataProperties data = new DataProperties(); // Construction. - public Data () + public Data() { Status = DefaultStatus; } @@ -113,7 +113,7 @@ namespace Sarand.Net.Standard.Base.Interfaces set { CheckChanged(data.ElapseSecs, value); data.ElapseSecs = value; } } // Population. - internal void PopulateFrom (Data data) + internal void PopulateFrom(Data data) { InterfaceId = data.InterfaceId; Direction = data.Direction; @@ -124,7 +124,7 @@ namespace Sarand.Net.Standard.Base.Interfaces ElapseSecs = data.ElapseSecs; base.PopulateFrom(data); } - public Data Clone () + public Data Clone() { Data data = new Data(); data.PopulateFrom(this); @@ -154,7 +154,7 @@ namespace Sarand.Net.Standard.Base.Interfaces //------------------------------------------------------------------- // Construction. - public SaInterfaceProcess (SysId id, SysId interfaceId, SaInterfaceProcessDirection direction, String reference, int sequence) : + public SaInterfaceProcess(SysId id, SysId interfaceId, SaInterfaceProcessDirection direction, String reference, int sequence) : base(id) { base.SetData(data); @@ -180,7 +180,7 @@ namespace Sarand.Net.Standard.Base.Interfaces public static SaStatus CompletedStatus { get { return SaStatus.Completed; } } public static SaStatus CancelledStatus { get { return SaStatus.Cancelled; } } public static List ValidStatuses { get { return new List(validStatuses); } } - public static DataValue.TriStateType GetStatusTriState (SaStatus status) + public static DataValue.TriStateType GetStatusTriState(SaStatus status) { switch (status) { @@ -200,8 +200,8 @@ namespace Sarand.Net.Standard.Base.Interfaces //------------------------------------------------------------------- // Properties. - public Data GetData () { return data.Clone(); } - public void SetData (Data data) + public Data GetData() { return data.Clone(); } + public void SetData(Data data) { // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) @@ -270,18 +270,18 @@ namespace Sarand.Net.Standard.Base.Interfaces /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); - public SysId InterfaceId { get; set; } + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); + public SysId InterfaceId { get; set; } public SaInterfaceProcessDirection Direction { get; set; } = SaInterfaceProcessDirection.Unknown; - public String Reference { get; set; } - public String ReferencePartial { get; set; } - public DateTime ProcessedOn { get; set; } = DateTime.MinValue; - public DateTime ProcessedFrom { get; set; } = DateTime.MinValue; - public DateTime ProcessedTo { get; set; } = DateTime.MinValue; - public String MessageText { get; set; } - public String MessageTextPartial { get; set; } - public StatusCat StatusCat { get; set; } = StatusCat.Any; + public String Reference { get; set; } + public String ReferencePartial { get; set; } + public DateTime ProcessedOn { get; set; } = DateTime.MinValue; + public DateTime ProcessedFrom { get; set; } = DateTime.MinValue; + public DateTime ProcessedTo { get; set; } = DateTime.MinValue; + public String MessageText { get; set; } + public String MessageTextPartial { get; set; } + public StatusCat StatusCat { get; set; } = StatusCat.Any; } //------------------------------------------------------------------- diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs b/SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs index 0b8488f..5aec3a5 100644 --- a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs +++ b/SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs @@ -181,10 +181,10 @@ namespace Sarand.Net.Standard.Base.Interfaces /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); public SysId InterfaceProcessId { get; } = null; - public List IncludedItemIds { get; } = new List(); + public HashSet ItemIdsIncluded { get; } = new HashSet(); public StatusCat StatusCat { get; set; } = StatusCat.Any; } diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs b/SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs index efdc767..8446e42 100644 --- a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs +++ b/SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs @@ -55,7 +55,7 @@ namespace Sarand.Net.Standard.Base.Interfaces // Data members. private readonly DataProperties data = new DataProperties(); // Construction. - public Data () + public Data() { Status = DefaultStatus; } @@ -91,7 +91,7 @@ namespace Sarand.Net.Standard.Base.Interfaces set { if (value == null) value = new ItemId(); CheckChanged(data.ItemId, value); data.ItemId = value; } } // Population. - internal void PopulateFrom (Data data) + internal void PopulateFrom(Data data) { InterfaceProcessId = data.InterfaceProcessId; Level = data.Level; @@ -101,7 +101,7 @@ namespace Sarand.Net.Standard.Base.Interfaces ItemId = data.ItemId; base.PopulateFrom(data); } - public Data Clone () + public Data Clone() { Data data = new Data(); data.PopulateFrom(this); @@ -130,7 +130,7 @@ namespace Sarand.Net.Standard.Base.Interfaces //------------------------------------------------------------------- // Construction. - public SaInterfaceProcessMessage (SysId id, SysId interfaceProcessId) : + public SaInterfaceProcessMessage(SysId id, SysId interfaceProcessId) : base(id) { base.SetData(data); @@ -147,7 +147,7 @@ namespace Sarand.Net.Standard.Base.Interfaces public static SaStatus DefaultStatus { get { return CompletedStatus; } } public static SaStatus CompletedStatus { get { return SaStatus.Completed; } } public static List ValidStatuses { get { return new List(validStatuses); } } - public static DataValue.TriStateType GetStatusTriState (SaStatus status) + public static DataValue.TriStateType GetStatusTriState(SaStatus status) { switch (status) { @@ -161,8 +161,8 @@ namespace Sarand.Net.Standard.Base.Interfaces //------------------------------------------------------------------- // Properties. - public Data GetData () { return data.Clone(); } - public void SetData (Data data) + public Data GetData() { return data.Clone(); } + public void SetData(Data data) { // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) @@ -218,10 +218,10 @@ namespace Sarand.Net.Standard.Base.Interfaces /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); - public SysId InterfaceProcessId { get; set; } = new SysId(); - public List IncludedItemIds { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); + public SysId InterfaceProcessId { get; set; } = new SysId(); + public HashSet ItemIdsIncluded { get; } = new HashSet(); public StatusCat StatusCat { get; set; } = StatusCat.Any; } diff --git a/SacsStandardBase/Base/ItemData/SaItemData.cs b/SacsStandardBase/Base/ItemData/SaItemData.cs index f667791..c65cd0e 100644 --- a/SacsStandardBase/Base/ItemData/SaItemData.cs +++ b/SacsStandardBase/Base/ItemData/SaItemData.cs @@ -193,10 +193,10 @@ namespace Sarand.Net.Standard.Base.ItemData /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); - public List IncludedItemIds { get; } = new List(); - public List IncludedDataTypes { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); + public HashSet ItemIdsIncluded { get; } = new HashSet(); + public HashSet DataTypesIncluded { get; } = new HashSet(); public StatusCat StatusCat { get; set; } = StatusCat.NotDeleted; } diff --git a/SacsStandardBase/Base/ItemDocs/SaItemDoc.cs b/SacsStandardBase/Base/ItemDocs/SaItemDoc.cs index eb866d2..43b958e 100644 --- a/SacsStandardBase/Base/ItemDocs/SaItemDoc.cs +++ b/SacsStandardBase/Base/ItemDocs/SaItemDoc.cs @@ -277,9 +277,9 @@ namespace Sarand.Net.Standard.Base.ItemDocs /// public new class Params : SacsHierarchyItem.Params { - public List IncludedIds { get; } = new List(); - public List ExcludedIds { get; } = new List(); - public List IncludedItemIds { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); + public HashSet ItemIdsIncluded { get; } = new HashSet(); public SaItemDocConsole.Category Category { get; set; } public String DocType { get; set; } public String DescBriefPartial { get; set; } diff --git a/SacsStandardBase/Base/Procs/SaProcess_Base.cs b/SacsStandardBase/Base/Procs/SaProcess_Base.cs index 391d5da..db41438 100644 --- a/SacsStandardBase/Base/Procs/SaProcess_Base.cs +++ b/SacsStandardBase/Base/Procs/SaProcess_Base.cs @@ -1,15 +1,11 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging.Abstractions; -using Sarand.Net.Standard.Base.App; +using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Tasks; using Sarand.Net.Standard.Base.Utils; -using static Sarand.Net.Standard.Base.Procs.SaProcess_Base; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; namespace Sarand.Net.Standard.Base.Procs { diff --git a/SacsStandardBase/Base/ReferenceData/SaCurrency.cs b/SacsStandardBase/Base/ReferenceData/SaCurrency.cs index 439fa9b..2e5aa80 100644 --- a/SacsStandardBase/Base/ReferenceData/SaCurrency.cs +++ b/SacsStandardBase/Base/ReferenceData/SaCurrency.cs @@ -263,8 +263,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData public new class Params : SacsHierarchyItem.Params { // List filtering. - public List IdsIncluded { get; } = new List(); - public List IdsExcluded { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); // Currency. public String Code { get; set; } public String CodePartial { get; set; } diff --git a/SacsStandardBase/Base/ReferenceData/SaLanguage.cs b/SacsStandardBase/Base/ReferenceData/SaLanguage.cs index ba43db0..3c4a774 100644 --- a/SacsStandardBase/Base/ReferenceData/SaLanguage.cs +++ b/SacsStandardBase/Base/ReferenceData/SaLanguage.cs @@ -185,8 +185,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData public new class Params : SacsHierarchyItem.Params { // List filtering. - public List IdsIncluded { get; } = new List(); - public List IdsExcluded { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); // Item properties. public String Code { get; set; } public String CodePartial { get; set; } diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs index 43bfda6..c45dd0f 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs @@ -7,12 +7,11 @@ using System.Text; namespace Sarand.Net.Standard.Base.ReferenceData { + //======================================================================= + // Reference Data Console - Currencies. //======================================================================= partial class SaReferenceDataConsole { - //******************************************************************* - // C u r r e n c i e s - //******************************************************************* // Properties. public abstract short CurrencyItemType { get; } public abstract String TableName_Currency { get; } diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs index 14c83f3..d648ee3 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs @@ -7,12 +7,11 @@ using System.Text; namespace Sarand.Net.Standard.Base.ReferenceData { + //======================================================================= + // Reference Data Console - Languages. //======================================================================= partial class SaReferenceDataConsole { - //******************************************************************* - // L a n g u a g e s - //******************************************************************* // Properties. public abstract short LanguageItemType { get; } public abstract String TableName_Language { get; } diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs index f44a032..ae2d124 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs @@ -7,20 +7,29 @@ using System.Text; namespace Sarand.Net.Standard.Base.ReferenceData { + //======================================================================= + // Reference Data Console - Regions. //======================================================================= partial class SaReferenceDataConsole { - //******************************************************************* - // R e g i o n s - //******************************************************************* + // Definitions. + public class RegionInitData + { + public SaRegionType Type { get; set; } = SaRegionType.Unknown; + public String Name { get; set; } = ""; + public String CurrencyCode { get; set; } = ""; + public SaRegionType ParentType { get; set; } = SaRegionType.Unknown; + public String ParentName { get; set; } = ""; + } + // Utilities. /// Return the valid parent type for the specified Region type. - public static SaRegionType ParentTypeFor (SaRegionType regionType) + public static SaRegionType ParentTypeFor(SaRegionType regionType) { return SaReferenceDataMgr.ParentTypeFor(regionType); } /// Return the valid subordinate Region type for the specified Region type. - public static SaRegionType SubordinateTypeFor (SaRegionType regionType) + public static SaRegionType SubordinateTypeFor(SaRegionType regionType) { return SaReferenceDataMgr.SubordinateTypeFor(regionType); } @@ -31,15 +40,15 @@ namespace Sarand.Net.Standard.Base.ReferenceData public abstract bool DatabaseIsValid_Region { get; } // Retrieve Region. - public abstract SaRegion GetRegion (SaRegion.Params prmRegion); + public abstract SaRegion GetRegion(SaRegion.Params prmRegion); // Region list. - public abstract ColumnDfn GetRegionColumnDfn (SaRegion.Column columnId, String caption = "", int width = 0); - public abstract List GetRegionQueryFilter (SaRegion.Params prm); - public abstract long GetRegionCount (SaRegion.Params prmRegion); - public abstract List GetRegionList (SaRegion.Params prmRegion); - public abstract DbResultSet ExecuteRegionQuery (List columns, SaRegion.Params prm); - public abstract DataValue GetRegionDataValue (ColumnDfn column, NamedValue.Map values); + public abstract ColumnDfn GetRegionColumnDfn(SaRegion.Column columnId, String caption = "", int width = 0); + public abstract List GetRegionQueryFilter(SaRegion.Params prm); + public abstract long GetRegionCount(SaRegion.Params prmRegion); + public abstract List GetRegionList(SaRegion.Params prmRegion); + public abstract DbResultSet ExecuteRegionQuery(List columns, SaRegion.Params prm); + public abstract DataValue GetRegionDataValue(ColumnDfn column, NamedValue.Map values); //------------------------------------------------------------------- } diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs index b4f6400..0617edd 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs @@ -7,12 +7,11 @@ using System.Text; namespace Sarand.Net.Standard.Base.ReferenceData { + //======================================================================= + // Reference Data Console - Tax codes. //======================================================================= partial class SaReferenceDataConsole { - //******************************************************************* - // T a x C o d e s - //******************************************************************* // Utilities. public static String GetTaxCode (SaTaxCodeType taxCode) { diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs index 0cc2cec..1c71fb8 100644 --- a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs +++ b/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs @@ -7,12 +7,11 @@ using System.Text; namespace Sarand.Net.Standard.Base.ReferenceData { + //======================================================================= + // Reference Data Console - Units of Measure. //======================================================================= partial class SaReferenceDataConsole { - //******************************************************************* - // U n i t s o f M e a s u r e - //******************************************************************* // Properties. public abstract short UnitMeasureItemType { get; } public abstract String TableName_UnitMeasure { get; } diff --git a/SacsStandardBase/Base/ReferenceData/SaRegion.cs b/SacsStandardBase/Base/ReferenceData/SaRegion.cs index 5817d2d..fa9a05c 100644 --- a/SacsStandardBase/Base/ReferenceData/SaRegion.cs +++ b/SacsStandardBase/Base/ReferenceData/SaRegion.cs @@ -178,8 +178,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData public new class Params : SacsHierarchyItem.Params { // List filtering. - public List IdsIncluded { get; } = new List(); - public List IdsExcluded { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); // Region. public SaRegionType RegionType { get; set; } = SaRegionType.Unknown; public String Name { get; set; } diff --git a/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs b/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs index f0fed71..eb10d62 100644 --- a/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs +++ b/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs @@ -279,8 +279,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData public new class Params : SacsHierarchyItem.Params { // List filtering. - public List IdsIncluded { get; } = new List(); - public List IdsExcluded { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); // Tax Code properties. public String Code { get; set; } public String CodePartial { get; set; } diff --git a/SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs b/SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs index b841b21..c0ef5e7 100644 --- a/SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs +++ b/SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs @@ -319,8 +319,8 @@ namespace Sarand.Net.Standard.Base.ReferenceData public new class Params : SacsHierarchyItem.Params { // List filtering. - public List IdsIncluded { get; } = new List(); - public List IdsExcluded { get; } = new List(); + public HashSet IdsIncluded { get; } = new HashSet(); + public HashSet IdsExcluded { get; } = new HashSet(); // UnitMeasure. public SaUomCategory Category { get; set; } public SaUomType UnitType { get; set; } diff --git a/SacsStandardBase/Base/Security/SaSecurityConsole.cs b/SacsStandardBase/Base/Security/SaSecurityConsole.cs index 1066ad2..328b6e4 100644 --- a/SacsStandardBase/Base/Security/SaSecurityConsole.cs +++ b/SacsStandardBase/Base/Security/SaSecurityConsole.cs @@ -1,10 +1,9 @@ -using System; -using System.Collections.Generic; +using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; -using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.UpdateLog; -using static Sarand.Net.Standard.Base.Security.SaSecurityMgr; +using System; +using System.Collections.Generic; namespace Sarand.Net.Standard.Base.Security { diff --git a/SacsStandardBase/Base/Security/SaSecurityLink.cs b/SacsStandardBase/Base/Security/SaSecurityLink.cs index 06514b9..f46bfb1 100644 --- a/SacsStandardBase/Base/Security/SaSecurityLink.cs +++ b/SacsStandardBase/Base/Security/SaSecurityLink.cs @@ -224,11 +224,11 @@ namespace Sarand.Net.Standard.Base.Security /// public new class Params : SacsHierarchyItem.Params { - public readonly List includedItemIdsOwner = new List(); + public readonly HashSet ItemIdsOwnerIncluded = new HashSet(); public SaSecurity.ItemType OwnerItemType { get; set; } = SaSecurity.ItemType.Unknown; - public readonly List includedItemIdsTarget = new List(); + public readonly HashSet ItemIdsTargetIncluded = new HashSet(); public SaSecurity.ItemType TargetItemType { get; set; } = SaSecurity.ItemType.Unknown; - public readonly List includedItemIdsContext = new List(); + public readonly HashSet ItemIdsContextIncluded = new HashSet(); public StatusCat StatusCat { get; set; } = StatusCat.Any; } diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs index 0a347a8..029dc7d 100644 --- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs +++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs @@ -106,7 +106,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces SaInterface.Params prmInterface = new SaInterface.Params(); prmInterface.Context = context; prmInterface.InterfaceCategory = interfaceCategory; - prmInterface.IncludedInterfaceTypes.Add(interfaceType); + prmInterface.InterfaceTypesIncluded.Add(interfaceType); prmInterface.ActiveOnly = false; prmInterface.StatusCat = SaInterface.StatusCat.Any; SaInterface interfaceObj = interfaceMgr.GetInterface(prmInterface); @@ -247,7 +247,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces { ClearErrorState(); SaInterfaceDataItem.Params prmInterfaceDataItem = new SaInterfaceDataItem.Params(); - prmInterfaceDataItem.IncludedItemIds.Add(itemId); + prmInterfaceDataItem.ItemIdsIncluded.Add(itemId); return (interfaceMgr.GetInterfaceDataItemCount(prmInterfaceDataItem) > 0); } public override bool InterfaceDataItemExistsByRef (SysId interfaceId, SaInterfaceProcessDirection processDirection, short itemType, String externalReference) @@ -276,7 +276,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces SaInterfaceDataItem.Params prmInterfaceDataItem = new SaInterfaceDataItem.Params(); prmInterfaceDataItem.InterfaceId = interfaceId; prmInterfaceDataItem.Direction = processDirection; - prmInterfaceDataItem.IncludedItemIds.Add(itemId); + prmInterfaceDataItem.ItemIdsIncluded.Add(itemId); prmInterfaceDataItem.ExternalReference = externalReference; return interfaceMgr.GetInterfaceDataItem(prmInterfaceDataItem); } @@ -298,7 +298,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces SaInterfaceDataItem.Params prmInterfaceDataItem = new SaInterfaceDataItem.Params(); prmInterfaceDataItem.InterfaceId = interfaceId; prmInterfaceDataItem.Direction = processDirection; - prmInterfaceDataItem.IncludedItemIds.Add(itemId); + prmInterfaceDataItem.ItemIdsIncluded.Add(itemId); return interfaceMgr.GetInterfaceDataItem(prmInterfaceDataItem); } public override List GetInterfaceDataItemsByItem (SysId interfaceId, SaInterfaceProcessDirection processDirection, ItemId itemId) @@ -307,7 +307,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces SaInterfaceDataItem.Params prmInterfaceDataItem = new SaInterfaceDataItem.Params(); prmInterfaceDataItem.InterfaceId = interfaceId; prmInterfaceDataItem.Direction = processDirection; - prmInterfaceDataItem.IncludedItemIds.Add(itemId); + prmInterfaceDataItem.ItemIdsIncluded.Add(itemId); return interfaceMgr.GetInterfaceDataItemList(prmInterfaceDataItem); } public override List GetInterfaceDataItemsByRef (SysId interfaceId, SaInterfaceProcessDirection processDirection, short itemType, String externalReference) @@ -357,7 +357,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces { ClearErrorState(); SaInterfaceDataItem.Params prmInterfaceDataItem = new SaInterfaceDataItem.Params(); - prmInterfaceDataItem.IncludedItemIds.Add(itemId); + prmInterfaceDataItem.ItemIdsIncluded.Add(itemId); foreach (SaInterfaceDataItem interfaceDataItem in interfaceMgr.GetInterfaceDataItemList(prmInterfaceDataItem)) { if (!ClearInterfaceDataItem(interfaceDataItem, dbUpdateInfo)) diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs index 9133270..94c22ee 100644 --- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs +++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs @@ -395,10 +395,10 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Item Id. String colSaInterfaceDataItem_Id = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceDataItem_Id, aliasInterfaceDataItem); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colSaInterfaceDataItem_Id + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colSaInterfaceDataItem_Id + " NOT IN (" + excludedIds + ")"); @@ -420,7 +420,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Item ids. String colSaInterfaceDataItem_ItemId = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceDataItem_ItemId, aliasInterfaceDataItem); List filterItemIds = new List(); - foreach (ItemId itemId in prm.IncludedItemIds) + foreach (ItemId itemId in prm.ItemIdsIncluded) filter.Add(colSaInterfaceDataItem_ItemType + "=" + itemId.Type.ToString() + " And " + colSaInterfaceDataItem_ItemId + "=" + SysId.ToString(itemId.Id)); if (filterItemIds.Count > 0) filter.Add(filterItemIds.Concat(" Or ", "(", ")")); @@ -603,7 +603,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Populate filter. query.Filters.AddRange(GetInterfaceDataItemQueryFilter(prm)); - if (prm.IncludedIds.Count != 1) + if (prm.IdsIncluded.Count != 1) { // Configure sort sequence. foreach (String sortColumn in GetInterfaceDataItemSortColumns(prm)) diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs index e86eef4..61aecf9 100644 --- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs +++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs @@ -312,10 +312,10 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Interface ProcessMessage Id. String colId = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_Id, aliasInterfaceProcessMessage); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colId + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colId + " NOT IN (" + excludedIds + ")"); @@ -328,7 +328,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces String colItemType = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_ItemType, aliasInterfaceProcessMessage); String colItemId = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcessMessage_ItemId, aliasInterfaceProcessMessage); List filterItemIds = new List(); - foreach (ItemId itemId in prm.IncludedItemIds) + foreach (ItemId itemId in prm.ItemIdsIncluded) filter.Add(colItemType + "=" + itemId.Type.ToString() + " And " + colItemId + "=" + SysId.ToString(itemId.Id)); if (filterItemIds.Count > 0) filter.Add(filterItemIds.Concat(" Or ", "(", ")")); @@ -469,7 +469,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Populate filter. query.Filters.AddRange(GetInterfaceProcessMessageQueryFilter(prm)); - if (prm.IncludedIds.Count != 1) + if (prm.IdsIncluded.Count != 1) { // Configure sort sequence. foreach (String sortColumn in GetInterfaceProcessMessageSortColumns(prm)) diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs index 7738602..bb246bd 100644 --- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs +++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs @@ -480,10 +480,10 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Interface Process Id. String colInterfaceProcess_Id = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterfaceProcess_Id, aliasInterfaceProcess); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colInterfaceProcess_Id + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colInterfaceProcess_Id + " NOT IN (" + excludedIds + ")"); @@ -813,7 +813,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Populate filter. query.Filters.AddRange(GetInterfaceProcessQueryFilter(prm)); - if (prm.IncludedIds.Count != 1) + if (prm.IdsIncluded.Count != 1) { // Configure sort sequence. foreach (String sortColumn in GetInterfaceProcessSortColumns(prm)) diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs index 6905bcf..0178e62 100644 --- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs +++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs @@ -365,10 +365,10 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Interface Id. String colId = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterface_Id, aliasInterface); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colId + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colId + " NOT IN (" + excludedIds + ")"); @@ -384,8 +384,8 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Type. String colType = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterface_Type, aliasInterface); - if (prm.IncludedInterfaceTypes.Count > 0) - filter.Add(colType + " In (" + String.Join(",", prm.IncludedInterfaceTypes) + ")"); + if (prm.InterfaceTypesIncluded.Count > 0) + filter.Add(colType + " In (" + String.Join(",", prm.InterfaceTypesIncluded) + ")"); // Code. String colCode = SaInterfaceDbDfn.GetColumnNameQual(SaInterfaceDbDfn.ColumnIdx.SaInterface_Code, aliasInterface); @@ -562,7 +562,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces // Populate filter. query.Filters.AddRange(GetInterfaceQueryFilter(prm)); - if (prm.IncludedIds.Count != 1) + if (prm.IdsIncluded.Count != 1) { // Configure sort sequence. foreach (String sortColumn in GetInterfaceSortColumns(prm)) diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs b/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs index 1fc3bf8..e6e4bfd 100644 --- a/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs +++ b/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs @@ -54,7 +54,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData ClearErrorState(); if (!ItemId.IsValid(itemId)) return false; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedItemIds.Add(itemId); + prmItemData.ItemIdsIncluded.Add(itemId); prmItemData.StatusCat = (ignoreDeleted ? SaItemData.StatusCat.NotDeleted : SaItemData.StatusCat.Any); return (GetItemDataCount(prmItemData) > 0); } @@ -64,8 +64,8 @@ namespace Sarand.Net.Standard.Dbas.ItemData if (!ItemId.IsValid(itemId)) return false; if (StringUtil.IsEmpty(dataType)) return false; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedItemIds.Add(itemId); - prmItemData.IncludedDataTypes.Add(dataType); + prmItemData.ItemIdsIncluded.Add(itemId); + prmItemData.DataTypesIncluded.Add(dataType); prmItemData.StatusCat = (ignoreDeleted ? SaItemData.StatusCat.NotDeleted : SaItemData.StatusCat.Any); return (GetItemDataCount(prmItemData) > 0); } @@ -98,7 +98,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData ClearErrorState(); if (!SysId.IsValid(id)) return false; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedIds.Add(id); + prmItemData.IdsIncluded.Add(id); prmItemData.StatusCat = SaItemData.StatusCat.Any; return (GetItemDataCount(prmItemData) > 0); } @@ -108,8 +108,8 @@ namespace Sarand.Net.Standard.Dbas.ItemData if (!ItemId.IsValid(itemId)) return false; if (StringUtil.IsEmpty(dataType)) return false; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedItemIds.Add(itemId); - prmItemData.IncludedDataTypes.Add(dataType); + prmItemData.ItemIdsIncluded.Add(itemId); + prmItemData.DataTypesIncluded.Add(dataType); prmItemData.StatusCat = (ignoreDeleted ? SaItemData.StatusCat.NotDeleted : SaItemData.StatusCat.Any); return (GetItemDataCount(prmItemData) > 0); } @@ -121,7 +121,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData ClearErrorState(); if (!SysId.IsValid(id)) return null; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedIds.Add(id); + prmItemData.IdsIncluded.Add(id); prmItemData.StatusCat = SaItemData.StatusCat.Any; return GetItemData(prmItemData); } @@ -131,8 +131,8 @@ namespace Sarand.Net.Standard.Dbas.ItemData if (!ItemId.IsValid(itemId)) return null; if (StringUtil.IsEmpty(dataType)) return null; SaItemData.Params prmItemData = new SaItemData.Params(); - prmItemData.IncludedItemIds.Add(itemId); - prmItemData.IncludedDataTypes.Add(dataType); + prmItemData.ItemIdsIncluded.Add(itemId); + prmItemData.DataTypesIncluded.Add(dataType); prmItemData.StatusCat = SaItemData.StatusCat.Any; return GetItemData(prmItemData); } @@ -401,10 +401,10 @@ namespace Sarand.Net.Standard.Dbas.ItemData // Item Data Id. String colId = SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasItemData); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colId + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colId + " NOT IN (" + excludedIds + ")"); @@ -412,7 +412,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData List filterItemId = new List(); String colItemType = SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasItemData); String colItemId = SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasItemData); - foreach (ItemId itemId in prm.IncludedItemIds) + foreach (ItemId itemId in prm.ItemIdsIncluded) { filterItemId.Add(colItemType + "=" + itemId.Type.ToString() + " And " + colItemId + "=" + SysId.ToString(itemId.Id)); } @@ -422,7 +422,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData // Included Data Types. List dataTypeFilter = new List(); String colDataType = SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasItemData); - foreach (String dataType in prm.IncludedDataTypes) + foreach (String dataType in prm.DataTypesIncluded) { dataTypeFilter.Add(colDataType + "='" + DbQuery.FormatForCondition(dataType) + "'"); } diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs index 04d1412..46a2ac4 100644 --- a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs +++ b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs @@ -27,13 +27,13 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs //------------------------------------------------------------------- // Static initialisation. - static SaItemDocConsole_Dbas () + static SaItemDocConsole_Dbas() { } //------------------------------------------------------------------- // Construction. - protected SaItemDocConsole_Dbas (ISacsDatabase database) + protected SaItemDocConsole_Dbas(ISacsDatabase database) { Database = database; itemDocMgr = new SaItemDocMgr_Dbas(this); @@ -49,7 +49,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs // I t e m D o c s //------------------------------------------------------------------- // Category codes. - public override List GetCategoryCodes () + public override List GetCategoryCodes() { if (categories.Count < 1) { @@ -61,7 +61,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs return categories; } /// eg. for 'Image' documents. - public override List GetCategoryTypeCodes (Category category) + public override List GetCategoryTypeCodes(Category category) { return new List(); } @@ -69,18 +69,18 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs //------------------------------------------------------------------- // 'Recent' and 'Favourite' folders - to populate drop-down list when selecting folder: /// How many recent foldes to retain? [default:5] - public override int GetMaxRecentFolderCount () + public override int GetMaxRecentFolderCount() { return 5; } /// List of favourites to always include in dropdown. - public override void SetFavouriteFolders (List folders) + public override void SetFavouriteFolders(List folders) { favouriteFolders.Clear(); favouriteFolders.AddRange(folders); } /// Mix of recent and favourites. - public override List GetSuggestedFolders () + public override List GetSuggestedFolders() { List folders = new List(); folders.AddRange(favouriteFolders); @@ -92,12 +92,12 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs //------------------------------------------------------------------- // Retrieve list of docs that match the specified params. - public override bool ItemDocsExist (SaItemDoc.Params prmItemDoc) + public override bool ItemDocsExist(SaItemDoc.Params prmItemDoc) { ClearErrorState(); return (itemDocMgr.GetItemDocCount(prmItemDoc) > 0); } - public override List GetItemDocs (SaItemDoc.Params prmItemDoc) + public override List GetItemDocs(SaItemDoc.Params prmItemDoc) { ClearErrorState(); return itemDocMgr.GetItemDocList(prmItemDoc); @@ -105,7 +105,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs //------------------------------------------------------------------- // Create a new document. - public override SaItemDoc CreateItemDoc (ItemId itemId, Category category) + public override SaItemDoc CreateItemDoc(ItemId itemId, Category category) { ClearErrorState(); return itemDocMgr.CreateItemDoc(itemId, category); @@ -113,7 +113,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs //------------------------------------------------------------------- // Store documents: - public override bool StoreItemDoc (SaItemDoc itemDoc, DbUpdateInfo dbUpdateInfo) + public override bool StoreItemDoc(SaItemDoc itemDoc, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!SysId.IsValid(itemDoc.Id)) @@ -136,7 +136,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs } return !HasErrorState(); } - public override bool StoreItemDocs (List itemDocs, DbUpdateInfo dbUpdateInfo) + public override bool StoreItemDocs(List itemDocs, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); foreach (SaItemDoc itemDoc in itemDocs) @@ -145,19 +145,19 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs } return true; } - public override bool RemoveItemDoc (SaItemDoc itemDoc, DbUpdateInfo dbUpdateInfo) + public override bool RemoveItemDoc(SaItemDoc itemDoc, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!itemDocMgr.DeleteItemDoc(itemDoc, dbUpdateInfo)) return SetErrorState(itemDocMgr.ErrorStateMessage); return !HasErrorState(); } - public override bool ClearItemDocs (ItemId itemId, Category category, DbUpdateInfo dbUpdateInfo) + public override bool ClearItemDocs(ItemId itemId, Category category, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!ItemId.IsValid(itemId)) return SetErrorState("Item must be specified"); SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedItemIds.Add(itemId); + prmItemDoc.ItemIdsIncluded.Add(itemId); prmItemDoc.Category = category; foreach (SaItemDoc itemDoc in itemDocMgr.GetItemDocList(prmItemDoc)) { @@ -172,7 +172,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs // The master items define 'auto-assign' docs for the item's type. // The 'File part' defines the filename excluding the extension. // If the extension list is empty, any extension is matched. - public override bool AutoAssignDocs (ItemId itemId, List masterItemIds, String filePart, List extension, DbUpdateInfo dbUpdateInfo) + public override bool AutoAssignDocs(ItemId itemId, List masterItemIds, String filePart, List extension, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!ItemId.IsValid(itemId)) return SetErrorState("Item must be specified"); @@ -180,13 +180,13 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs // Retrieve docs for this item: SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedItemIds.Add(itemId); + prmItemDoc.ItemIdsIncluded.Add(itemId); prmItemDoc.StatusCat = SaItemDoc.StatusCat.NotDeleted; List itemDocs = GetItemDocs(prmItemDoc); // Retrieve 'auto-assign' docs for the master items: SaItemDoc.Params prmMaster = new SaItemDoc.Params(); - prmMaster.IncludedItemIds.AddRange(masterItemIds); + prmMaster.ItemIdsIncluded.UnionWith(masterItemIds); prmMaster.ItemTypeAutoAssign = itemId.Type; List masterDocs = GetItemDocs(prmMaster); @@ -218,7 +218,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs if (itemDocs.Any(item => item.Folder.EqualsCI(folder) && item.Filename.EqualsCI(filename))) continue; // Assign the item document. - SaItemDoc itemDoc = CreateItemDoc(itemId,Category.Document); + SaItemDoc itemDoc = CreateItemDoc(itemId, Category.Document); itemDoc.DescBrief = filename; itemDoc.Folder = folder; itemDoc.Filename = filename; diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs index 7e38a3f..7707bc7 100644 --- a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs +++ b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs @@ -54,7 +54,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs ClearErrorState(); if (!ItemId.IsValid(itemId)) return false; SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedItemIds.Add(itemId); + prmItemDoc.ItemIdsIncluded.Add(itemId); prmItemDoc.StatusCat = (ignoreDeleted ? SaItemDoc.StatusCat.NotDeleted : SaItemDoc.StatusCat.Any); return (GetItemDocCount(prmItemDoc) > 0); } @@ -64,7 +64,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs if (!ItemId.IsValid(itemId)) return false; if ((int)category < 1) return false; SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedItemIds.Add(itemId); + prmItemDoc.ItemIdsIncluded.Add(itemId); prmItemDoc.Category = category; prmItemDoc.StatusCat = (ignoreDeleted ? SaItemDoc.StatusCat.NotDeleted : SaItemDoc.StatusCat.Any); return (GetItemDocCount(prmItemDoc) > 0); @@ -98,7 +98,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs ClearErrorState(); if (!SysId.IsValid(id)) return false; SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedIds.Add(id); + prmItemDoc.IdsIncluded.Add(id); prmItemDoc.StatusCat = SaItemDoc.StatusCat.Any; return (GetItemDocCount(prmItemDoc) > 0); } @@ -110,7 +110,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs ClearErrorState(); if (!SysId.IsValid(id)) return null; SaItemDoc.Params prmItemDoc = new SaItemDoc.Params(); - prmItemDoc.IncludedIds.Add(id); + prmItemDoc.IdsIncluded.Add(id); prmItemDoc.StatusCat = SaItemDoc.StatusCat.Any; return GetItemDoc(prmItemDoc); } @@ -413,10 +413,10 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs // Item Id. String colId = SaItemDocsDbDfn.GetColumnNameQual(SaItemDocsDbDfn.ColumnIdx.SaItemDoc_Id, aliasItemDoc); - String includedIds = prm.IncludedIds.Concat(","); + String includedIds = prm.IdsIncluded.Concat(","); if (!includedIds.IsEmpty()) filter.Add(colId + " IN (" + includedIds + ")"); - String excludedIds = prm.ExcludedIds.Concat(","); + String excludedIds = prm.IdsExcluded.Concat(","); if (!excludedIds.IsEmpty()) filter.Add(colId + " NOT IN (" + excludedIds + ")"); @@ -424,7 +424,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs List filterItemId = new List(); String colItemType = SaItemDocsDbDfn.GetColumnNameQual(SaItemDocsDbDfn.ColumnIdx.SaItemDoc_ItemType, aliasItemDoc); String colItemId = SaItemDocsDbDfn.GetColumnNameQual(SaItemDocsDbDfn.ColumnIdx.SaItemDoc_ItemId, aliasItemDoc); - foreach (ItemId itemId in prm.IncludedItemIds) + foreach (ItemId itemId in prm.ItemIdsIncluded) { filterItemId.Add(colItemType + "=" + itemId.Type.ToString() + " And " + colItemId + "=" + SysId.ToString(itemId.Id)); } diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs b/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs index 996a399..14ac1ee 100644 --- a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs +++ b/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Sarand.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.ReferenceData; using Sarand.Net.Standard.Dbas.Base; @@ -22,7 +23,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData //------------------------------------------------------------------- // Construction. - protected SaReferenceDataConsole_Dbas (ISacsDatabase database) : + protected SaReferenceDataConsole_Dbas(ISacsDatabase database) : base() { Database = database; @@ -45,16 +46,44 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData // M a n a g e R e f e r e n c e D a t a //------------------------------------------------------------------- // Manage Reference Data (interactive applicaton only, eg. desktop) - returns true if changes made. - public override bool ManageReferenceData (bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo) + public override bool ManageReferenceData(bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); MaintainReferenceDataFn?.Invoke(this, userCanManageReferenceData, dbUpdateInfo); return false; } // Method to display ReferenceData management dialog. - protected delegate bool MaintainReferenceDataFunction (SaReferenceDataConsole codeTypeConsole, bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo); + protected delegate bool MaintainReferenceDataFunction(SaReferenceDataConsole codeTypeConsole, bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo); protected virtual MaintainReferenceDataFunction MaintainReferenceDataFn => null; + //------------------------------------------------------------------- + // Initialisation data - default population. + + public List GetRegionInitialisationList() + { + List regions = new List(); + List currencyCodes = GetReferenceDataCodes(ReferenceDataSystemCode.CurrencyCode); + + // Europe. + regions.Add(new RegionInitData() + { + Type = SaRegionType.Continent, + Name = "Europe" + }); + + // United Kingdom. + regions.Add(new RegionInitData() + { + Type = SaRegionType.Country, + Name = "United Kingdom", + CurrencyCode = currencyCodes.GetCodeForType(SaCurrencyCode.Sterling), + ParentType = SaRegionType.Continent, + ParentName = "Europe" + }); + + return regions; + } + //------------------------------------------------------------------- } //======================================================================= diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs b/SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs index d41486b..79a54c1 100644 --- a/SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs +++ b/SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs @@ -1,13 +1,12 @@ -using System; -using System.Collections.Generic; -using Sarand.Net.Standard.Base.App; -using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Security; -using Sarand.Net.Standard.Dbas.Utils; using Sarand.Net.Standard.Base.Utils; -using static Sarand.Net.Standard.Base.Security.SaSecurityMgr; +using Sarand.Net.Standard.Dbas.Utils; +using System; +using System.Collections.Generic; namespace Sarand.Net.Standard.Dbas.Security { @@ -308,14 +307,14 @@ namespace Sarand.Net.Standard.Dbas.Security // Retrieve Group links associated with the Item. SaSecurityLink.Params prmSecLinkGroups = new SaSecurityLink.Params(); - prmSecLinkGroups.includedItemIdsOwner.Add(secItem.Id); + prmSecLinkGroups.ItemIdsOwnerIncluded.Add(secItem.Id); prmSecLinkGroups.TargetItemType = SaSecurity.ItemType.Group; List groupLinks = securityMgr.GetSecurityLinkList(prmSecLinkGroups); // Retrieve Right links associated with the Item and its Groups. SaSecurityLink.Params prmSecLinkRights = new SaSecurityLink.Params(); - prmSecLinkRights.includedItemIdsOwner.Add(secItem.Id); - prmSecLinkRights.includedItemIdsOwner.AddRange(groupLinks.GetTargetItemIds()); + prmSecLinkRights.ItemIdsOwnerIncluded.Add(secItem.Id); + prmSecLinkRights.ItemIdsOwnerIncluded.UnionWith(groupLinks.GetTargetItemIds()); prmSecLinkRights.TargetItemType = SaSecurity.ItemType.Right; List rightLinks = securityMgr.GetSecurityLinkList(prmSecLinkRights); @@ -641,16 +640,16 @@ namespace Sarand.Net.Standard.Dbas.Security // From-To. SaSecurityLink.Params prmSecLink = new SaSecurityLink.Params(); - prmSecLink.includedItemIdsOwner.Add(itemId1); - prmSecLink.includedItemIdsTarget.Add(itemId2); + prmSecLink.ItemIdsOwnerIncluded.Add(itemId1); + prmSecLink.ItemIdsTargetIncluded.Add(itemId2); prmSecLink.StatusCat = SaSecurityLink.StatusCat.Any; if (securityMgr.GetSecurityLinkCount(prmSecLink) > 0) return true; // To-From. prmSecLink = new SaSecurityLink.Params(); - prmSecLink.includedItemIdsOwner.Add(itemId2); - prmSecLink.includedItemIdsTarget.Add(itemId1); + prmSecLink.ItemIdsOwnerIncluded.Add(itemId2); + prmSecLink.ItemIdsTargetIncluded.Add(itemId1); prmSecLink.StatusCat = SaSecurityLink.StatusCat.Any; if (securityMgr.GetSecurityLinkCount(prmSecLink) > 0) return true; diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs index 0ca0d2f..1322ba7 100644 --- a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs +++ b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs @@ -48,8 +48,8 @@ namespace Sarand.Net.Standard.Dbas.Security public override bool SecurityItemHasLinksWith(SysId securityItemIdOwner, SysId securityItemIdTarget) { SaSecurityLink.Params prmSecLink = new SaSecurityLink.Params(); - prmSecLink.includedItemIdsOwner.Add(securityItemIdOwner); - prmSecLink.includedItemIdsTarget.Add(securityItemIdTarget); + prmSecLink.ItemIdsOwnerIncluded.Add(securityItemIdOwner); + prmSecLink.ItemIdsTargetIncluded.Add(securityItemIdTarget); prmSecLink.StatusCat = SaSecurityLink.StatusCat.Any; return (GetSecurityLinkCount(prmSecLink) > 0); } diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs index 9766289..1c37b60 100644 --- a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs +++ b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs @@ -24,9 +24,9 @@ namespace Sarand.Net.Standard.Dbas.Security { ClearErrorState(); SaSecurityLink.Params prm = new SaSecurityLink.Params(); - prm.includedItemIdsOwner.Add(itemIdOwner); - prm.includedItemIdsTarget.Add(itemIdTarget); - prm.includedItemIdsContext.Add(itemIdContext); + prm.ItemIdsOwnerIncluded.Add(itemIdOwner); + prm.ItemIdsTargetIncluded.Add(itemIdTarget); + prm.ItemIdsContextIncluded.Add(itemIdContext); prm.StatusCat = SaSecurityLink.StatusCat.Any; return GetSecurityLinkQueryFilter(prm).Concat(" AND ", "(", ")"); } @@ -314,7 +314,7 @@ namespace Sarand.Net.Standard.Dbas.Security // Owner Item Ids. String colItemOwner = SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemOwner, aliasSecurityLink); - String ownerItemIds = prm.includedItemIdsOwner.Concat(","); + String ownerItemIds = prm.ItemIdsOwnerIncluded.Concat(","); if (!ownerItemIds.IsEmpty()) filter.Add(colItemOwner + " IN (" + ownerItemIds + ")"); @@ -324,7 +324,7 @@ namespace Sarand.Net.Standard.Dbas.Security // Target Item Ids. String colItemTarget = SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemTarget, aliasSecurityLink); - String targetItemIds = prm.includedItemIdsTarget.Concat(","); + String targetItemIds = prm.ItemIdsTargetIncluded.Concat(","); if (!targetItemIds.IsEmpty()) filter.Add(SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemTarget, aliasSecurityLink) + " IN (" + targetItemIds + ")"); @@ -333,7 +333,7 @@ namespace Sarand.Net.Standard.Dbas.Security filter.Add(colItemTarget + " IN (SELECT " + SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecItem_Id) + " FROM " + TableName_SecItem + " WHERE " + SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecItem_Type) + "=" + ((int)prm.TargetItemType).ToString() + ")"); // Context Item Ids. - String contextItemIds = prm.includedItemIdsContext.Concat(","); + String contextItemIds = prm.ItemIdsContextIncluded.Concat(","); if (!contextItemIds.IsEmpty()) filter.Add(SaSecurityDbDfn.GetColumnNameQual(SaSecurityDbDfn.ColumnIdx.SaSecLink_ItemContext, aliasSecurityLink) + " IN (" + contextItemIds + ")");