コード例 #1
0
 public FriendInvitationManager(
     IRepository <Invitation, Guid> invitationRepository,
     IRepository <FriendPair, long> friendPairRepository,
     IFriendInvitationPolicy friendInvitationPolicy)
 {
     _invitationRepository   = invitationRepository;
     _friendPairRepository   = friendPairRepository;
     _friendInvitationPolicy = friendInvitationPolicy;
 }
コード例 #2
0
        internal void Ignore(long editUserId, IFriendInvitationPolicy friendInvitationPolicy)
        {
            friendInvitationPolicy.IgnoreAttempt(this, editUserId);

            Status = InvitationStatus.Ignored;
        }
コード例 #3
0
        internal void Reject(long editUserId, IFriendInvitationPolicy friendInvitationPolicy)
        {
            friendInvitationPolicy.RejectAttempt(this, editUserId);

            Status = InvitationStatus.Rejected;
        }
コード例 #4
0
        internal void Accept(long editUserId, IFriendInvitationPolicy friendInvitationPolicy)
        {
            friendInvitationPolicy.AcceptAttempt(this, editUserId);

            Status = InvitationStatus.Accepted;
        }
コード例 #5
0
        public static FriendInvitation Create(User invitee, User owner, string content, IFriendInvitationPolicy friendInvitationPolicy)
        {
            friendInvitationPolicy.CreateAttempt(invitee, owner);

            return(new FriendInvitation
            {
                Content = content,
                Status = InvitationStatus.Pending,
                Invitee = invitee,
                InviteeId = invitee.Id,
                Owner = owner,
                OwnerId = owner.Id
            });
        }