173 lines
6.8 KiB
C#
173 lines
6.8 KiB
C#
using System;
|
|
using System.Linq.Expressions;
|
|
using DocuMed.Domain.Dtos.SmallDtos;
|
|
using DocuMed.Domain.Entities.City;
|
|
using DocuMed.Domain.Entities.User;
|
|
using Mapster.Models;
|
|
|
|
namespace DocuMed.Domain.Mappers
|
|
{
|
|
public static partial class ApplicationUserMapper
|
|
{
|
|
public static ApplicationUser AdaptToApplicationUser(this ApplicationUserSDto p1)
|
|
{
|
|
return p1 == null ? null : new ApplicationUser()
|
|
{
|
|
FirstName = p1.FirstName,
|
|
LastName = p1.LastName,
|
|
NationalId = p1.NationalId,
|
|
StudentId = p1.StudentId,
|
|
BirthDate = p1.BirthDate,
|
|
Gender = p1.Gender,
|
|
SignUpStatus = p1.SignUpStatus,
|
|
UniversityId = (Guid?)p1.UniversityId,
|
|
University = new University() {Id = p1.UniversityId},
|
|
SectionId = (Guid?)p1.SectionId,
|
|
Section = new Section()
|
|
{
|
|
Name = p1.SectionName,
|
|
Id = p1.SectionId
|
|
},
|
|
Id = p1.Id,
|
|
UserName = p1.UserName,
|
|
Email = p1.Email,
|
|
PhoneNumber = p1.PhoneNumber,
|
|
PhoneNumberConfirmed = p1.PhoneNumberConfirmed
|
|
};
|
|
}
|
|
public static ApplicationUser AdaptTo(this ApplicationUserSDto p2, ApplicationUser p3)
|
|
{
|
|
if (p2 == null)
|
|
{
|
|
return null;
|
|
}
|
|
ApplicationUser result = p3 ?? new ApplicationUser();
|
|
|
|
result.FirstName = p2.FirstName;
|
|
result.LastName = p2.LastName;
|
|
result.NationalId = p2.NationalId;
|
|
result.StudentId = p2.StudentId;
|
|
result.BirthDate = p2.BirthDate;
|
|
result.Gender = p2.Gender;
|
|
result.SignUpStatus = p2.SignUpStatus;
|
|
result.UniversityId = (Guid?)p2.UniversityId;
|
|
result.University = funcMain1(new Never(), result.University, p2);
|
|
result.SectionId = (Guid?)p2.SectionId;
|
|
result.Section = funcMain2(new Never(), result.Section, p2);
|
|
result.Id = p2.Id;
|
|
result.UserName = p2.UserName;
|
|
result.Email = p2.Email;
|
|
result.PhoneNumber = p2.PhoneNumber;
|
|
result.PhoneNumberConfirmed = p2.PhoneNumberConfirmed;
|
|
return result;
|
|
|
|
}
|
|
public static Expression<Func<ApplicationUserSDto, ApplicationUser>> ProjectToApplicationUser => p8 => new ApplicationUser()
|
|
{
|
|
FirstName = p8.FirstName,
|
|
LastName = p8.LastName,
|
|
NationalId = p8.NationalId,
|
|
StudentId = p8.StudentId,
|
|
BirthDate = p8.BirthDate,
|
|
Gender = p8.Gender,
|
|
SignUpStatus = p8.SignUpStatus,
|
|
UniversityId = (Guid?)p8.UniversityId,
|
|
University = new University() {Id = p8.UniversityId},
|
|
SectionId = (Guid?)p8.SectionId,
|
|
Section = new Section()
|
|
{
|
|
Name = p8.SectionName,
|
|
Id = p8.SectionId
|
|
},
|
|
Id = p8.Id,
|
|
UserName = p8.UserName,
|
|
Email = p8.Email,
|
|
PhoneNumber = p8.PhoneNumber,
|
|
PhoneNumberConfirmed = p8.PhoneNumberConfirmed
|
|
};
|
|
public static ApplicationUserSDto AdaptToSDto(this ApplicationUser p9)
|
|
{
|
|
return p9 == null ? null : new ApplicationUserSDto()
|
|
{
|
|
FirstName = p9.FirstName,
|
|
LastName = p9.LastName,
|
|
UserName = p9.UserName,
|
|
Email = p9.Email,
|
|
PhoneNumber = p9.PhoneNumber,
|
|
PhoneNumberConfirmed = p9.PhoneNumberConfirmed,
|
|
NationalId = p9.NationalId,
|
|
StudentId = p9.StudentId,
|
|
BirthDate = p9.BirthDate,
|
|
Gender = p9.Gender,
|
|
SignUpStatus = p9.SignUpStatus,
|
|
UniversityId = p9.UniversityId == null ? default(Guid) : (Guid)p9.UniversityId,
|
|
SectionId = p9.SectionId == null ? default(Guid) : (Guid)p9.SectionId,
|
|
SectionName = p9.Section != null ? p9.Section.Name : string.Empty,
|
|
Id = p9.Id
|
|
};
|
|
}
|
|
public static ApplicationUserSDto AdaptTo(this ApplicationUser p10, ApplicationUserSDto p11)
|
|
{
|
|
if (p10 == null)
|
|
{
|
|
return null;
|
|
}
|
|
ApplicationUserSDto result = p11 ?? new ApplicationUserSDto();
|
|
|
|
result.FirstName = p10.FirstName;
|
|
result.LastName = p10.LastName;
|
|
result.UserName = p10.UserName;
|
|
result.Email = p10.Email;
|
|
result.PhoneNumber = p10.PhoneNumber;
|
|
result.PhoneNumberConfirmed = p10.PhoneNumberConfirmed;
|
|
result.NationalId = p10.NationalId;
|
|
result.StudentId = p10.StudentId;
|
|
result.BirthDate = p10.BirthDate;
|
|
result.Gender = p10.Gender;
|
|
result.SignUpStatus = p10.SignUpStatus;
|
|
result.UniversityId = p10.UniversityId == null ? default(Guid) : (Guid)p10.UniversityId;
|
|
result.SectionId = p10.SectionId == null ? default(Guid) : (Guid)p10.SectionId;
|
|
result.SectionName = p10.Section != null ? p10.Section.Name : string.Empty;
|
|
result.Id = p10.Id;
|
|
return result;
|
|
|
|
}
|
|
public static Expression<Func<ApplicationUser, ApplicationUserSDto>> ProjectToSDto => p12 => new ApplicationUserSDto()
|
|
{
|
|
FirstName = p12.FirstName,
|
|
LastName = p12.LastName,
|
|
UserName = p12.UserName,
|
|
Email = p12.Email,
|
|
PhoneNumber = p12.PhoneNumber,
|
|
PhoneNumberConfirmed = p12.PhoneNumberConfirmed,
|
|
NationalId = p12.NationalId,
|
|
StudentId = p12.StudentId,
|
|
BirthDate = p12.BirthDate,
|
|
Gender = p12.Gender,
|
|
SignUpStatus = p12.SignUpStatus,
|
|
UniversityId = p12.UniversityId == null ? default(Guid) : (Guid)p12.UniversityId,
|
|
SectionId = p12.SectionId == null ? default(Guid) : (Guid)p12.SectionId,
|
|
SectionName = p12.Section != null ? p12.Section.Name : string.Empty,
|
|
Id = p12.Id
|
|
};
|
|
|
|
private static University funcMain1(Never p4, University p5, ApplicationUserSDto p2)
|
|
{
|
|
University result = p5 ?? new University();
|
|
|
|
result.Id = p2.UniversityId;
|
|
return result;
|
|
|
|
}
|
|
|
|
private static Section funcMain2(Never p6, Section p7, ApplicationUserSDto p2)
|
|
{
|
|
Section result = p7 ?? new Section();
|
|
|
|
result.Name = p2.SectionName;
|
|
result.Id = p2.SectionId;
|
|
return result;
|
|
|
|
}
|
|
}
|
|
} |