| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using Domain.Entities.Members;
- namespace Domain.Entities.Donations;
- public class SettlementAccount
- {
- [ForeignKey(nameof(ChannelID))]
- public virtual Channel? Channel { get; private set; }
- [ForeignKey(nameof(MemberID))]
- public virtual Member? Member { get; private set; }
- [Key]
- public int ID { get; private set; }
- public int ChannelID { get; private set; }
- public int MemberID { get; private set; }
- public string BankCode { get; private set; } = default!;
- public string BankName { get; private set; } = default!;
- public string AccountNumber { get; private set; } = default!;
- public string AccountHolder { get; private set; } = default!;
- public bool IsVerified { get; private set; }
- public DateTime CreatedAt { get; private set; } = DateTime.UtcNow;
- public DateTime UpdatedAt { get; private set; } = DateTime.UtcNow;
- private SettlementAccount() { }
- public static SettlementAccount Create(
- int channelID,
- int memberID,
- string bankCode,
- string bankName,
- string accountNumber,
- string accountHolder
- ) {
- return new SettlementAccount
- {
- ChannelID = channelID,
- MemberID = memberID,
- BankCode = bankCode,
- BankName = bankName,
- AccountNumber = accountNumber,
- AccountHolder = accountHolder,
- IsVerified = true
- };
- }
- public void Update(string bankCode, string bankName, string accountNumber, string accountHolder)
- {
- BankCode = bankCode;
- BankName = bankName;
- AccountNumber = accountNumber;
- AccountHolder = accountHolder;
- IsVerified = true;
- UpdatedAt = DateTime.UtcNow;
- }
- }
|