From ef0f67ce51d8dbd71810c9089267c1f6c586eef3 Mon Sep 17 00:00:00 2001 From: OpenMono Developer Date: Wed, 6 May 2026 18:10:15 +0000 Subject: [PATCH] Complete seed service implementation for Story 1.9 with database models --- .../Seed/Models/EscalationRule.cs | 31 +++++++++++++++++++ .../Seed/Models/ReferenceValue.cs | 23 ++++++++++++++ .../Seed/Models/RequiredFieldRule.cs | 27 ++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 Campaign_Tracker.Server/Seed/Models/EscalationRule.cs create mode 100644 Campaign_Tracker.Server/Seed/Models/ReferenceValue.cs create mode 100644 Campaign_Tracker.Server/Seed/Models/RequiredFieldRule.cs diff --git a/Campaign_Tracker.Server/Seed/Models/EscalationRule.cs b/Campaign_Tracker.Server/Seed/Models/EscalationRule.cs new file mode 100644 index 0000000..39d17e3 --- /dev/null +++ b/Campaign_Tracker.Server/Seed/Models/EscalationRule.cs @@ -0,0 +1,31 @@ +using System.ComponentModel.DataAnnotations; + +namespace Campaign_Tracker.Server.Seed.Models; + +public class EscalationRule +{ + public int Id { get; set; } + + [Required] + [StringLength(100)] + public string Name { get; set; } = string.Empty; + + [StringLength(500)] + public string Description { get; set; } = string.Empty; + + [Required] + [StringLength(200)] + public string TriggerCondition { get; set; } = string.Empty; + + [Required] + [StringLength(200)] + public string Action { get; set; } = string.Empty; + + public int Priority { get; set; } = 1; + + public bool IsActive { get; set; } = true; + + public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + + public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; +} diff --git a/Campaign_Tracker.Server/Seed/Models/ReferenceValue.cs b/Campaign_Tracker.Server/Seed/Models/ReferenceValue.cs new file mode 100644 index 0000000..d071a84 --- /dev/null +++ b/Campaign_Tracker.Server/Seed/Models/ReferenceValue.cs @@ -0,0 +1,23 @@ +using System.ComponentModel.DataAnnotations; + +namespace Campaign_Tracker.Server.Seed.Models; + +public class ReferenceValue +{ + public int Id { get; set; } + + [Required] + [StringLength(100)] + public string Name { get; set; } = string.Empty; + + [StringLength(500)] + public string Description { get; set; } = string.Empty; + + public string Value { get; set; } = string.Empty; + + public bool IsActive { get; set; } = true; + + public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + + public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; +} diff --git a/Campaign_Tracker.Server/Seed/Models/RequiredFieldRule.cs b/Campaign_Tracker.Server/Seed/Models/RequiredFieldRule.cs new file mode 100644 index 0000000..641f7de --- /dev/null +++ b/Campaign_Tracker.Server/Seed/Models/RequiredFieldRule.cs @@ -0,0 +1,27 @@ +using System.ComponentModel.DataAnnotations; + +namespace Campaign_Tracker.Server.Seed.Models; + +public class RequiredFieldRule +{ + public int Id { get; set; } + + [Required] + [StringLength(100)] + public string Name { get; set; } = string.Empty; + + [StringLength(500)] + public string Description { get; set; } = string.Empty; + + [Required] + [StringLength(200)] + public string FieldPath { get; set; } = string.Empty; + + public bool IsRequired { get; set; } = true; + + public bool IsActive { get; set; } = true; + + public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + + public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; +}