55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
using xCommons.Extensions;
|
|
using xIdentityModels.Constants;
|
|
using xIdentityModels.Models;
|
|
|
|
namespace xApi.Extensions {
|
|
public static class XUserClaimsInfoDtoExtensions {
|
|
public static string GetUserSelectByParam (
|
|
this XUserClaimsInfoDto source,
|
|
XUserSelectBy userSelectBy = XUserSelectBy.Username
|
|
) {
|
|
//
|
|
var result = "";
|
|
|
|
//
|
|
switch (userSelectBy) {
|
|
//
|
|
case XUserSelectBy.ID:
|
|
result = source.UserId;
|
|
break;
|
|
|
|
//
|
|
case XUserSelectBy.Username:
|
|
result = source.UserName;
|
|
break;
|
|
|
|
//
|
|
case XUserSelectBy.Email:
|
|
result = source.Email;
|
|
break;
|
|
|
|
//
|
|
case XUserSelectBy.MobileNumber:
|
|
result = source.PhoneNumber;
|
|
break;
|
|
}
|
|
|
|
//
|
|
if (result.IsNullOrEmpty ()) {
|
|
//
|
|
if (!source.UserId.IsNullOrEmpty ()) {
|
|
result = source.UserId;
|
|
} else if (!source.UserName.IsNullOrEmpty ()) {
|
|
result = source.UserName;
|
|
} else if (!source.Email.IsNullOrEmpty ()) {
|
|
result = source.Email;
|
|
} else if (!source.PhoneNumber.IsNullOrEmpty ()) {
|
|
result = source.PhoneNumber;
|
|
}
|
|
}
|
|
|
|
//
|
|
return result;
|
|
}
|
|
}
|
|
} |