| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace Domain.Entities.Donations;
- public class CrewDonationSummary
- {
- [ForeignKey(nameof(CrewSessionID))]
- public virtual CrewSession? CrewSession { get; private set; }
- [ForeignKey(nameof(CrewMemberID))]
- public virtual CrewMember? CrewMember { get; private set; }
- [Key]
- public int ID { get; private set; }
- public int CrewSessionID { get; private set; }
- public int CrewMemberID { get; private set; }
- public int TotalAmount { get; private set; }
- public int DonationCount { get; private set; }
- public decimal ContributionRate { get; private set; }
- public int Rank { get; private set; }
- public DateTime? UpdatedAt { get; private set; }
- public DateTime CreatedAt { get; private set; } = DateTime.UtcNow;
- private CrewDonationSummary() { }
- public static CrewDonationSummary Create(int crewSessionID, int crewMemberID)
- {
- return new CrewDonationSummary
- {
- CrewSessionID = crewSessionID,
- CrewMemberID = crewMemberID
- };
- }
- public void AddDonation(int amount)
- {
- TotalAmount += amount;
- DonationCount++;
- UpdatedAt = DateTime.UtcNow;
- }
- public void UpdateContribution(decimal contributionRate, int rank)
- {
- ContributionRate = contributionRate;
- Rank = rank;
- UpdatedAt = DateTime.UtcNow;
- }
- }
|