示例#1
0
文件: Domains.cs 项目: saleyn/agni
 public static string ToDomainString(FriendshipRequestDirection dir)
 {
     if (dir == FriendshipRequestDirection.Friend)
     {
         return(FRIEND);
     }
     return(I);
 }
示例#2
0
 public FriendConnection(GraphNode friend,
                         DateTime requestDate,
                         DateTime?approveDate,
                         FriendshipRequestDirection dir,
                         FriendVisibility visibility,
                         string groups)
 {
     Friend      = friend;
     RequestDate = requestDate;
     ApproveDate = approveDate;
     Direction   = dir;
     Visibility  = visibility;
     Groups      = groups;
 }
示例#3
0
        private GraphChangeStatus addFriend(GDID gNode, GDID gFriendNode, bool?approve, FriendshipRequestDirection direction)
        {
            GraphChangeStatus result;
            var ctx = ForNode(gNode);
            var row = ctx.LoadRow(Queries.FindOneFriendByNodeAndFriend <FriendRow>(gNode, gFriendNode));

            if (row != null)
            {
                if (approve == null)
                {
                    return(GraphChangeStatus.Updated);
                }
                row.Status      = approve.Value ? GSFriendStatus.APPROVED : GSFriendStatus.DENIED;
                row.Status_Date = App.TimeSource.UTCNow;
                ctx.Update(row);
                result = GraphChangeStatus.Updated;
            }
            else
            {
                row = new FriendRow(true)
                {
                    G_Owner      = gNode,
                    G_Friend     = gFriendNode,
                    Status_Date  = App.TimeSource.UTCNow,
                    Status       = approve != null && approve.Value ? GSFriendStatus.APPROVED: GSFriendStatus.PENDING,
                    Visibility   = GSFriendVisibility.FRIENDS,
                    Request_Date = App.TimeSource.UTCNow,
                    Direction    = GSFriendshipRequestDirection.ToDomainString(direction)
                };
                ctx.Insert(row);
                result = GraphChangeStatus.Added;
            }
            return(result);
        }