コード例 #1
0
        public async Task <int> GetRoleByUserProfileId(int userProfileId)
        {
            var specs       = new GetUserProfileWithDetailsByIdSpecification(userProfileId);
            var userProfile = await _unitOfWork.Repository <UserProfile>().GetEntityWithSpec(specs);

            var role = await _userManager.GetRolesAsync(userProfile.AppUser);

            var roleValue = role.First().ToLower();

            return((int)Enum.Parse <UserRole>(roleValue));
        }
コード例 #2
0
        public async Task <ValidationOutputDto> ValidateManagerIdGetInput(int managerId)
        {
            //Check if Manager UserprofileId exists
            var userManagerSpecs   = new GetUserProfileWithDetailsByIdSpecification(managerId);
            var userprofileManager = await _unitOfWork.Repository <UserProfile>().GetEntityWithSpec(userManagerSpecs);

            if (userprofileManager == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "Manager is not existing.",
                           StatusCode = 400
                       }
            }
            ;

            //Check if Role is Manager
            var roleManager = (await _userManager.GetRolesAsync(userprofileManager.AppUser)).First();

            if (roleManager != UserRole.manager.ToString())
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "The Manager Id provided is not assigned as role Manager.",
                           StatusCode = 400
                       }
            }
            ;

            return(new ValidationOutputDto
            {
                IsSuccess = true,
                Message = string.Empty,
                StatusCode = 200
            });
        }