public void Process(MessageChirped messageChirped)
        {
            ChirperId chirpedBy = messageChirped.ChirpedBy;
            var myFollowers = _followersRepository.GetById(chirpedBy);

            if (myFollowers == null || !myFollowers.MyFollowers.Any())
                return;

            var readers = myFollowers.MyFollowers.Select(f => f.Value).ToArray();
            var chirper = _chirperRepository.GetById(chirpedBy);
            var chirpToAppend = new Chirp()
                               {
                                   Id = messageChirped.ChirpId,
                                   ChirpedBy = chirper,
                                   Content = messageChirped.Content,
                                   ChirpedAt = messageChirped.ChirpedAt
                               };

            //ReadingStreams are created on sign-up so we can assume that they are there...
            foreach (var readingStream in readers.Select(readerId => _readingStreamRepository.GetById((ReaderId) readerId)).Where(readingStream => readingStream != null))
            {
                readingStream.AppendToStream(chirpToAppend);
                _readingStreamRepository.Update(readingStream);
            }
        }
Beispiel #2
0
 public void Process(MessageChirped messageChirped)
 {
     var chirper = _chirperEntityContext.GetById(messageChirped.ChirpedBy);
     var newChirp = new Chirp()
                     {
                         Id = messageChirped.ChirpId,
                         ChirpedBy = chirper,
                         Content = messageChirped.Content,
                         ChirpedAt = messageChirped.ChirpedAt
                     };
     _chirpsEntityContext.Insert(newChirp);
     _chirpsEntityContext.Commit();
 }
Beispiel #3
0
 public void Process(MessageChirped messageChirped)
 {
     ChirpId chirp = messageChirped.ChirpId;
     Concepts.ChirperId chirper = messageChirped.ChirpedBy;
     var myChirps = _myChirpsEntityContext.GetById(chirper);
     if(myChirps == null)
     {
         myChirps = new MyChirps(chirper);
         myChirps.AddChirp(chirp);
         _myChirpsEntityContext.Insert(myChirps);
         _myChirpsEntityContext.Commit();
     }
     else
     {
         myChirps.AddChirp(chirp);
         _myChirpsEntityContext.Update(myChirps);
         _myChirpsEntityContext.Commit();
     }
 }