using System.ComponentModel.DataAnnotations; using Bit.Core.Enums; using Bit.Core.Utilities; namespace Bit.Core.Entities; public class Transaction : ITableObject { public Guid Id { get; set; } public Guid? UserId { get; set; } public Guid? OrganizationId { get; set; } public TransactionType Type { get; set; } public decimal Amount { get; set; } public bool? Refunded { get; set; } public decimal? RefundedAmount { get; set; } [MaxLength(100)] public string Details { get; set; } public PaymentMethodType? PaymentMethodType { get; set; } public GatewayType? Gateway { get; set; } [MaxLength(50)] public string GatewayId { get; set; } public DateTime CreationDate { get; set; } = DateTime.UtcNow; public void SetNewId() { Id = CoreHelpers.GenerateComb(); } }