Exemplo n.º 1
0
 protected override Command CreateDeleteLinksCommand(Role entity, IAuthenticatedUser user, string selector)
 {
     return(Command
            .NonQuery()
            .Connection(AuthorizationConnectionClass.GetConnectionName())
            .StoredProcedure("[AccessControl].[pRole_UnlinkUsers]")
            .Parameters(
                p => p.Name("roleId").Value(entity.Id)
                ));
 }
Exemplo n.º 2
0
 protected override Command CreateDeleteCommand(IdentityProvider entity, IAuthenticatedUser user, string selector)
 {
     return(Command
            .NonQuery()
            .Connection(AuthorizationConnectionClass.GetConnectionName())
            .StoredProcedure("[AccessControl].[pIdentityProvider_Delete]")
            .Parameters(
                p => p.Name("identityProviderId").Value(entity.Id)
                ));
 }
Exemplo n.º 3
0
        public async Task <IEnumerable <Role> > GetAllRolesForUserAsync(int userId)
        {
            var result = await Query <Role>
                         .Collection()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pUser_GetAllRoles]")
                         .Parameters(
                p => p.Name("userId").Value(userId)
                )
                         .ExecuteAsync();

            return(result.Data);
        }
Exemplo n.º 4
0
        public async override Task <Role> GetByIdAsync(int roleId)
        {
            var result = await Query <Role>
                         .Single()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pRole_GetById]")
                         .Parameters(
                p => p.Name("roleId").Value(roleId)
                )
                         .ExecuteAsync();

            return(result.Data);
        }
        public override IdentityProvider GetById(int identityProviderId)
        {
            var result = Query <IdentityProvider>
                         .Single()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pIdentityProvider_GetById]")
                         .Parameters(
                p => p.Name("identityProviderId").Value(identityProviderId)
                )
                         .Execute();

            return(result.Data);
        }
Exemplo n.º 6
0
        public async Task <User> GetUserByNormalizedEmailAsync(string email)
        {
            var result = await Query <User>
                         .Single()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pUser_GetByNormalizedEmail]")
                         .Parameters(
                p => p.Name("email").Value(email)
                )
                         .ExecuteAsync();

            return(result.Data);
        }
Exemplo n.º 7
0
        public IEnumerable <User> GetAllUsersForRole(int roleId)
        {
            var result = Query <User>
                         .Collection()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pRole_GetAllUsers]")
                         .Parameters(
                p => p.Name("roleId").Value(roleId)
                )
                         .Execute();

            return(result.Data);
        }
        public override IEnumerable <UserLogin> GetAll(int userId)
        {
            var result = Query <UserLogin>
                         .Collection()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pUser_GetAllUserLogins]")
                         .Parameters(
                p => p.Name("userId").Value(userId)
                )
                         .Execute();

            return(result.Data);
        }
Exemplo n.º 9
0
        public async Task <User> GetUserByUserLoginAsync(string provider, string userKey)
        {
            var result = await Query <User>
                         .Single()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pUser_GetByUserLogin]")
                         .Parameters(
                p => p.Name("provider").Value(provider),
                p => p.Name("userKey").Value(userKey)
                )
                         .ExecuteAsync();

            return(result.Data);
        }
Exemplo n.º 10
0
        public async override Task <(int, IEnumerable <User>)> GetAsync(CollectionQueryParameters queryParameters)
        {
            var result = await Query <User>
                         .Collection()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pUser_Get]")
                         .QueryParameters(queryParameters)
                         .Parameters(p => p.Name("count").Size(20).Output())
                         .ExecuteAsync();

            var count = (string)result.GetParameter("count").Value;

            return(int.Parse(count), result.Data);
        }
