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,65 @@
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Lookup;
public class AppointmentTypeLookupDto
{
public int Id { get; set; }
public string TypeCode { get; set; } = string.Empty;
public string DisplayName { get; set; } = string.Empty;
public int DisplayOrder { get; set; }
public string ColorClass { get; set; } = "primary";
public string? IconClass { get; set; }
public bool RequiresJobLink { get; set; }
public bool IsActive { get; set; }
public bool IsSystemDefined { get; set; }
public string? Description { get; set; }
public int AppointmentCount { get; set; } // Number of appointments using this type
}
public class CreateAppointmentTypeLookupDto
{
[Required, MaxLength(50)]
public string TypeCode { get; set; } = string.Empty;
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty;
[Range(1, 999)]
public int DisplayOrder { get; set; }
[Required, MaxLength(50)]
public string ColorClass { get; set; } = "primary";
[MaxLength(50)]
public string? IconClass { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
public bool RequiresJobLink { get; set; }
}
public class UpdateAppointmentTypeLookupDto
{
public int Id { get; set; }
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty; // TypeCode NOT editable
[Range(1, 999)]
public int DisplayOrder { get; set; }
[Required, MaxLength(50)]
public string ColorClass { get; set; } = "primary";
[MaxLength(50)]
public string? IconClass { get; set; }
public bool IsActive { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
public bool RequiresJobLink { get; set; }
}
@@ -0,0 +1,64 @@
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Lookup;
public class InventoryCategoryLookupDto
{
public int Id { get; set; }
public string CategoryCode { get; set; } = string.Empty;
public string DisplayName { get; set; } = string.Empty;
public int DisplayOrder { get; set; }
public string? Description { get; set; }
public bool IsActive { get; set; }
public bool IsSystemDefined { get; set; }
public bool IsCoating { get; set; }
public int ItemCount { get; set; } // Number of inventory items using this category
}
public class CreateInventoryCategoryLookupDto
{
[Required]
[MaxLength(50)]
[Display(Name = "Category Code")]
public string CategoryCode { get; set; } = string.Empty;
[Required]
[MaxLength(100)]
[Display(Name = "Display Name")]
public string DisplayName { get; set; } = string.Empty;
[Range(1, 999)]
[Display(Name = "Display Order")]
public int DisplayOrder { get; set; }
[Display(Name = "Is Coating")]
public bool IsCoating { get; set; } = false;
[MaxLength(500)]
[Display(Name = "Description")]
public string? Description { get; set; }
}
public class UpdateInventoryCategoryLookupDto
{
public int Id { get; set; }
[Required]
[MaxLength(100)]
[Display(Name = "Display Name")]
public string DisplayName { get; set; } = string.Empty; // CategoryCode NOT editable
[Range(1, 999)]
[Display(Name = "Display Order")]
public int DisplayOrder { get; set; }
[Display(Name = "Active")]
public bool IsActive { get; set; }
[Display(Name = "Is Coating")]
public bool IsCoating { get; set; }
[MaxLength(500)]
[Display(Name = "Description")]
public string? Description { get; set; }
}
@@ -0,0 +1,60 @@
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Lookup;
public class JobPriorityLookupDto
{
public int Id { get; set; }
public string PriorityCode { get; set; } = string.Empty;
public string DisplayName { get; set; } = string.Empty;
public int DisplayOrder { get; set; }
public string ColorClass { get; set; } = "secondary";
public string? IconClass { get; set; }
public bool IsActive { get; set; }
public bool IsSystemDefined { get; set; }
public string? Description { get; set; }
public int JobCount { get; set; } // Number of jobs using this priority
}
public class CreateJobPriorityLookupDto
{
[Required, MaxLength(50)]
public string PriorityCode { get; set; } = string.Empty;
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty;
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
}
public class UpdateJobPriorityLookupDto
{
public int Id { get; set; }
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty; // PriorityCode NOT editable
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
public bool IsActive { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
}
@@ -0,0 +1,81 @@
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Lookup;
public class JobStatusLookupDto
{
public int Id { get; set; }
public string StatusCode { get; set; } = string.Empty;
public string DisplayName { get; set; } = string.Empty;
public int DisplayOrder { get; set; }
public string ColorClass { get; set; } = "secondary";
public string? IconClass { get; set; }
public bool IsActive { get; set; }
public bool IsSystemDefined { get; set; }
public bool IsTerminalStatus { get; set; }
public bool IsWorkInProgressStatus { get; set; }
public string? Description { get; set; }
public string? WorkflowCategory { get; set; }
public int JobCount { get; set; } // Number of jobs using this status
}
public class CreateJobStatusLookupDto
{
[Required, MaxLength(50)]
public string StatusCode { get; set; } = string.Empty;
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty;
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
[MaxLength(100)]
public string? WorkflowCategory { get; set; }
public bool IsTerminalStatus { get; set; }
public bool IsWorkInProgressStatus { get; set; }
}
public class UpdateJobStatusLookupDto
{
public int Id { get; set; }
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty; // StatusCode NOT editable
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
public bool IsActive { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
[MaxLength(100)]
public string? WorkflowCategory { get; set; }
public bool IsTerminalStatus { get; set; }
public bool IsWorkInProgressStatus { get; set; }
}
public class ReorderLookupDto
{
[Required]
public List<int> OrderedIds { get; set; } = new();
}
@@ -0,0 +1,71 @@
using System.ComponentModel.DataAnnotations;
namespace PowderCoating.Application.DTOs.Lookup;
public class QuoteStatusLookupDto
{
public int Id { get; set; }
public string StatusCode { get; set; } = string.Empty;
public string DisplayName { get; set; } = string.Empty;
public int DisplayOrder { get; set; }
public string ColorClass { get; set; } = "secondary";
public string? IconClass { get; set; }
public bool IsActive { get; set; }
public bool IsSystemDefined { get; set; }
public bool IsApprovedStatus { get; set; }
public bool IsConvertedStatus { get; set; }
public bool IsDraftStatus { get; set; }
public string? Description { get; set; }
public int QuoteCount { get; set; } // Number of quotes using this status
}
public class CreateQuoteStatusLookupDto
{
[Required, MaxLength(50)]
public string StatusCode { get; set; } = string.Empty;
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty;
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
public bool IsApprovedStatus { get; set; }
public bool IsConvertedStatus { get; set; }
public bool IsDraftStatus { get; set; }
}
public class UpdateQuoteStatusLookupDto
{
public int Id { get; set; }
[Required, MaxLength(100)]
public string DisplayName { get; set; } = string.Empty; // StatusCode NOT editable
[Range(1, 999)]
public int DisplayOrder { get; set; }
[RegularExpression("^(primary|secondary|success|danger|warning|info|dark)$")]
public string ColorClass { get; set; } = "secondary";
[MaxLength(50)]
public string? IconClass { get; set; }
public bool IsActive { get; set; }
[MaxLength(500)]
public string? Description { get; set; }
public bool IsApprovedStatus { get; set; }
public bool IsConvertedStatus { get; set; }
public bool IsDraftStatus { get; set; }
}