예제 #1
0
        public IActionResult GetV1([FromRoute] string audienceValue)
        {
            Guid             audienceID;
            LambdaExpression expr     = null;
            tbl_Audience     audience = null;

            if (Guid.TryParse(audienceValue, out audienceID))
            {
                expr = QueryExpressionFactory.GetQueryExpression <tbl_Audience>()
                       .Where(x => x.Id == audienceID).ToLambda();
            }
            else
            {
                expr = QueryExpressionFactory.GetQueryExpression <tbl_Audience>()
                       .Where(x => x.Name == audienceValue).ToLambda();
            }

            audience = uow.Audiences.Get(expr,
                                         new List <Expression <Func <tbl_Audience, object> > >()
            {
                x => x.tbl_AudienceRoles,
                x => x.tbl_Roles,
                x => x.tbl_Urls,
            })
                       .SingleOrDefault();

            if (audience == null)
            {
                ModelState.AddModelError(MessageType.AudienceNotFound.ToString(), $"Audience:{audienceValue}");
                return(NotFound(ModelState));
            }

            return(Ok(map.Map <AudienceV1>(audience)));
        }
예제 #2
0
        public void CreateAudiences()
        {
            if (foundIssuer == null)
            {
                CreateIssuers();
            }

            /*
             * create test audiences
             */

            foundAudience = _uow.Audiences.Get(QueryExpressionFactory.GetQueryExpression <tbl_Audience>()
                                               .Where(x => x.Name == TestDefaultConstants.AudienceName).ToLambda())
                            .SingleOrDefault();

            if (foundAudience == null)
            {
                foundAudience = _uow.Audiences.Create(
                    _map.Map <tbl_Audience>(new AudienceV1()
                {
                    IssuerId    = foundIssuer.Id,
                    Name        = TestDefaultConstants.AudienceName,
                    IsLockedOut = false,
                    IsDeletable = true,
                }));

                _uow.Commit();

                _uow.AuthActivity.Create(
                    _map.Map <tbl_AuthActivity>(new AuthActivityV1()
                {
                    AudienceId   = foundAudience.Id,
                    LoginType    = GrantFlowType.ClientCredentialV2.ToString(),
                    LoginOutcome = GrantFlowResultType.Success.ToString(),
                }));

                _uow.Commit();
            }

            /*
             * set password to audiences
             */

            if (!_uow.Audiences.IsPasswordSet(foundAudience))
            {
                _uow.Audiences.SetPassword(foundAudience, TestDefaultConstants.AudiencePassCurrent);
                _uow.Commit();
            }
        }
예제 #3
0
        public void CreateAudiences()
        {
            if (foundIssuer == null)
            {
                CreateIssuers();
            }

            /*
             * create default audiences
             */

            foundAudience_Alert = _uow.Audiences.Get(QueryExpressionFactory.GetQueryExpression <tbl_Audience>()
                                                     .Where(x => x.Name == DefaultConstants.Audience_Alert).ToLambda())
                                  .SingleOrDefault();

            if (foundAudience_Alert == null)
            {
                foundAudience_Alert = _uow.Audiences.Create(
                    _map.Map <tbl_Audience>(new AudienceV1()
                {
                    IssuerId    = foundIssuer.Id,
                    Name        = DefaultConstants.Audience_Alert,
                    IsLockedOut = false,
                    IsDeletable = false,
                }));

                _uow.Commit();
            }

            foundAudience_Identity = _uow.Audiences.Get(QueryExpressionFactory.GetQueryExpression <tbl_Audience>()
                                                        .Where(x => x.Name == DefaultConstants.Audience_Identity).ToLambda())
                                     .SingleOrDefault();

            if (foundAudience_Identity == null)
            {
                foundAudience_Identity = _uow.Audiences.Create(
                    _map.Map <tbl_Audience>(new AudienceV1()
                {
                    IssuerId    = foundIssuer.Id,
                    Name        = DefaultConstants.Audience_Identity,
                    IsLockedOut = false,
                    IsDeletable = false,
                }));

                _uow.Commit();
            }

            /*
             * set password to audiences
             */

            if (!_uow.Audiences.IsPasswordSet(foundAudience_Alert))
            {
                _uow.Audiences.SetPassword(foundAudience_Alert, DefaultConstants.AudiencePassword_Alert);
                _uow.Commit();
            }

            if (!_uow.Audiences.IsPasswordSet(foundAudience_Identity))
            {
                _uow.Audiences.SetPassword(foundAudience_Identity, DefaultConstants.AudiencePassword_Identity);
                _uow.Commit();
            }
        }