You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
738 B

2 years ago
using Connected.Data;
namespace Contacts.Types;
[Flags]
public enum CustomerRoles
{
None = 0,
Supplier = 1,
Customer = 2
}
/// <summary>
/// An entity which represents a business partner.
/// </summary>
/// <remarks>
/// A business partner can be an <see cref="IContact"/>
/// or an <see cref="IOrganization"/>. An <see cref="IContact"/> is tipically a person
/// which buys products and/or services. An <see cref="IOrganization"/> is a business
/// entity which can be <see cref="CustomerRoles.Supplier"/>, <see cref="CustomerRoles.Customer"/>
/// or both.
/// </remarks>
public interface IBusinessPartner : IPrimaryKey<int>
{
int? Organization { get; init; }
int? Contact { get; init; }
CustomerRoles Roles { get; init; }
}