@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
+using System.Runtime.InteropServices;
using InABox.Core;
namespace Comal.Classes
@@ -72,6 +73,9 @@ namespace Comal.Classes
[EditorSequence(5)]
public StockLocationLink DefaultLocation { get; set; }
+
+ [EditorSequence(6)]
+ public SupplierCategoryLink Category { get; set; }
[EditorSequence("Delivery",1)]
public Address Delivery { get; set; }
@@ -0,0 +1,18 @@
+using System;
+using InABox.Core;
+namespace Comal.Classes
+{
+ public class SupplierCategory : Entity, IRemotable, IPersistent, ILicense<CoreLicense>, IExportable, IImportable,
+ IMergeable
+ {
+ [UniqueCodeEditor(Visible = Visible.Default, Editable = Editable.Enabled)]
+ [EditorSequence(1)]
+ public String Code { get; set; } = "";
+ [TextBoxEditor]
+ [EditorSequence(2)]
+ public String Description { get; set; } = "";
+ }
+}
@@ -0,0 +1,21 @@
+ public class SupplierCategoryLink : EntityLink<SupplierCategory>
+ [LookupEditor(typeof(SupplierCategory))]
+ public override Guid ID { get; set; }
+ [CodeEditor(Visible = Visible.Default)]
+ [TextBoxEditor(Visible = Visible.Optional, Editable = Editable.Hidden)]
+ [EditorSequence(3)]
@@ -0,0 +1,26 @@
+ public class SupplierCategoryLookup : EntityLookup<SupplierCategory>
+ public override Columns<SupplierCategory> DefineColumns()
+ return new Columns<SupplierCategory>(
+ x => x.ID,
+ x => x.Code,
+ x => x.Description
+ );
+ public override Filter<SupplierCategory>? DefineFilter()
+ return null;
+ public override SortOrder<SupplierCategory> DefineSortOrder()
+ return new SortOrder<SupplierCategory>(x => x.Code);
@@ -54,6 +54,13 @@ public partial class SupplierPanel : UserControl, IPanel<Supplier>
public void CreateToolbarButtons(IPanelHost host)
{
AccountsSetupActions.Standard(host);
+ host.CreateSetupActionIfCanView<SupplierCategory>("Supplier Categories", PRSDesktop.Resources.supplier, (action) =>
+ var list = new MasterList(typeof(SupplierCategory));
+ list.ShowDialog();
+ });
host.CreateSetupSeparator();
AccountsSetupActions.SupplierSpreadsheetTemplates(host);
}