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,54 @@
using AutoMapper;
using PowderCoating.Application.DTOs.Company;
using PowderCoating.Application.DTOs.User;
using PowderCoating.Application.Services;
using PowderCoating.Core.Entities;
namespace PowderCoating.Application.Mappings;
public class CompanyProfile : Profile
{
public CompanyProfile()
{
CreateMap<Company, CompanyDto>()
.ForMember(dest => dest.UserCount, opt => opt.MapFrom(src => src.Users.Count))
.ForMember(dest => dest.CustomerCount, opt => opt.MapFrom(src => src.Customers.Count))
.ForMember(dest => dest.JobCount, opt => opt.MapFrom(src => src.Jobs.Count))
.ForMember(dest => dest.Users, opt => opt.MapFrom(src => src.Users));
CreateMap<ApplicationUser, CompanyUserDto>();
CreateMap<Company, CompanyListDto>()
.ForMember(dest => dest.UserCount, opt => opt.MapFrom(src => src.Users.Count));
CreateMap<CreateCompanyDto, Company>();
CreateMap<UpdateCompanyDto, Company>();
CreateMap<Company, UpdateCompanyDto>();
// Company Settings mappings
CreateMap<Company, CompanySettingsDto>()
.ForMember(dest => dest.HasLogo, opt => opt.MapFrom(src =>
!string.IsNullOrEmpty(src.LogoFilePath) || (src.LogoData != null && src.LogoData.Length > 0)));
CreateMap<UpdateCompanySettingsDto, Company>();
// Company Operating Costs mappings
CreateMap<CompanyOperatingCosts, CompanyOperatingCostsDto>()
.ForMember(dest => dest.DerivedBlastRateSqFtPerHour,
opt => opt.MapFrom(src => ShopCapabilityCalculator.GetBlastRateSqFtPerHour(src)))
.ForMember(dest => dest.DerivedCoatingRateSqFtPerHour,
opt => opt.MapFrom(src => ShopCapabilityCalculator.GetCoatingRateSqFtPerHour(src)));
CreateMap<UpdateOperatingCostsDto, CompanyOperatingCosts>();
CreateMap<UpdateBlastProfileDto, CompanyOperatingCosts>();
// Company Preferences mappings
CreateMap<CompanyPreferences, CompanyPreferencesDto>().ReverseMap();
CreateMap<UpdateAppDefaultsDto, CompanyPreferences>();
CreateMap<UpdateJobDefaultsDto, CompanyPreferences>();
CreateMap<UpdateNotificationsDto, CompanyPreferences>();
CreateMap<UpdateDataRetentionDto, CompanyPreferences>();
CreateMap<UpdateQuoteTemplateDto, CompanyPreferences>();
CreateMap<UpdateInvoiceTemplateDto, CompanyPreferences>();
CreateMap<UpdateWorkOrderTemplateDto, CompanyPreferences>();
}
}