Ejemplo n.º 1
0
        public IObservable <MessageEntity> UserMessages(long userId)
        {
            var obs = DbObservable <BiContext> .FromInserted <MessageEntity>()
                      .Where(m => m.Entity.Group.UsersList.Any(u => u.UserId == m.Entity.UserId))
                      .Select(n => n.Entity);

            return(obs);
        }
Ejemplo n.º 2
0
        public CompanyNotifier()
        {
            eventObservable = DbObservable <BiContext> .FromInserted <EventEntity>()
                              .Where(entry => entry.Entity.Body is CompanyEvent);

            // eventObservable.Where(entry => entry.Entity.Body is CompanyUpdatedEvt)
            //     .Subscribe(onUpdated);
        }
Ejemplo n.º 3
0
        private static void ObserveNewPeople()
        {
            Console.WriteLine("thread");
            var o = DbObservable <Context> .FromInserted <Person>();

            using (var p = o.Where(x => x.Entity.DateOfBirth.Month == DateTime.Today.Month && x.Entity.DateOfBirth.Day == DateTime.Today.Day)
                           .Subscribe(entry => Console.WriteLine($"Happy birthday to {entry.Entity.Name}!"))) {
                Thread.Sleep(5000);
            }
        }
Ejemplo n.º 4
0
        private static void ObserveNewBlog()
        {
            Console.WriteLine("thread");
            var o = DbObservable <BloggingContext> .FromInserted <Blog>();

            o.Where(x => x.Entity.DateOfBirth.Month == DateTime.Today.Month && x.Entity.DateOfBirth.Day == DateTime.Today.Day)
            .Subscribe(entry => Console.WriteLine($"Happy birthday to {entry.Entity.Url}!"));

            o.Subscribe(entry => Console.WriteLine(entry.Entity));

            Thread.Sleep(500);
        }
Ejemplo n.º 5
0
        private void ConfigureServices()
        {
            DbObservable <AlarmEntity, LocalDbContext> .FromInserted()
            .Merge <IEntry>(DbObservable <AlarmEntity, LocalDbContext> .FromDeleted())
            .Merge(DbObservable <AlarmEntity, LocalDbContext> .FromUpdated())
            .Cast <object>()
            .Merge(DbObservable <LessonEntity, LocalDbContext> .FromInserted())
            .Merge(DbObservable <LessonEntity, LocalDbContext> .FromUpdated())
            .Merge(DbObservable <LessonEntity, LocalDbContext> .FromDeleted())
            .TakeUntil(_destroySubject)
            .ObserveOnDispatcher(DispatcherPriority.Background)
            .Subscribe(_ => StartTimer());

            StartTimer();
            StartBackupService();
        }
Ejemplo n.º 6
0
        public IObservable <IEnumerable <DbChange <T> > > ChangeListener <T>(int delayMs = 1000) where T : class
        {
            var changeSource = Observable.Merge
                               (
                DbObservable <GeneralDbContext>
                .FromInserted <T>()
                .Select(entry => new DbChange <T>(entry.Entity, ChangeReason.Insert)),
                DbObservable <GeneralDbContext>
                .FromDeleted <T>()
                .Select(entry => new DbChange <T>(entry.Entity, ChangeReason.Delete)),
                DbObservable <GeneralDbContext>
                .FromUpdated <T>()
                .Select(entry => new DbChange <T>(entry.Entity, ChangeReason.Update))
                               );
            var throttle = changeSource.Throttle(TimeSpan.FromMilliseconds(delayMs));

            return(changeSource.Buffer(throttle));
        }
Ejemplo n.º 7
0
        private void Initialize()
        {
            // Random rnd = new Random();
            joueurSpidObserveInserted = DbObservable <OldPingDbContext> .FromInserted <Joueur>();

            joueurSpidObserveInserted.Subscribe(entry =>
            {
                var joueur = entry.Entity;
                var extra  = new JoueurExtra()
                {
                    Licence = joueur.Licence
                };
                joueur.Extra = extra;
            });

            /* organismeObserveInserted = DbObservable<PingDbContext>.FromInserted<Organisme>();
             * organismeObserveInserted.Subscribe(entry =>
             * {
             *   entry.Entity.Id = rnd.Next().ToString();
             * });*/
        }
Ejemplo n.º 8
0
        public ReportNotifier()
        {
            var eventObs = DbObservable <BiContext> .FromInserted <EventEntity>();

            eventObs.Where(evt => evt.Entity.Body is ReportUpdatedEvt).Subscribe(OnUpdated);
        }
Ejemplo n.º 9
0
 public IObservable <NotificationEntity> Listen(long userId)
 {
     return(DbObservable <BiContext> .FromInserted <NotificationEntity>()
            .Where(n => n.Entity.Receivers.Any(u => u.UserId == userId))
            .Select(n => n.Entity));
 }