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); } }
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(); }
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(); } }