public static string ToDomainString(FriendshipRequestDirection dir) { if (dir == FriendshipRequestDirection.Friend) { return(FRIEND); } return(I); }
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; }
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); }