330 lines
20 KiB
C#
330 lines
20 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.ReferenceData;
|
|
using Sarand.Net.Standard.Base.Utils;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr
|
|
{
|
|
//=======================================================================
|
|
// Commodity Manager - Commodity - Utils.
|
|
//=======================================================================
|
|
partial class SbmCommodityMgr
|
|
{
|
|
|
|
//-------------------------------------------------------------------
|
|
// Commodity Associated data.
|
|
public abstract bool CommodityHasProcesses(SysId commodityId);
|
|
public abstract bool CommodityHasRequirements(SysId commodityId);
|
|
public abstract bool CommodityIsSalesBudgetTemplate(SysId commodityId);
|
|
public abstract bool CommodityHasComponents(SysId commodityId);
|
|
public abstract bool CommodityHasPortfolioItems(SysId commodityId);
|
|
public abstract bool CommodityHasContainers(SysId commodityId);
|
|
public abstract bool CommodityHasCustomerDetails(SysId commodityId);
|
|
public abstract bool CommodityHasSupplierDetails(SysId commodityId);
|
|
public abstract bool CommodityHasMovements(SysId commodityId);
|
|
public abstract bool CommodityHasStockLevels(SysId commodityId);
|
|
// Dependent data should only be cleared when removing a commodity.
|
|
// Data owned by this item is deleted (eg. interface data items & document references).
|
|
public abstract bool ClearCommodityDependentData(SysId commodityId);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Commodity requirements.
|
|
|
|
/// <summary>
|
|
/// Update requirements for this commodity with the correct code.
|
|
/// </summary>
|
|
public abstract bool UpdateCommodityRequirements(SbmCommodity commodity);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Commodity cost estimates.
|
|
public abstract List<SbmCostEstimate> GetCommodityCostEstimates(SbmCommodity commodity);
|
|
public abstract bool SetCommodityCostEstimates(SbmCommodity commodity, List<SbmCostEstimate> costEstimatesNew);
|
|
public abstract bool CommitCommodityCostEstimates(SbmCommodity commodity);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Commodity processes.
|
|
public abstract List<SbmItemProcess> GetCommodityProcesses(SbmCommodity commodity, bool bActiveOnly = false);
|
|
public abstract bool SetCommodityProcesses(SbmCommodity commodity, List<SbmItemProcess> itemProcessesNew);
|
|
public abstract bool CommitCommodityProcesses(SbmCommodity commodity);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Interfaces.
|
|
|
|
// Commodity interface rules.
|
|
public bool AllowColumnImport(SbmDbDfn.ColumnIdx column)
|
|
{
|
|
switch (column)
|
|
{
|
|
//case SbmDbDfn.ColumnIdx.Commodity_Id:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_AffIdOwner:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_Type:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Code:
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescBrief:
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescOrder:
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescDetail:
|
|
case SbmDbDfn.ColumnIdx.Commodity_DrawingNo:
|
|
case SbmDbDfn.ColumnIdx.Commodity_DrawingIssue:
|
|
case SbmDbDfn.ColumnIdx.Commodity_ImagePath:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Category:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Category2:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Category3:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Location:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Department:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CatalogRef:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Weight:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdWeight:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Length:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdLength:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Volume:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdVolume:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Density:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdDensity:
|
|
case SbmDbDfn.ColumnIdx.Commodity_BoxQuantity:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdBox:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Dimensions:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SpecSummary:
|
|
case SbmDbDfn.ColumnIdx.Commodity_NominalCode:
|
|
case SbmDbDfn.ColumnIdx.Commodity_NominalCodePurchase:
|
|
case SbmDbDfn.ColumnIdx.Commodity_ICNTariffCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_TimeProd:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_UomIdTimeProd:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_RangeCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_ColourCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_SourceCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_SupplyMethodCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_HandlingCode:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_DeliveryCode:
|
|
case SbmDbDfn.ColumnIdx.Commodity_MaterialCode:
|
|
case SbmDbDfn.ColumnIdx.Commodity_FinishCode:
|
|
case SbmDbDfn.ColumnIdx.Commodity_PromotionCode:
|
|
case SbmDbDfn.ColumnIdx.Commodity_AssIdSupplier:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SupplierRef:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CostPrice:
|
|
case SbmDbDfn.ColumnIdx.Commodity_PlaceOfOrigin:
|
|
case SbmDbDfn.ColumnIdx.Commodity_MaterialCost:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CurrencyIdMaterial:
|
|
case SbmDbDfn.ColumnIdx.Commodity_ExWorksCost:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CurrencyIdExWorks:
|
|
case SbmDbDfn.ColumnIdx.Commodity_ReorderLevel:
|
|
case SbmDbDfn.ColumnIdx.Commodity_ReorderQty:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_QtyOnOrder:
|
|
case SbmDbDfn.ColumnIdx.Commodity_AssIdCustomer:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesPrice:
|
|
case SbmDbDfn.ColumnIdx.Commodity_RetailPrice:
|
|
case SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned:
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdSale:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CarriageCostIndicative:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_CarriageCostIndicative_Fmt:
|
|
case SbmDbDfn.ColumnIdx.Commodity_MinOrderQty:
|
|
case SbmDbDfn.ColumnIdx.Commodity_PackQty:
|
|
case SbmDbDfn.ColumnIdx.Commodity_TaxCodeId:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_LastOrderDate:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_LastOrderQty:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_QtyInStock:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_QtyAllocated:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_FreeStock:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_StockTakeDate:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_StockTakeQty:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_OrderQtyDecimals:
|
|
case SbmDbDfn.ColumnIdx.Commodity_CommodityIdSalesProj:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonthlyProp:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjAnnual:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth01:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth02:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth03:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth04:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth05:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth06:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth07:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth08:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth09:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth10:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth11:
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth12:
|
|
case SbmDbDfn.ColumnIdx.Commodity_Notes:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_Flags:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_Status:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_CreateOn:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_CreateBy:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_CreateHost:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_UpdateOn:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_UpdateBy:
|
|
//case SbmDbDfn.ColumnIdx.Commodity_UpdateHost:
|
|
return SessionConsole.DisplayAttribute(column);
|
|
}
|
|
return false;
|
|
}
|
|
public String GetColumnCaption(SbmDbDfn.ColumnIdx column)
|
|
{
|
|
switch (column)
|
|
{
|
|
case SbmDbDfn.ColumnIdx.Commodity_Type: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Type, "Type");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Code: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Code, "Code");
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescBrief: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_DescBrief, "Brief description");
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescOrder: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_DescOrder, "Order description");
|
|
case SbmDbDfn.ColumnIdx.Commodity_DescDetail: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_DescDetail, "Detail description");
|
|
case SbmDbDfn.ColumnIdx.Commodity_DrawingNo: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_DrawingNo, "Drawing no");
|
|
case SbmDbDfn.ColumnIdx.Commodity_DrawingIssue: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_DrawingIssue, "Drawing issue");
|
|
case SbmDbDfn.ColumnIdx.Commodity_ImagePath: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_ImagePath, "Image path");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Category: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Category, "Category");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Location: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Location, "Location");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Department: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Department, "Department");
|
|
case SbmDbDfn.ColumnIdx.Commodity_CatalogRef: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CatalogRef, "Catalog ref");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Weight: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Weight, "Weight");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdWeight: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdWeight, "Weight unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Length: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Length, "Length");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdLength: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdLength, "Length unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Volume: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Volume, "Volume");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdVolume: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdVolume, "Volume unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Density: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Density, "Density");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdDensity: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdDensity, "Density unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_BoxQuantity: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_BoxQuantity, "Box quantity");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdBox: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdBox, "Box unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_Dimensions: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_Dimensions, "Dimensions");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SpecSummary: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SpecSummary, "Specification");
|
|
case SbmDbDfn.ColumnIdx.Commodity_NominalCode: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_NominalCode, "Nominal code - sales");
|
|
case SbmDbDfn.ColumnIdx.Commodity_NominalCodePurchase: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_NominalCodePurchase, "Nominal code - purchase");
|
|
case SbmDbDfn.ColumnIdx.Commodity_ICNTariffCode: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_ICNTariffCode, "ICN Tariff code");
|
|
case SbmDbDfn.ColumnIdx.Commodity_MaterialCode: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_MaterialCode, "Material");
|
|
case SbmDbDfn.ColumnIdx.Commodity_FinishCode: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_FinishCode, "Finish");
|
|
case SbmDbDfn.ColumnIdx.Commodity_PromotionCode: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_PromotionCode, "Promotion");
|
|
case SbmDbDfn.ColumnIdx.Commodity_AssIdSupplier: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_AssIdSupplier, "Supplier");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SupplierRef: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SupplierRef, "Supplier ref");
|
|
case SbmDbDfn.ColumnIdx.Commodity_CostPrice: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CostPrice, "Cost price");
|
|
case SbmDbDfn.ColumnIdx.Commodity_PlaceOfOrigin: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_PlaceOfOrigin, "Place of origin");
|
|
case SbmDbDfn.ColumnIdx.Commodity_MaterialCost: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_MaterialCost, "Material cost");
|
|
case SbmDbDfn.ColumnIdx.Commodity_CurrencyIdMaterial: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CurrencyIdMaterial, "Material currency");
|
|
case SbmDbDfn.ColumnIdx.Commodity_ExWorksCost: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_ExWorksCost, "Ex-works cost");
|
|
case SbmDbDfn.ColumnIdx.Commodity_CurrencyIdExWorks: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CurrencyIdExWorks, "Ex-works currency");
|
|
case SbmDbDfn.ColumnIdx.Commodity_ReorderLevel: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_ReorderLevel, "Reorder level");
|
|
case SbmDbDfn.ColumnIdx.Commodity_ReorderQty: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_ReorderQty, "Reorder qty");
|
|
case SbmDbDfn.ColumnIdx.Commodity_AssIdCustomer: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_AssIdCustomer, "Customer");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesPrice: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesPrice, "Sales price");
|
|
case SbmDbDfn.ColumnIdx.Commodity_RetailPrice: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_RetailPrice, "Retail price");
|
|
case SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned, "Retail price planned");
|
|
case SbmDbDfn.ColumnIdx.Commodity_UomIdSale: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_UomIdSale, "Sale unit");
|
|
case SbmDbDfn.ColumnIdx.Commodity_PackQty: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_PackQty, "Pack qty - sale");
|
|
case SbmDbDfn.ColumnIdx.Commodity_TaxCodeId: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_TaxCodeId, "Tax code");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjAnnual: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjAnnual, "Projected annual sales");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth01: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth01, "Projected sales - Jan");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth02: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth02, "Projected sales - Feb");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth03: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth03, "Projected sales - Mar");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth04: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth04, "Projected sales - Apr");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth05: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth05, "Projected sales - May");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth06: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth06, "Projected sales - Jun");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth07: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth07, "Projected sales - Jul");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth08: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth08, "Projected sales - Aug");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth09: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth09, "Projected sales - Sep");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth10: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth10, "Projected sales - Oct");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth11: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth11, "Projected sales - Nov");
|
|
case SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth12: return GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_SalesProjMonth12, "Projected sales - Dec");
|
|
}
|
|
return "";
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Image Paths.
|
|
public String GetImagePathPrefix()
|
|
{
|
|
String prefix = "";
|
|
if (AccountsDfn.IsItemTypeManagedByAccounts(Sbm.ItemType.Commodity))
|
|
{
|
|
if (AccountsDfn.IsUsingSageInterface())
|
|
prefix = "%SAGE%\\";
|
|
}
|
|
return prefix;
|
|
}
|
|
public String GetActualImagePath(String imagePath)
|
|
{
|
|
//SATRACE("SapCommodityMgr::GetActualImagePath '"+imagePath+"'\n");
|
|
if (StringUtil.IsEmpty(imagePath)) return imagePath;
|
|
String imagePathPrefix = GetImagePathPrefix();
|
|
String cmdImagePath = imagePath;
|
|
if (cmdImagePath.Left(imagePathPrefix.Length) == imagePathPrefix)
|
|
{
|
|
String imageFolder = "";
|
|
if (AccountsDfn.IsItemTypeManagedByAccounts(Sbm.ItemType.Commodity))
|
|
{
|
|
if (AccountsDfn.IsUsingSageInterface())
|
|
imageFolder = AccountsDfn.GetImageFolder(Sbm.InterfaceType_Accounts.SageLine50);
|
|
}
|
|
//ToDo SaSystem::GETPATHDELIM in SbmCmdMgr need to be created inorder to work
|
|
cmdImagePath = imageFolder + /*SaSystem::GetPathDelim(imageFolder) +*/ cmdImagePath.Right(cmdImagePath.Length - imagePathPrefix.Length);
|
|
}
|
|
#if _DEBUG_XXX
|
|
if (!sCmdImagePath.IsEmpty())
|
|
{
|
|
SATRACE("GetActualImagePath Path = '" + cmdImagePath + "'\n");
|
|
}
|
|
#endif
|
|
return cmdImagePath;
|
|
}
|
|
|
|
public String GetStandardImagePath(String commodityCode)
|
|
{
|
|
// Using organisation configuration image folder.
|
|
if (StringUtil.IsEmpty(commodityCode)) return commodityCode;
|
|
String path = "";
|
|
if (!StringUtil.IsEmpty(commodityCode))
|
|
{
|
|
String folder = SessionConsole.GetOwnerOption_Folder(Sbm.OrgOption_Folder.CommodityImage);
|
|
path = GetImagePath(folder, commodityCode);
|
|
}
|
|
return path;
|
|
}
|
|
public String GetBarcodeImagePath(String commodityCode)
|
|
{
|
|
// Using organisation configuration barcode image folder.
|
|
if (StringUtil.IsEmpty(commodityCode)) return commodityCode;
|
|
String path = "";
|
|
if (!StringUtil.IsEmpty(commodityCode))
|
|
{
|
|
String folder = SessionConsole.GetOwnerOption_Folder(Sbm.OrgOption_Folder.CommodityBarcodeImage);
|
|
path = GetImagePath(folder, commodityCode);
|
|
}
|
|
return path;
|
|
}
|
|
|
|
public String GetImagePath(String folder, String filenamePrefix)
|
|
{
|
|
String path = "";
|
|
//SATRACE("SapCommodityMgr::GetImagePath Locating image file '"+sFilenamePrefix+"' in folder '"+sFolder+"'\n");
|
|
if (!folder.IsEmpty() && Directory.Exists(folder) && !filenamePrefix.IsEmpty())
|
|
{
|
|
List<String> imageExtensions = StringListUtil.Split("jpg,jpeg,gif,png,tif,eps", ",");
|
|
foreach (String imageExtension in imageExtensions)
|
|
{
|
|
//ToDo SaSystem::GETPATHDELIM in SbmCmdMgr need to be created inorder to work
|
|
path = folder + /*SaSystem::GetPathDelim(folder) +*/ filenamePrefix + "." + imageExtension;
|
|
#if _DEBUG
|
|
if (Sys_Fn::FileExists(path))
|
|
{
|
|
SATRACE("GetImagePath Found image file: " + path + "\n");
|
|
}
|
|
#endif
|
|
if (!Directory.Exists(path)) path.IsEmpty();
|
|
}
|
|
}
|
|
return path;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
public abstract List<Sbm.CommodityType> GetCommodityTypesInUse();
|
|
public abstract Sbm.CommodityType GetTypeForCommodityId(SysId commodityId);
|
|
public abstract double GetCostPriceForCommodityId(SysId commodityId);
|
|
public abstract List<SysIdString> GetSalesTemplateCommmodities();
|
|
public abstract bool UpdateReferencesToSalesTemplate(SbmCommodity commodity);
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|