mirror of
https://github.com/alecthomas/chroma.git
synced 2025-02-11 13:25:37 +02:00
98 lines
2.0 KiB
Plaintext
98 lines
2.0 KiB
Plaintext
/// <summary>
|
|
/// Manage Loyalty Benefits
|
|
/// </summary>
|
|
codeunit 50100 "Loyalty Benefits Management"
|
|
{
|
|
var
|
|
Vendor: record Vendor;
|
|
|
|
trigger OnRun()
|
|
begin
|
|
end;
|
|
|
|
/// <summary>
|
|
/// Adjust a Sales Order with loyalty level
|
|
/// </summary>
|
|
/// <param name="SalesHeader">Sales Header to adjust based on Customer Loyalty</param>
|
|
procedure AdjustForLoyalty(var SalesHeader: record "Sales Header"): Integer;
|
|
var
|
|
Customer: record Customer;
|
|
LoyaltyBenefits: interface ILoyaltyBenefits;
|
|
Discount: Decimal;
|
|
begin
|
|
Customer.Get(SalesHeader."Sell-to Customer No.");
|
|
|
|
LoyaltyBenefits := Customer.Loyalty;
|
|
Discount := 1;
|
|
Discount := LoyaltyBenefits.GetDiscount();
|
|
ApplyDiscount(SalesHeader, Discount);
|
|
end;
|
|
|
|
/// <summary>
|
|
/// Applies the Discount to the Sales Order
|
|
/// </summary>
|
|
/// <param name="SalesHeader">Sales Order</param>
|
|
/// <param name="Discount">Discount to apply</param>
|
|
local procedure "Apply Discount"(SalesHeader: record "Sales Header"; Discount: Decimal)
|
|
begin
|
|
// TODO: Implement
|
|
end;
|
|
}
|
|
|
|
|
|
enum 50140 SomeEnum
|
|
{
|
|
value(0; None) { }
|
|
}
|
|
|
|
#region interface stuff
|
|
|
|
interface ISuperGreat
|
|
{
|
|
procedure YesSir("c in c": codeunit FooBar);
|
|
}
|
|
|
|
#endregion
|
|
|
|
table 50100 Customer
|
|
{
|
|
Access = Internal;
|
|
TableType = Normal;
|
|
|
|
fields
|
|
{
|
|
field(1; "P K"; Integer)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Add the Loyalty fields to the Customer table.
|
|
/// </summary>
|
|
tableextension 50100 LoyaltyCustomerExt extends Customer
|
|
{
|
|
fields
|
|
{
|
|
/// <summary>
|
|
/// Customer loyalty.
|
|
/// </summary>
|
|
field(50100; Loyalty; enum LoyaltyLevel)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adds the Loyalty field to the General group on the "Customer Card"
|
|
/// </summary>
|
|
pageextension 50100 LoyaltyCustCardExt extends "Customer Card"
|
|
{
|
|
layout
|
|
{
|
|
addlast(General)
|
|
{
|
|
field(Loyalty; Rec.Loyalty) { }
|
|
}
|
|
}
|
|
} |