sozsoft-platform/api/src/Sozsoft.Platform.Application/Identity/UserInfoViewModelMappingExtensions.cs
2026-06-11 00:38:20 +03:00

83 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using Sozsoft.Platform.Entities;
using Sozsoft.Platform.Extensions;
using Sozsoft.Platform.Identity.Dto;
using Volo.Abp.Identity;
namespace Sozsoft.Platform.Identity;
public static class UserInfoViewModelMappingExtensions
{
public static UserInfoViewModel MapIdentityExtraProperties(this UserInfoViewModel userInfoViewModel, IdentityUser user)
{
userInfoViewModel.IsVerified = user.GetIsVerified();
userInfoViewModel.LoginEndDate = user.GetLoginEndDate();
userInfoViewModel.Avatar = user.GetAvatar();
userInfoViewModel.RocketUsername = user.GetRocketUsername();
userInfoViewModel.WorkHour = user.GetWorkHour();
userInfoViewModel.DepartmentId = user.GetDepartmentId();
userInfoViewModel.JobPositionId = user.GetJobPositionId();
userInfoViewModel.Nationality = user.GetNationality();
userInfoViewModel.SskNo = user.GetSskNo();
userInfoViewModel.HireDate = user.GetHireDate();
userInfoViewModel.TerminationDate = user.GetTerminationDate();
userInfoViewModel.IdentityNumber = user.GetIdentityNumber();
userInfoViewModel.SerialNo = user.GetSerialNo();
userInfoViewModel.Province = user.GetProvince();
userInfoViewModel.District = user.GetDistrict();
userInfoViewModel.Village = user.GetVillage();
userInfoViewModel.VolumeNo = user.GetVolumeNo();
userInfoViewModel.FamilySequenceNo = user.GetFamilySequenceNo();
userInfoViewModel.SequenceNo = user.GetSequenceNo();
userInfoViewModel.IssuedPlace = user.GetIssuedPlace();
userInfoViewModel.IssuedDate = user.GetIssuedDate();
userInfoViewModel.BirthPlace = user.GetBirthPlace();
userInfoViewModel.BirthDate = user.GetBirthDate();
userInfoViewModel.FatherName = user.GetFatherName();
userInfoViewModel.MotherName = user.GetMotherName();
userInfoViewModel.MaritalStatus = user.GetMaritalStatus();
userInfoViewModel.MarriageDate = user.GetMarriageDate();
userInfoViewModel.HomeAddress = user.GetHomeAddress();
userInfoViewModel.EducationLevel = user.GetEducationLevel();
userInfoViewModel.GraduationSchool = user.GetGraduationSchool();
userInfoViewModel.BloodType = user.GetBloodType();
return userInfoViewModel;
}
public static UserInfoViewModel MapDepartmentAndJobPositionAssignments(
this UserInfoViewModel userInfoViewModel,
IReadOnlyDictionary<Guid, string> departmentDict,
IReadOnlyDictionary<Guid, JobPosition> jobPositionDict)
{
if (userInfoViewModel.DepartmentId != Guid.Empty && departmentDict.TryGetValue(userInfoViewModel.DepartmentId, out var departmentName))
{
userInfoViewModel.Departments =
[
new AssignedDepartmentViewModel
{
Id = userInfoViewModel.DepartmentId,
Name = departmentName,
IsAssigned = true
}
];
}
if (userInfoViewModel.JobPositionId != Guid.Empty && jobPositionDict.TryGetValue(userInfoViewModel.JobPositionId, out var jobPosition))
{
userInfoViewModel.JobPositions =
[
new AssignedJobPoisitionViewModel
{
Id = userInfoViewModel.JobPositionId,
Name = jobPosition.Name,
DepartmentId = jobPosition.DepartmentId,
IsAssigned = true
}
];
}
return userInfoViewModel;
}
}