private IList <MemberAccess> CreateMemberAccesses(ChannelApp app, Guid employerId, IEnumerable <Guid> memberIds, MemberAccessReason reason, IDictionary <Guid, Guid?> exercisedCreditIds)
        {
            var accesses = new List <MemberAccess>();

            foreach (var memberId in memberIds)
            {
                var access = new MemberAccess
                {
                    Reason            = reason,
                    EmployerId        = employerId,
                    MemberId          = memberId,
                    ExercisedCreditId = exercisedCreditIds[memberId],
                    ChannelId         = app.ChannelId,
                    AppId             = app.Id,
                };
                access.Prepare();
                access.Validate();
                accesses.Add(access);
            }

            _repository.CreateMemberAccesses(accesses);
            return(accesses);
        }