Exemplo n.º 11
0
        protected override Command CreateInsertCommand(Role entity, IAuthenticatedUser user, string selector)
        {
            var command = Query <Role>
                          .Single()
                          .Connection(AuthorizationConnectionClass.GetConnectionName())
                          .StoredProcedure("[AccessControl].[pRole_Insert]")
                          .Parameters(
                p => p.Name("name").Value(entity.Name)
                )
                          .Instance(entity)
                          .MapProperties(
                p => p.Name("Id").Index(0)
                );

            return(command);
        }
        protected override Command CreateDeleteLinksCommand(IAuthenticatedUser user)
        {
            return(Command
                   .NonQuery()
                   .Connection(AuthorizationConnectionClass.GetConnectionName())
                   .StoredProcedure("[AccessControl].[pUser_DeleteUserLogins]")
                   .OnBeforeCommandExecuted(cmd =>
            {
                var dependencies = Dependencies();

                var entity = (User)dependencies.Single().Entity;

                cmd.Parameters(
                    p => p.Name("userId").Value(entity.Id)
                    );
            }));
        }
Exemplo n.º 13
0
        public (int, IEnumerable <User>) GetUsersForRole(int roleId, CollectionQueryParameters queryParameters)
        {
            var result = Query <User>
                         .Collection()
                         .Connection(AuthorizationConnectionClass.GetConnectionName())
                         .StoredProcedure("[AccessControl].[pRole_GetUsers]")
                         .QueryParameters(queryParameters)
                         .Parameters(p => p.Name("count").Size(20).Output())
                         .Parameters(
                p => p.Name("roleId").Value(roleId)
                )
                         .Execute();

            var count = (string)result.GetParameter("count").Value;

            return(int.Parse(count), result.Data);
        }
        protected override Command CreateUpdateCommand(UserRole entity, IAuthenticatedUser user, string selector)
        {
            if (user != null)
            {
                entity.UpdatedBy = (int)user.Id;
            }

            return(Command
                   .NonQuery()
                   .Connection(AuthorizationConnectionClass.GetConnectionName())
                   .StoredProcedure("[AccessControl].[pUserRole_Update]")
                   .Parameters(
                       p => p.Name("roleId").Value(entity.Id.RoleId),
                       p => p.Name("userId").Value(entity.Id.UserId),
                       p => p.Name("updatedBy").Value(entity.UpdatedBy)
                       ));
        }
Exemplo n.º 15
0
        protected override Command CreateInsertCommand(IdentityProvider entity, IAuthenticatedUser user, string selector)
        {
            if (user != null)
            {
                entity.CreatedBy = (int)user.Id;
            }

            var command = Query <IdentityProvider>
                          .Single()
                          .Connection(AuthorizationConnectionClass.GetConnectionName())
                          .StoredProcedure("[AccessControl].[pIdentityProvider_Insert]")
                          .Parameters(
                p => p.Name("name").Value(entity.Name),
                p => p.Name("uri").Value(entity.Uri),
                p => p.Name("createdBy").Value(entity.CreatedBy)
                )
                          .Instance(entity)
                          .MapProperties(
                p => p.Name("Id").Index(0)
                );

            return(command);
        }
