48 lines
2.3 KiB
C#
48 lines
2.3 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
namespace ROLAC.API.DTOs.Disbursement;
|
|
|
|
public class ChurchProfileDto
|
|
{
|
|
public int Id { get; set; }
|
|
public string Name { get; set; } = "";
|
|
public string? NameZh { get; set; }
|
|
public string? Phone { get; set; }
|
|
public string? Email { get; set; }
|
|
public string? Website { get; set; }
|
|
public string? Address { get; set; }
|
|
public string? City { get; set; }
|
|
public string? State { get; set; }
|
|
public string? ZipCode { get; set; }
|
|
public string? BankName { get; set; }
|
|
public string? BankAccountNumber { get; set; }
|
|
public string? BankRoutingNumber { get; set; }
|
|
public int NextCheckNumber { get; set; }
|
|
public string AiProvider { get; set; } = "Claude";
|
|
public string? ClaudeModel { get; set; }
|
|
public string? ClaudeApiKeyMasked { get; set; }
|
|
public string? GeminiModel { get; set; }
|
|
public string? GeminiApiKeyMasked { get; set; }
|
|
}
|
|
|
|
public class UpdateChurchProfileRequest
|
|
{
|
|
[Required, MaxLength(200)] public string Name { get; set; } = "";
|
|
[MaxLength(200)] public string? NameZh { get; set; }
|
|
[MaxLength(50)] public string? Phone { get; set; }
|
|
[MaxLength(200), EmailAddress] public string? Email { get; set; }
|
|
[MaxLength(300)] public string? Website { get; set; }
|
|
[MaxLength(500)] public string? Address { get; set; }
|
|
[MaxLength(100)] public string? City { get; set; }
|
|
[MaxLength(50)] public string? State { get; set; }
|
|
[MaxLength(20)] public string? ZipCode { get; set; }
|
|
[MaxLength(200)] public string? BankName { get; set; }
|
|
[MaxLength(50)] public string? BankAccountNumber { get; set; }
|
|
[MaxLength(50)] public string? BankRoutingNumber { get; set; }
|
|
[Range(1, int.MaxValue)] public int NextCheckNumber { get; set; }
|
|
[MaxLength(20)] public string AiProvider { get; set; } = "Claude";
|
|
[MaxLength(100)] public string? ClaudeModel { get; set; }
|
|
[MaxLength(500)] public string? ClaudeApiKey { get; set; } // null/blank = leave unchanged
|
|
[MaxLength(100)] public string? GeminiModel { get; set; }
|
|
[MaxLength(500)] public string? GeminiApiKey { get; set; } // null/blank = leave unchanged
|
|
}
|