2b6f29e775
Adds GivingListItemDto, GivingDto, CreateGivingRequest, UpdateGivingRequest DTOs; IGivingService interface; GivingService implementation with category/date filtering, OfferingSession lock guard (Submitted/Reconciled), and DI registration in Program.cs. Covered by 4 xUnit tests (TDD: red → green). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
730 B
C#
17 lines
730 B
C#
using System.ComponentModel.DataAnnotations;
|
|
namespace ROLAC.API.DTOs.Giving;
|
|
|
|
public class CreateGivingRequest
|
|
{
|
|
public int? MemberId { get; set; }
|
|
[Required] public int GivingCategoryId { get; set; }
|
|
[Range(0.01, 9999999)] public decimal Amount { get; set; }
|
|
[Required, MaxLength(20)] public string PaymentMethod { get; set; } = "Cash";
|
|
[MaxLength(50)] public string? CheckNumber { get; set; }
|
|
[MaxLength(100)] public string? ZelleReferenceCode { get; set; }
|
|
[MaxLength(100)] public string? PayPalTransactionId { get; set; }
|
|
public DateOnly GivingDate { get; set; }
|
|
public bool IsAnonymous { get; set; }
|
|
[MaxLength(500)] public string? Notes { get; set; }
|
|
}
|