Exemplo n.º 16
0
        protected override Command CreateDeleteLinksCommand(User entity, IAuthenticatedUser user, string selector)
        {
            switch (selector)
            {
            case "UnlinkRolesFromUser": return(Command
                                               .NonQuery()
                                               .Connection(AuthorizationConnectionClass.GetConnectionName())
                                               .StoredProcedure("[AccessControl].[pUser_UnlinkRoles]")
                                               .Parameters(
                                                   p => p.Name("userId").Value(entity.Id)
                                                   ));

            case "DeleteUserLoginsFromUser": return(Command
                                                    .NonQuery()
                                                    .Connection(AuthorizationConnectionClass.GetConnectionName())
                                                    .StoredProcedure("[AccessControl].[pUser_DeleteUserLogins]")
                                                    .Parameters(
                                                        p => p.Name("userId").Value(entity.Id)
                                                        ));

            default: throw new InvalidOperationException();
            }
        }
 public CreateRoleCommandAggregate() : base(new DomainFramework.DataAccess.RepositoryContext(AuthorizationConnectionClass.GetConnectionName()))
 {
 }
 public CreateRoleCommandAggregate(CreateRoleInputDto role, EntityDependency[] dependencies = null) : base(new DomainFramework.DataAccess.RepositoryContext(AuthorizationConnectionClass.GetConnectionName()))
 {
     Initialize(role, dependencies);
 }
        public GetUserByNormalizedEmailQueryAggregate() : base(new DomainFramework.DataAccess.RepositoryContext(AuthorizationConnectionClass.GetConnectionName()))
        {
            var context = (DomainFramework.DataAccess.RepositoryContext)RepositoryContext;

            UserQueryRepository.Register(context);

            RoleQueryRepository.Register(context);

            User_UserLogins_QueryRepository.Register(context);

            GetUserLoginsOperation = new GetCollectionLinkedValueObjectQueryOperation <User, UserLogin, User_UserLogins_QueryRepository.RepositoryKey>
            {
                GetLinkedValueObjects      = (repository, entity, user) => ((User_UserLogins_QueryRepository)repository).GetAll(RootEntity.Id).ToList(),
                GetLinkedValueObjectsAsync = async(repository, entity, user) =>
                {
                    var items = await((User_UserLogins_QueryRepository)repository).GetAllAsync(RootEntity.Id);

                    return(items.ToList());
                }
            };

            QueryOperations.Enqueue(GetUserLoginsOperation);

            GetAllRolesLinkedAggregateQueryOperation = new GetAllLinkedAggregateQueryCollectionOperation <int, Role, RoleOutputDto>
            {
                GetAllLinkedEntities      = (repository, entity, user) => ((RoleQueryRepository)repository).GetAllRolesForUser(RootEntity.Id).ToList(),
                GetAllLinkedEntitiesAsync = async(repository, entity, user) =>
                {
                    var entities = await((RoleQueryRepository)repository).GetAllRolesForUserAsync(RootEntity.Id);

                    return(entities.ToList());
                },
                CreateLinkedQueryAggregate = entity =>
                {
                    if (entity is Role)
                    {
                        return(new GetRoleByIdQueryAggregate());
                    }
                    else
                    {
                        throw new InvalidOperationException();
                    }
                }
            };

            QueryOperations.Enqueue(GetAllRolesLinkedAggregateQueryOperation);
        }
        protected override Command CreateInsertCommand(UserRole entity, IAuthenticatedUser user, string selector)
        {
            if (user != null)
            {
                entity.CreatedBy = (int)user.Id;
            }

            var command = Command
                          .NonQuery()
                          .Connection(AuthorizationConnectionClass.GetConnectionName())
                          .StoredProcedure("[AccessControl].[pUserRole_Insert]")
                          .Parameters(
                p => p.Name("createdBy").Value(entity.CreatedBy)
                )
                          .OnBeforeCommandExecuted(cmd =>
            {
                var dependencies = Dependencies();

                if (!dependencies.Any())
                {
                    cmd.Parameters(
                        p => p.Name("roleId").Value(entity.Id.RoleId),
                        p => p.Name("userId").Value(entity.Id.UserId)
                        );
                }
                else
                {
                    switch (selector)
                    {
                    case "Roles":
                        {
                            var user_ = (User)dependencies.ElementAt(0).Entity;

                            cmd.Parameters(
                                p => p.Name("roleId").Value(entity.Id.RoleId),
                                p => p.Name("userId").Value(user_.Id)
                                );
                        }
                        break;

                    case "Users":
                        {
                            var role = (Role)dependencies.ElementAt(0).Entity;

                            cmd.Parameters(
                                p => p.Name("roleId").Value(role.Id),
                                p => p.Name("userId").Value(entity.Id.UserId)
                                );
                        }
                        break;

                    default:
                        {
                            var role = (Role)dependencies.Single(d => d.Selector == "Roles").Entity;

                            var user_ = (User)dependencies.Single(d => d.Selector == "Users").Entity;

                            entity.Id = new UserRoleId
                            {
                                RoleId = role.Id,
                                UserId = user_.Id
                            };

                            cmd.Parameters(
                                p => p.Name("roleId").Value(role.Id),
                                p => p.Name("userId").Value(user_.Id)
                                );
                        }
                        break;
                    }
                }
            });

            return(command);
        }
 public AddUserLoginCommandAggregate(AddUserLoginsInputDto user, EntityDependency[] dependencies = null) : base(new DomainFramework.DataAccess.RepositoryContext(AuthorizationConnectionClass.GetConnectionName()))
 {
     Initialize(user, dependencies);
 }