public override Account CreateNewAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId) => new AccountType.GoldAccount(holder, generatorId);
/// <summary> /// Constructor of siver account /// </summary> /// <param name="holder"> /// Holder /// </param> /// <param name="balance"> /// Balance /// </param> public SilverAccount(AccountHolder.AccountHolder holder, decimal balance) : base(holder, balance, new SilverGenerator()) { }
public abstract Account CreateNewAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId);
public SilverAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus) { }
public GoldAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal balance, int bonusPoints, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus, balance, bonusPoints) { }
/// <summary> /// Constructor of platinum account /// </summary> /// <param name="holder"> /// Holder /// </param> /// <param name="balance"> /// Balance /// </param> public PlatinumAccount(AccountHolder.AccountHolder holder, decimal balance, IAccountGeneratorNumber type) : base(holder, balance, type) { }
public PlatinumAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal balance, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus, balance) { }
/// <summary> /// Constructor of golden account /// </summary> /// <param name="holder"> /// Holder /// </param> /// <param name="balance"> /// Balance /// </param> public GoldenAccount(AccountHolder.AccountHolder holder, decimal balance) : base(holder, balance, new GoldGenerator()) { }
/// <summary> /// Constructor of base account /// </summary> /// <param name="holder"> /// Holder /// </param> /// <param name="balance"> /// Balance /// </param> public BaseAccount(AccountHolder.AccountHolder holder, decimal balance) : base(holder, balance, new BaseGenerator()) { }