/// <summary>
        /// Adds a user to role asynchronous.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="roleName">Name of the role.</param>
        /// <returns>task</returns>
        /// <exception cref="System.ArgumentNullException">user or roleName.</exception>
        public async Task AddToRoleAsync(IUserPoco user, string roleName)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            if (String.IsNullOrEmpty(roleName))
            {
                throw new ArgumentNullException("roleName");
            }

            var role = await roleRepository.GetOneAsync(p => p.Name == roleName);

            var userRole = userRoleRepository.CreateUserRole();

            userRole.RoleId = role.RoleId;
            userRole.UserId = user.Id;

            await userRoleRepository.InsertAsync(userRole);
        }