SalesDocumentsFieldFilterExtension reference
This article provides reference material about SalesDocumentsFieldFilterExtension
class. All sales document field filter extensions
have to be inherited from the SalesDocumentsFieldFilterExtension
which, in turn, inherits from the core
Sana Commerce Cloud Extension
class.
This extension should be used to filter sales documents list.
Note
Multiple SalesDocumentsFieldFilterExtension
extensions can be created in case sales documents should be filtered by multiple fields.
Properties
FieldName
The name of the ERP document entity field to filter sales documents by.
Note
Sales document entity fields should contain the field with provided name.
public override string FieldName => "AddressId";
Methods
Note
All code examples may contain nonexistent methods or properties. They are used as declarations only and should be created if they fit the designed extension or deleted if they do not.
GetFieldValues
Gets the field values to filter sales documents by.
public override ErpFieldValue[] GetFieldValues(in SalesDocumentsFieldFilterContext context)
{
if (context.DocumentType == SalesDocumentType.Order || context.DocumentType == SalesDocumentType.Quote)
{
var value = GetCustomerAddressErpValue();
if (value is null)
return [];
return [value];
}
return [];
}
ErpFieldValue? GetCustomerAddressErpValue()
{
var addressId = Api.CurrentUserData.Get<UserData>()?.SelectedAddressId;
if (string.IsNullOrEmpty(addressId))
return null;
return ErpFieldValue.FromString(addressId);
}
sealed class UserData
{
public string? SelectedAddressId { get; set; }
}