BusinessMgr

This commit is contained in:
Andy Howard
2025-01-27 10:01:50 +00:00
parent 82a9d3497a
commit f840c9c858
34 changed files with 222 additions and 197 deletions
@@ -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<SaInterfaceDataItem> 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<SaInterfaceDataItem> 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))
@@ -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<String> filterItemIds = new List<string>();
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))
@@ -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<String> filterItemIds = new List<string>();
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))
@@ -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))
@@ -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))
@@ -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<String> filterItemId = new List<String>();
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<String> dataTypeFilter = new List<string>();
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) + "'");
}
@@ -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<TypeCodeDesc> GetCategoryCodes ()
public override List<TypeCodeDesc> GetCategoryCodes()
{
if (categories.Count < 1)
{
@@ -61,7 +61,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs
return categories;
}
/// <summary>eg. for 'Image' documents.</summary>
public override List<CodeDesc> GetCategoryTypeCodes (Category category)
public override List<CodeDesc> GetCategoryTypeCodes(Category category)
{
return new List<CodeDesc>();
}
@@ -69,18 +69,18 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs
//-------------------------------------------------------------------
// 'Recent' and 'Favourite' folders - to populate drop-down list when selecting folder:
/// <summary>How many recent foldes to retain? [default:5]</summary>
public override int GetMaxRecentFolderCount ()
public override int GetMaxRecentFolderCount()
{
return 5;
}
/// <summary>List of favourites to always include in dropdown.</summary>
public override void SetFavouriteFolders (List<String> folders)
public override void SetFavouriteFolders(List<String> folders)
{
favouriteFolders.Clear();
favouriteFolders.AddRange(folders);
}
/// <summary>Mix of recent and favourites.</summary>
public override List<String> GetSuggestedFolders ()
public override List<String> GetSuggestedFolders()
{
List<String> folders = new List<string>();
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<SaItemDoc> GetItemDocs (SaItemDoc.Params prmItemDoc)
public override List<SaItemDoc> 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<SaItemDoc> itemDocs, DbUpdateInfo dbUpdateInfo)
public override bool StoreItemDocs(List<SaItemDoc> 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<ItemId> masterItemIds, String filePart, List<String> extension, DbUpdateInfo dbUpdateInfo)
public override bool AutoAssignDocs(ItemId itemId, List<ItemId> masterItemIds, String filePart, List<String> 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<SaItemDoc> 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<SaItemDoc> 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;
@@ -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<String> filterItemId = new List<String>();
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));
}
@@ -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<RegionInitData> GetRegionInitialisationList()
{
List<RegionInitData> regions = new List<RegionInitData>();
List<TypeCodeDesc> 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;
}
//-------------------------------------------------------------------
}
//=======================================================================
@@ -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<SaSecurityLink> 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<SaSecurityLink> 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;
@@ -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);
}
@@ -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 + ")");