public Task AddContest(Contest contest, Renterer renter) { var result = _client.Cypher.Create("(contest:Contest {contest})").WithParams(new { contest }) .Match(@"(renterer:Renterer)").Where((Renterer renterer) => renterer.Name == renter.Name) .Create("(renterer) -[r:ORGANISE]-> (contest)").ExecuteWithoutResultsAsync(); return(result); }
public async Task<Renterer> GetRenterer(string username) { Renterer rent = new Renterer(); var result = await _client.Cypher.Match(@"(renterer:Renterer)") .Where((Renterer renterer) => renterer.Username == username) .Return(renterer => new { Renterer = renterer.As<Renterer>() }).Limit(1).ResultsAsync; foreach (var indeks in result) { rent = indeks.Renterer; } return rent; }
public async Task <IEnumerable <Renterer> > GetRenteeInChatWith(int renteeId) { List <Renterer> renterers = new List <Renterer>(); string setKey = $"rentee:{renteeId}:chats"; IDatabase redisDB = _redisConnection.GetDatabase(); var rentererSetEntries = await redisDB.SortedSetRangeByRankAsync(setKey, 0, -1, Order.Descending); foreach (var entry in rentererSetEntries) { Renterer renterer = JsonSerializer.Deserialize <Renterer>(entry); renterers.Add(renterer); } return(renterers); }
public async Task StartConversation(ConversationDTO participants) { string senderSetKey = $"rentee:{participants.Sender.Id}:chats"; string receiverSetKey = $"renterer:{participants.Receiver.Id}:chats"; Rentee sender = participants.Sender; Renterer receiver = participants.Receiver; var senderSetValue = JsonSerializer.Serialize(participants.Receiver); var receiverSetValue = JsonSerializer.Serialize(participants.Sender); double score = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; SortedSetEntry[] senderSetEntry = new SortedSetEntry[] { new SortedSetEntry(senderSetValue, score) }; SortedSetEntry[] receiverSetEntry = new SortedSetEntry[] { new SortedSetEntry(receiverSetValue, score) }; IDatabase redisDB = _redisConnection.GetDatabase(); await redisDB.SortedSetAddAsync(senderSetKey, senderSetEntry); await redisDB.SortedSetAddAsync(receiverSetKey, receiverSetEntry); }
public Task AddContest(Contest contest, Renterer renter) { return this._contestRepository.AddContest(contest, renter); }