protected async Task <ScanCenterProfileModel> GetLoggedinUser() { if (User.Identity.IsAuthenticated) { var identity = (System.Security.Claims.ClaimsIdentity)User.Identity; IEnumerable <System.Security.Claims.Claim> claims = identity.Claims; var claimType = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Role) .Select(s => s.Value)?.FirstOrDefault()?.ToString(); var email = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Email).Select(s => s.Value)?.FirstOrDefault()?.ToString(); var user = await _scanCenterProfileQuery.GetByEmail(email); return(user); } return(null); }
protected async Task <bool> CheckAuth(int profileId) { if (User.Identity.IsAuthenticated) { var identity = (System.Security.Claims.ClaimsIdentity)User.Identity; IEnumerable <System.Security.Claims.Claim> claims = identity.Claims; var claimType = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Role).Select(s => s.Value)?.FirstOrDefault()?.ToString(); if (claimType.ToLower() == "corporateadmin") { return(true); } var email = claims.Where(w => w.Type == System.Security.Claims.ClaimTypes.Email).Select(s => s.Value)?.FirstOrDefault()?.ToString(); var user = await _scanCenterProfileQuery.GetByEmail(email); return(user.Id == profileId); } return(false); }