using AsbCloudApp.Data;
using System.Collections.Generic;

namespace AsbCloudApp.Services
{
    public interface IUserService : ICrudService<UserExtendedDto>
    {
        IUserRoleService RoleService { get; }
        IEnumerable<PermissionDto> GetNestedPermissions(int idUser);
        IEnumerable<UserRoleDto> GetRolesByIdUser(int idUser, int nestedLevel = 0);
        bool HasAnyRoleOf(int idUser, IEnumerable<string> roleNames);
        bool HasAnyRoleOf(int idUser, IEnumerable<int> roleIds);
        public bool HasPermission(int idUser, string permissionName);
    }
}