Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public Task AddContest(Contest contest, Renterer renter)
 {
     return this._contestRepository.AddContest(contest, renter);
 }