58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using AutoMapper;
|
|
using AutoMapper.Internal.Mappers;
|
|
using Entities.Contracts;
|
|
using Entities.DTO;
|
|
|
|
namespace TechHelper.Context
|
|
{
|
|
public class AutoMapperProFile : Profile
|
|
{
|
|
|
|
public static class EnumMappingHelpers
|
|
{
|
|
public static TEnum ParseEnumSafe<TEnum>(string sourceString, TEnum defaultValue) where TEnum : struct, Enum
|
|
{
|
|
if (Enum.TryParse(sourceString, true, out TEnum parsedValue))
|
|
{
|
|
return parsedValue;
|
|
}
|
|
return defaultValue;
|
|
}
|
|
}
|
|
|
|
public AutoMapperProFile()
|
|
{
|
|
CreateMap<UserForRegistrationDto, User>()
|
|
.ForMember(dest => dest.Id, opt => opt.Ignore())
|
|
.ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.Name))
|
|
.ForMember(dest => dest.Email, opt => opt.MapFrom(src => src.Email))
|
|
.ForMember(dest => dest.PhoneNumber, opt => opt.MapFrom(src => src.PhoneNumber))
|
|
.ForMember(dest => dest.Address, opt => opt.MapFrom(src => src.HomeAddress))
|
|
.ForMember(dest => dest.PasswordHash, opt => opt.Ignore())
|
|
.ForMember(dest => dest.EmailConfirmed, opt => opt.Ignore());
|
|
|
|
CreateMap<ClassDto, Class>()
|
|
.ForMember(d => d.Number, o => o.MapFrom(src => src.Class)).ReverseMap();
|
|
|
|
|
|
|
|
|
|
CreateMap<Assignment, AssignmentDto>();
|
|
|
|
CreateMap<QuestionContext, QuestionContextDto>().ReverseMap();
|
|
|
|
CreateMap<AssignmentQuestion, AssignmentQuestionDto>();
|
|
|
|
CreateMap<Question, QuestionDto>();
|
|
|
|
CreateMap<AssignmentDto, Assignment>();
|
|
|
|
CreateMap<AssignmentQuestionDto, AssignmentQuestion>();
|
|
|
|
CreateMap<QuestionDto, Question>();
|
|
|
|
}
|
|
}
|
|
|
|
}
|