Files
BusinessMgr-2019/SaBusMgrStandardBase/Base/Mgr/SbmDataItemMgr_ItemLink-Utils.cs
T

79 lines
2.7 KiB
C#

using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
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.Utils;
using System;
using System.Collections.Generic;
namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr
{
//=======================================================================
// Data Item Manager - Item Links - Utils.
//=======================================================================
partial class SbmDataItemMgr
{
//-------------------------------------------------------------------
// Utilities.
public static Sbm.ItemLinkType GetLinkType(Sbm.ApplCodeType applCodeType)
{
switch (applCodeType)
{
case Sbm.ApplCodeType.SeasonalCategory: return Sbm.ItemLinkType.ItemCodeList_SeasonalCategory;
case Sbm.ApplCodeType.PostcodeArea: return Sbm.ItemLinkType.ItemCodeList_PostcodeArea;
case Sbm.ApplCodeType.JobTrade: return Sbm.ItemLinkType.ItemCodeList_JobTrade;
case Sbm.ApplCodeType.JobEngineer: return Sbm.ItemLinkType.ItemCodeList_JobEngineer;
}
return Sbm.ItemLinkType.Unknown;
}
//-------------------------------------------------------------------
// Clean up data issues/inconsistencies.
public abstract bool DoDbCleanup();
// Clear all associated data for item - attributes and links.
public abstract bool ClearDataItem(SbmItemId itemId, DbUpdateInfo dbUpdateInfo);
//-------------------------------------------------------------------
// Linked Items.
public static bool ItemLinkParentIsFixed(Sbm.AssociatedItemMode itemMode)
{
switch (itemMode)
{
case Sbm.AssociatedItemMode.Commodity_Parent:
case Sbm.AssociatedItemMode.Requirement_Parent:
return true;
}
return false;
}
public static bool ItemLinkChildIsFixed(Sbm.AssociatedItemMode itemMode)
{
switch (itemMode)
{
case Sbm.AssociatedItemMode.Commodity_Child:
case Sbm.AssociatedItemMode.Requirement_Child:
return true;
}
return false;
}
public static bool ItemLinkConfigIsValid(Sbm.AssociatedItemMode itemMode, Sbm.ItemLinkType itemLinkType)
{
switch (itemMode)
{
case Sbm.AssociatedItemMode.Commodity_Child:
case Sbm.AssociatedItemMode.Requirement_Child:
return true;
}
return false;
}
public abstract bool UpdateLinkedItems(Sbm.AssociatedItemMode itemMode, Sbm.ItemLinkType itemLinkType, ref ItemId itemIdParent, ref ItemId itemIdChild, ItemId itemId, List<SbmItemLink> itemLinks);
//-------------------------------------------------------------------
}
//=======================================================================
}