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,51 @@
using AutoMapper;
using PowderCoating.Core.Entities;
using PowderCoating.Core.Enums;
using PowderCoating.Application.DTOs.Equipment;
namespace PowderCoating.Application.Mappings;
public class EquipmentProfile : Profile
{
public EquipmentProfile()
{
// Equipment to EquipmentDto
CreateMap<Equipment, EquipmentDto>()
.ForMember(dest => dest.Status,
opt => opt.MapFrom(src => src.Status.ToString()))
.ForMember(dest => dest.StatusDisplay,
opt => opt.MapFrom(src => FormatEnumName(src.Status.ToString())))
.ForMember(dest => dest.DaysUntilMaintenance,
opt => opt.MapFrom(src => src.NextScheduledMaintenance.HasValue
? (int?)(src.NextScheduledMaintenance.Value - DateTime.Now).TotalDays
: null));
// CreateEquipmentDto to Equipment
CreateMap<CreateEquipmentDto, Equipment>()
.ForMember(dest => dest.Status,
opt => opt.MapFrom(src => Enum.Parse<EquipmentStatus>(src.Status)));
// UpdateEquipmentDto to Equipment
CreateMap<UpdateEquipmentDto, Equipment>()
.ForMember(dest => dest.Status,
opt => opt.MapFrom(src => Enum.Parse<EquipmentStatus>(src.Status)));
// Equipment to UpdateEquipmentDto (needed for Edit GET action)
CreateMap<Equipment, UpdateEquipmentDto>()
.ForMember(dest => dest.Status,
opt => opt.MapFrom(src => src.Status.ToString()));
// Equipment to EquipmentListDto
CreateMap<Equipment, EquipmentListDto>()
.ForMember(dest => dest.Status,
opt => opt.MapFrom(src => src.Status.ToString()))
.ForMember(dest => dest.StatusDisplay,
opt => opt.MapFrom(src => FormatEnumName(src.Status.ToString())));
}
private static string FormatEnumName(string enumName)
{
// Convert "NeedsMaintenance" to "Needs Maintenance"
return System.Text.RegularExpressions.Regex.Replace(enumName, "([a-z])([A-Z])", "$1 $2");
}
}