feat(giving): offering-session batch service with server-side totals + locking
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace ROLAC.API.DTOs.Giving;
|
||||
|
||||
public class CreateOfferingSessionRequest
|
||||
{
|
||||
[Required] public DateOnly SessionDate { get; set; }
|
||||
public decimal CashTotal { get; set; }
|
||||
public decimal CheckTotal { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
public List<OfferingGivingLineRequest> Givings { get; set; } = [];
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace ROLAC.API.DTOs.Giving;
|
||||
|
||||
public class OfferingGivingLineDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int? MemberId { get; set; }
|
||||
public string? MemberName { get; set; }
|
||||
public int GivingCategoryId { get; set; }
|
||||
public string CategoryName { get; set; } = "";
|
||||
public decimal Amount { get; set; }
|
||||
public string PaymentMethod { get; set; } = "";
|
||||
public string? CheckNumber { get; set; }
|
||||
public bool IsAnonymous { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
namespace ROLAC.API.DTOs.Giving;
|
||||
|
||||
public class OfferingGivingLineRequest
|
||||
{
|
||||
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 bool IsAnonymous { get; set; }
|
||||
[MaxLength(500)] public string? Notes { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
namespace ROLAC.API.DTOs.Giving;
|
||||
|
||||
public class OfferingSessionDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public DateOnly SessionDate{ get; set; }
|
||||
public string Status { get; set; } = "";
|
||||
public decimal CashTotal { get; set; }
|
||||
public decimal CheckTotal { get; set; }
|
||||
public decimal SystemTotal { get; set; }
|
||||
public decimal Difference { get; set; }
|
||||
public string? Notes { get; set; }
|
||||
public List<OfferingGivingLineDto> Givings { get; set; } = [];
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace ROLAC.API.DTOs.Giving;
|
||||
|
||||
public class OfferingSessionListItemDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string SessionDate { get; set; } = ""; // yyyy-MM-dd
|
||||
public string Status { get; set; } = "";
|
||||
public decimal CashTotal { get; set; }
|
||||
public decimal CheckTotal { get; set; }
|
||||
public decimal SystemTotal { get; set; }
|
||||
public decimal Difference { get; set; }
|
||||
public int LineCount { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user