@@ -7,23 +7,24 @@ namespace Spd.Resource.Repository.Licence
7
7
{
8
8
internal class Mappings : Profile
9
9
{
10
+ private static List < ServiceTypeEnum > OrgServiceTypes = new List < ServiceTypeEnum > { ServiceTypeEnum . MDRA , ServiceTypeEnum . SecurityBusinessLicence } ;
10
11
public Mappings ( )
11
12
{
12
13
13
14
_ = CreateMap < spd_licence , LicenceResp > ( )
14
15
. ForMember ( d => d . LicenceId , opt => opt . MapFrom ( s => s . spd_licenceid ) )
15
- . ForMember ( d => d . LicenceAppId , opt => opt . MapFrom ( s => s . spd_CaseId . _spd_applicationid_value ) )
16
- . ForMember ( d => d . LicenceHolderId , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? s . spd_LicenceHolder_account . accountid : s . spd_LicenceHolder_contact . contactid ) )
16
+ . ForMember ( d => d . LicenceAppId , opt => opt . MapFrom ( s => s . spd_CaseId == null ? null : s . spd_CaseId . _spd_applicationid_value ) )
17
+ . ForMember ( d => d . LicenceHolderId , opt => opt . MapFrom ( s => GetLicenceHolderId ( s ) ) )
17
18
. ForMember ( d => d . LicenceNumber , opt => opt . MapFrom ( s => s . spd_licencenumber ) )
18
19
. ForMember ( d => d . ExpiryDate , opt => opt . MapFrom ( s => SharedMappingFuncs . GetDateOnlyFromDateTimeOffset ( s . spd_expirydate ) ) )
19
20
. ForMember ( d => d . ServiceTypeCode , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) ) )
20
21
. ForMember ( d => d . LicenceTermCode , opt => opt . MapFrom ( s => SharedMappingFuncs . GetLicenceTermEnum ( s . spd_licenceterm ) ) )
21
- . ForMember ( d => d . BizLegalName , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? s . spd_LicenceHolder_account . spd_organizationlegalname : null ) )
22
- . ForMember ( d => d . LicenceHolderDateOfBirth , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? null : s . spd_LicenceHolder_contact . birthdate ) )
23
- . ForMember ( d => d . LicenceHolderFirstName , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? s . spd_LicenceHolder_account . name : s . spd_LicenceHolder_contact . firstname ) )
22
+ . ForMember ( d => d . BizLegalName , opt => opt . MapFrom ( s => GetBizLegalName ( s ) ) )
23
+ . ForMember ( d => d . LicenceHolderDateOfBirth , opt => opt . MapFrom ( s => OrgServiceTypes . Contains ( SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) . Value ) ? null : s . spd_LicenceHolder_contact . birthdate ) )
24
+ . ForMember ( d => d . LicenceHolderFirstName , opt => opt . MapFrom ( s => OrgServiceTypes . Contains ( SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) . Value ) ? s . spd_LicenceHolder_account . name : s . spd_LicenceHolder_contact . firstname ) )
24
25
. ForMember ( d => d . LicenceStatusCode , opt => opt . MapFrom ( s => GetLicenceStatusEnum ( s . statuscode ) ) )
25
- . ForMember ( d => d . LicenceHolderLastName , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? null : s . spd_LicenceHolder_contact . lastname ) )
26
- . ForMember ( d => d . LicenceHolderMiddleName1 , opt => opt . MapFrom ( s => SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) == ServiceTypeEnum . SecurityBusinessLicence ? null : s . spd_LicenceHolder_contact . spd_middlename1 ) )
26
+ . ForMember ( d => d . LicenceHolderLastName , opt => opt . MapFrom ( s => OrgServiceTypes . Contains ( SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) . Value ) ? null : s . spd_LicenceHolder_contact . lastname ) )
27
+ . ForMember ( d => d . LicenceHolderMiddleName1 , opt => opt . MapFrom ( s => OrgServiceTypes . Contains ( SharedMappingFuncs . GetServiceType ( s . _spd_licencetype_value ) . Value ) ? null : s . spd_LicenceHolder_contact . spd_middlename1 ) )
27
28
. ForMember ( d => d . NameOnCard , opt => opt . MapFrom ( s => s . spd_nameonlicence ) )
28
29
. ForMember ( d => d . CreatedOn , opt => opt . MapFrom ( s => s . createdon ) )
29
30
. ForMember ( d => d . PermitOtherRequiredReason , opt => opt . MapFrom ( s => s . spd_permitpurposeother ) )
@@ -35,7 +36,7 @@ public Mappings()
35
36
. ForMember ( d => d . Rationale , opt => opt . MapFrom ( s => s . spd_rationale ) )
36
37
. ForMember ( d => d . PhotoDocumentUrlId , opt => opt . MapFrom ( s => s . _spd_photographid_value ) )
37
38
. ForMember ( d => d . PrintingPreviewJobId , opt => opt . MapFrom ( s => s . spd_bcmpjobid ) )
38
- . ForMember ( d => d . IsTemporary , opt => opt . MapFrom ( s => SharedMappingFuncs . GetBool ( s . spd_temporarylicence ) ) )
39
+ . ForMember ( d => d . IsTemporary , opt => opt . MapFrom ( s => SharedMappingFuncs . GetBool ( s . spd_temporarylicence ) ) ) //
39
40
. ForMember ( d => d . PermitPurposeEnums , opt => opt . MapFrom ( s => SharedMappingFuncs . GetPermitPurposeEnums ( s . spd_permitpurpose ) ) )
40
41
. ForMember ( d => d . CategoryCodes , opt => opt . MapFrom ( s => GetCategoryCodes ( s . spd_spd_licence_spd_caselicencecategory_licenceid . ToList ( ) ) ) )
41
42
. ForMember ( d => d . BizTypeCode , opt => opt . MapFrom ( s => GetBizType ( s ) ) )
@@ -47,7 +48,7 @@ public Mappings()
47
48
. ForMember ( d => d . CarryAndUseRestraints , opt => opt . MapFrom ( s => SharedMappingFuncs . GetBool ( s . spd_requestrestraints ) ) )
48
49
. ForMember ( d => d . UseDogs , opt => opt . MapFrom ( s => SharedMappingFuncs . GetBool ( s . spd_requestdogs ) ) )
49
50
. ForMember ( d => d . Conditions , opt => opt . MapFrom ( s => s . spd_spd_licence_spd_licencecondition ) )
50
- . ForMember ( d => d . GDSDTeamId , opt => opt . MapFrom ( s => s . spd_licence_spd_dogteam_LicenceId . FirstOrDefault ( ) . spd_dogteamid ) )
51
+ . ForMember ( d => d . GDSDTeamId , opt => opt . MapFrom ( s => s . spd_licence_spd_dogteam_LicenceId . FirstOrDefault ( ) == null ? null : s . spd_licence_spd_dogteam_LicenceId . FirstOrDefault ( ) . spd_dogteamid ) )
51
52
. ForMember ( d => d . IsDogAssessor , opt => opt . MapFrom ( s => SharedMappingFuncs . GetBool ( s . spd_outd ) ) )
52
53
;
53
54
@@ -107,5 +108,23 @@ internal static BizTypeEnum GetBizType(spd_licence s)
107
108
else
108
109
return SharedMappingFuncs . GetBizTypeEnum ( bizTypeInt ) . Value ;
109
110
}
111
+
112
+ internal Guid ? GetLicenceHolderId ( spd_licence lic )
113
+ {
114
+ ServiceTypeEnum ? servicetype = SharedMappingFuncs . GetServiceType ( lic . _spd_licencetype_value ) ;
115
+ if ( servicetype == ServiceTypeEnum . SecurityBusinessLicence || servicetype == ServiceTypeEnum . MDRA )
116
+ return lic . spd_LicenceHolder_account . accountid ;
117
+ else
118
+ return lic . spd_LicenceHolder_contact . contactid ;
119
+ }
120
+
121
+ internal string ? GetBizLegalName ( spd_licence lic )
122
+ {
123
+ ServiceTypeEnum ? servicetype = SharedMappingFuncs . GetServiceType ( lic . _spd_licencetype_value ) ;
124
+ if ( servicetype == ServiceTypeEnum . SecurityBusinessLicence || servicetype == ServiceTypeEnum . MDRA )
125
+ return lic . spd_LicenceHolder_account . spd_organizationlegalname ;
126
+ else
127
+ return null ;
128
+ }
110
129
}
111
130
}
0 commit comments