Для того, чтобы выяснить, является ли пользователь администратором, следует проверить, включен ли он в группу "Системные администраторы". Сделать это в коде можно следующей конструкцией:
Select select = (new Select(UserConnection)
.Column(Func.Count(Column.Asterisk()))
.From("SysUserInRole")
.Where("SysUserId")
.IsEqual(Column.Parameter(UserConnection.CurrentUser.Id))
.And("SysRoleId").IsEqual(Column.Parameter(new Guid("83A43EBC-F36B-1410-298D-001E8C82BCAD")))
)as Select;
using(var dbExecutor = UserConnection.EnsureDBConnection()){
var CurrentUserIsAdmin = select.ExecuteScalarint>(dbExecutor);
}
Переменная CurrentUserIsAdmin принимает значение 1 либо 0 в зависимости от того, является ли текущий пользователь администратором.