73 lines
3.1 KiB
C#
73 lines
3.1 KiB
C#
using AutoMapper;
|
|
using PortBlog.API.Entities;
|
|
using PortBlog.API.Models;
|
|
|
|
namespace PortBlog.API.Profiles
|
|
{
|
|
public class ResumeProfile : Profile
|
|
{
|
|
public ResumeProfile()
|
|
{
|
|
CreateMap<Candidate, CandidateDto>()
|
|
.ForMember
|
|
(
|
|
dest => dest.Dob,
|
|
src => src.MapFrom(src => src.Dob != null ? src.Dob.Value.ToString("MMM dd, yyyy") : string.Empty)
|
|
);
|
|
CreateMap<Academic, AcademicDto>()
|
|
.ForMember(
|
|
dest => dest.Period,
|
|
src => src.MapFrom(src => src.StartYear + " - " + src.EndYear)
|
|
);
|
|
CreateMap<Certification, CertificationDto>();
|
|
CreateMap<Hobby, HobbyDto>();
|
|
CreateMap<Experience, ExperienceDto>()
|
|
.ForMember(
|
|
dest => dest.Period,
|
|
src => src.MapFrom(src => src.StartDate.ToString("MMM yyyy") + " - " + (src.EndDate != null ? src.EndDate.Value.ToString("MMM yyyy") : "Present"))
|
|
)
|
|
.ForMember
|
|
(
|
|
dest => dest.StartYear,
|
|
opts => opts.MapFrom(src => src.StartDate.Year.ToString())
|
|
)
|
|
.ForMember
|
|
(
|
|
dest => dest.EndYear,
|
|
opts => opts.MapFrom(src => src.EndDate != null ? src.EndDate.Value.Year.ToString() : "Present")
|
|
);
|
|
CreateMap<ExperienceDetails, ExperienceDetailsDto>();
|
|
CreateMap<Project, ProjectDto>()
|
|
.ForMember
|
|
(
|
|
dest => dest.Roles,
|
|
src => src.MapFrom(src => !string.IsNullOrEmpty(src.Roles) ? src.Roles.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList() : new List<string>())
|
|
)
|
|
.ForMember
|
|
(
|
|
dest => dest.Responsibilities,
|
|
src => src.MapFrom(src => !string.IsNullOrEmpty(src.Responsibilities) ? src.Responsibilities.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList() : new List<string>())
|
|
)
|
|
.ForMember
|
|
(
|
|
dest => dest.TechnologiesUsed,
|
|
src => src.MapFrom(src => !string.IsNullOrEmpty(src.TechnologiesUsed) ? src.TechnologiesUsed.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList() : new List<string>())
|
|
);
|
|
CreateMap<Skill, SkillDto>();
|
|
CreateMap<SocialLinks, SocialLinksDto>()
|
|
.ForMember
|
|
(
|
|
dest => dest.Posts,
|
|
src => src.MapFrom(src => src.Blog != null ? src.Blog.Posts : new List<Post>())
|
|
);
|
|
CreateMap<Resume, CvDto>();
|
|
CreateMap<Resume, ResumeDto>();
|
|
CreateMap<Resume, AboutDto>();
|
|
CreateMap<Resume, CandidateSocialLinksDto>();
|
|
CreateMap<Resume, ProjectsDto>();
|
|
CreateMap<MessageDto, MessageSendDto>();
|
|
CreateMap<MessageSendDto, Message>();
|
|
}
|
|
}
|
|
}
|