using System;
using System.Linq;
using xCommons.Extensions;
using xIdentityModels.Models;
namespace xIdentityHelper.Extensions
{
public static class XIdentityHelperExtensions
{
///
/// Check User Claims ia Admin Role or not ...
///
///
///
public static bool IsAdmin(this XUserClaimsInfoDto source)
{
//
var result = false;
//
if (source.IsNull() ||
source.Roles.IsNull() ||
!source.Roles.HasChild())
{
return result;
}
//
result = source.Roles.Contains(XUserRoles.ADMIN);
//
return result;
}
///
/// Check Actor is Valid for UserSelectByParam or not ...
///
///
///
///
public static bool IsValidActor(this XUserClaimsInfoDto source, string userSelectByParam)
{
//
var result = false;
//
if (source.IsNull() ||
userSelectByParam.IsNullOrEmpty())
{
return result;
}
//
bool isAdmin = source.IsAdmin();
result = isAdmin ||
userSelectByParam == source.Email ||
userSelectByParam == source.UserId ||
userSelectByParam == source.UserName ||
userSelectByParam == source.PhoneNumber;
//
return result;
}
}
}