34 lines
1.4 KiB
C#
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());
|
|
}
|
|
}
|