Files
2026-05-05 10:39:43 +02:00

34 lines
1.4 KiB
C#

using AutoMapper;
using MetaCourse.Api.DTOs.Courses;
using MetaCourse.Api.Entities;
namespace MetaCourse.Api.Mappings;
public class CourseProfile : Profile
{
public CourseProfile()
{
CreateMap<Course, GetCourseDto>()
.ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.Status.ToString()))
.ForMember(dest => dest.CreatorName, opt => opt.MapFrom(src => src.Creator.Name))
.ForMember(dest => dest.TopicCount, opt => opt.MapFrom(src => src.Topics.Count));
CreateMap<Course, GetCourseDetailsDto>()
.ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.Status.ToString()))
.ForMember(dest => dest.CreatorName, opt => opt.MapFrom(src => src.Creator.Name));
CreateMap<CreateCourseDto, Course>()
.ForMember(dest => dest.Id, opt => opt.Ignore())
.ForMember(dest => dest.Status, opt => opt.Ignore())
.ForMember(dest => dest.CreatedAt, opt => opt.Ignore())
.ForMember(dest => dest.UpdatedAt, opt => opt.Ignore());
CreateMap<UpdateCourseDto, Course>()
.ForMember(dest => dest.Id, opt => opt.Ignore())
.ForMember(dest => dest.Status, opt => opt.Ignore())
.ForMember(dest => dest.CreatorId, opt => opt.Ignore())
.ForMember(dest => dest.CreatedAt, opt => opt.Ignore())
.ForMember(dest => dest.UpdatedAt, opt => opt.Ignore());
}
}