protected override Task HandleRequirementAsync( AuthorizationHandlerContext context, DomainRegionTargetRequirement requirement, ulong target) { if (context.User.IsInRole(Role.Super)) { var domainRegions = _domainRegionService.GetDomainRegionList().Result; if (domainRegions.Any(x => x.Target == target)) { context.Succeed(requirement); } } else if (context.User.IsInRole(Role.Administrator)) { var domainRegions = _domainRegionService.GetDomainRegionList().Result; if (domainRegions.Any(x => x.Target == target)) { context.Succeed(requirement); } } else if (context.User.IsInRole(Role.Publisher)) { var publisherId = int.Parse(context.User.Claims.FirstOrDefault(c => c.Type == MyClaimTypes.PublisherId).Value); var domainRegions = _domainRegionService.GetDomainRegionList().Result; if (domainRegions.Any(x => x.Target == target && x.PublisherId == publisherId)) { context.Succeed(requirement); } } else if (context.User.IsInRole(Role.Operator)) { var publisherId = int.Parse(context.User.Claims.FirstOrDefault(c => c.Type == MyClaimTypes.PublisherId).Value); var domainRegions = _domainRegionService.GetDomainRegionList().Result; if (domainRegions.Any(x => x.Target == target && x.PublisherId == publisherId)) { context.Succeed(requirement); } } return(Task.CompletedTask); }
public async Task <ActionResult <IEnumerable <GetDomainRegionResponseDto> > > Get() { var domainRegionList = await _domainRegionService.GetDomainRegionList(); return(Ok(_mapper.Map <IEnumerable <DomainRegion>, IEnumerable <GetDomainRegionResponseDto> >(domainRegionList))); }