public void ReturnTest() { IObservable <string> xs; using (ScopeFactory.Create()) { xs = Observable.Return("Hello Rx"); xs = xs.Monitor("Return", 1); xs.Subscribe(); } GC.KeepAlive(xs); }
public void IgnoreElementsBasicTest() { IObservable <int> ys; using (ScopeFactory.Create(2)) { var xs = Observable.Range(0, 100).Take(10); xs = xs.Monitor("Range", 1); ys = xs.IgnoreElements(); ys = ys.Monitor("Ignore", 2); ys.Subscribe(); } GC.KeepAlive(ys); }
public void ContainsTest() { Random rnd = new Random(Environment.TickCount); var xs = Observable.Interval(TimeSpan.FromSeconds(0.5)) .Take(15) .Select(_ => rnd.Next(7)) .Monitor("Source", 1) .Publish(); using (ScopeFactory.Create(2)) { var ys = xs.Contains(2); ys = ys.Monitor("Contains", 2); ys.Subscribe(); xs.Connect(); } GC.KeepAlive(xs); }
public override void Delete(TEntity[] entities) { Guard.Against <ArgumentNullException>(CurrentUser == null, string.Format("Ошибка удаления бизнес-процесса типа {0}: не задан тек. пользователь", typeof(TEntity))); Guard.Against <ArgumentNullException>(ScopeFactory == null, string.Format("Ошибка удаления бизнес-процесса типа {0}: не определена фабрика транзакций", typeof(TEntity))); Guard.Against <ArgumentNullException>(DeleteOperation == null, string.Format("Ошибка удаления бизнес-процесса типа {0}: не определена стратегия удаления", typeof(TEntity))); if (entities.IsNullOrEmpty()) { return; } var _scope = ScopeFactory.Create(); try { foreach (var entity in entities) { ExecuteOperation(DeleteOperation, op => { op.DeleteEntity(entity); }); if (!IsValidLastOperation) { break; } } if (IsValidLastOperation) { _scope.Commit(); } } catch (Exception e) { throw; } finally { _scope.Dispose(); } }