Initial commit

This commit is contained in:
2026-04-23 21:38:24 -04:00
commit 63e12a9636
1762 changed files with 1672620 additions and 0 deletions
@@ -0,0 +1,41 @@
using PowderCoating.Core.Enums;
namespace PowderCoating.Application.DTOs.Notification;
public class NotificationLogDto
{
public int Id { get; set; }
public NotificationChannel Channel { get; set; }
public string ChannelDisplay => Channel == NotificationChannel.Email ? "Email" : "SMS";
public NotificationType NotificationType { get; set; }
public string NotificationTypeDisplay => NotificationType switch
{
NotificationType.QuoteSent => "Quote Sent",
NotificationType.QuoteApproved => "Quote Approved",
NotificationType.JobStatusChanged => "Job Status Changed",
NotificationType.JobReadyForPickup => "Ready for Pickup",
NotificationType.JobCompleted => "Job Completed",
NotificationType.SmsConsentConfirmation => "SMS Consent Confirmation",
_ => NotificationType.ToString()
};
public NotificationStatus Status { get; set; }
public string StatusDisplay => Status switch
{
NotificationStatus.Sent => "Sent",
NotificationStatus.Failed => "Failed",
NotificationStatus.Skipped => "Skipped",
_ => Status.ToString()
};
public string RecipientName { get; set; } = string.Empty;
public string Recipient { get; set; } = string.Empty;
public string? Subject { get; set; }
public string Message { get; set; } = string.Empty;
public string? ErrorMessage { get; set; }
public DateTime SentAt { get; set; }
public int? CustomerId { get; set; }
public int? JobId { get; set; }
public int? QuoteId { get; set; }
public string? JobNumber { get; set; }
public string? QuoteNumber { get; set; }
public string? CustomerName { get; set; }
}
@@ -0,0 +1,23 @@
using PowderCoating.Core.Enums;
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Notification;
public class NotificationTemplateDto
{
public int Id { get; set; }
public NotificationType NotificationType { get; set; }
public NotificationChannel Channel { get; set; }
public string DisplayName { get; set; } = string.Empty;
public string? Subject { get; set; }
public string Body { get; set; } = string.Empty;
public bool IsEmail => Channel == NotificationChannel.Email;
public DateTime? UpdatedAt { get; set; }
}
public class UpdateNotificationTemplateDto
{
public int Id { get; set; }
[StringLength(300)] public string? Subject { get; set; }
[Required] public string Body { get; set; } = string.Empty;
}