using AutoMapper; using LittleShop.Models; using LittleShop.DTOs; namespace LittleShop.Mapping; public class MappingProfile : Profile { public MappingProfile() { CreateMap(); CreateMap() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.PasswordHash, opt => opt.Ignore()) .ForMember(dest => dest.CreatedAt, opt => opt.Ignore()) .ForMember(dest => dest.IsActive, opt => opt.MapFrom(src => true)); CreateMap() .ForMember(dest => dest.ProductCount, opt => opt.MapFrom(src => src.Products.Count(p => p.IsActive))); CreateMap() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.CreatedAt, opt => opt.Ignore()) .ForMember(dest => dest.IsActive, opt => opt.MapFrom(src => true)); CreateMap() .ForMember(dest => dest.CategoryName, opt => opt.MapFrom(src => src.Category.Name)); CreateMap() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.CreatedAt, opt => opt.Ignore()) .ForMember(dest => dest.IsActive, opt => opt.MapFrom(src => true)); CreateMap(); CreateMap(); CreateMap() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.Status, opt => opt.MapFrom(src => LittleShop.Enums.OrderStatus.PendingPayment)) .ForMember(dest => dest.TotalAmount, opt => opt.Ignore()) .ForMember(dest => dest.Currency, opt => opt.MapFrom(src => "GBP")) .ForMember(dest => dest.CreatedAt, opt => opt.Ignore()); CreateMap() .ForMember(dest => dest.ProductName, opt => opt.MapFrom(src => src.Product.Name)); CreateMap(); } }