2using System.Collections.Generic;
4using System.Runtime.Serialization;
14 private const string BASE_PATH =
"Layer";
17 [DataMember(Order = 1)]
18 [JsonProperty(PropertyName =
"ref")]
20 public List<string>
_ref {
get;
set; }
39 #endregion Enumerations
44 private FeeReference(
string path1,
string path2,
string path3)
46 _ref =
new List<string>() { path1, path2, path3};
51 _ref =
new List<string>() { path1, path2};
54 #region Static Factory Methods
73 return new FeeReference(BASE_PATH,
"ReinstatementBrokerage");
75 throw new ArgumentException($
"Invalid {nameof(LossSource)}.");
114 #endregion Static Factory Methods
116 #region Equality Overrides
121 other !=
null && (ReferenceEquals(
_ref, other._ref) ||
122 _ref !=
null && other._ref !=
null &&
_ref.SequenceEqual(other._ref));
127 public override bool Equals(
object obj) =>
136 return _ref?.Aggregate(17, (hash, path) => hash * 23 + path.GetHashCode()) ?? 0;
139 #endregion Equality Overrides
Base class used by all types and resources.
Represents a reference, used in Fee objects.
static FeeReference Losses
Layer Losses Reference.
static FeeReference ReinstatementBrokerage
Reinstatement Brokerage Reference.
LossSource
Sources of Losses.
static FeeReference Premium
Premium reference.
bool Equals(FeeReference other)
Determine if this FeeReference is equivalent to another.
static FeeReference Create(Fee source)
Create a reference to a Fee source.
static FeeReference Create(LossSource source)
Create a reference to a Loss source.
static FeeReference CreateFromFeeName(string name)
Create a reference to a Fee from its name.
PremiumSource
Sources of Premium.
FeeReference()
Default constructor.
override int GetHashCode()
Get the HashCode for this FeeReference.
static FeeReference ReinstatementPremium
Reinstatement Premium Reference.
static FeeReference CreateFromPremiumOrLossName(string name)
Create a reference to a Premium or Loss from its name.
static FeeReference Create(PremiumSource source)
Create a reference to a Premium source.
override bool Equals(object obj)
Determine if this FeeReference is equivalent to another object.
List< string > _ref
The reference path.
Abstract representation of a fee. This resource type cannot be instantiated instead derived resource ...
string name
A user friendly name for this fee.