public override object Execute(IDistributedRepository repo) { WriteEvent writeEvent = this.CopyAs <WriteEvent>(); Commit(repo, writeEvent); Any?.Invoke(this, new OpertionEventArgs { WriteEvent = writeEvent }); return(writeEvent); }
public override object Execute(IDistributedRepository destination) { ProxyFactory _proxyFactory = new ProxyFactory(); RepositoryService sourceRepo = _proxyFactory.GetProxy <RepositoryService>(SourceHost, SourcePort, Log.Default); // get types // for each type load all and save each string lastCuid = FromCuid; foreach (string type in sourceRepo.GetTypes()) { ReplicationOperation op = this.CopyAs <ReplicationOperation>(); op.TypeName = type; op.FromCuid = lastCuid; List <object> values = sourceRepo.NextSet(op).ToList(); Parallel.ForEach(values, (value) => destination.Save(SaveOperation.For(value))); values.Sort((x, y) => x.Property("Cuid").ToString().CompareTo(y.Property("Cuid"))); lastCuid = values[values.Count - 1].Property("Cuid").ToString(); } ; FromCuid = lastCuid; Status = ReplicationStatus.Success; return(this); }
public override object Execute(IDistributedRepository repository) { return(repository.Save(this)); }
public abstract object Execute(IDistributedRepository repository);
protected override void Commit(IDistributedRepository repo, WriteEvent writeEvent) { throw new NotImplementedException(); }
public override object Execute(IDistributedRepository repository) { repository.Delete(this); return(this.CopyAs <DeleteEvent>()); }
public override object Execute(IDistributedRepository repository) { throw new NotImplementedException(); }
protected void Commit(IDistributedRepository repo, WriteEvent writeEvent) { repo.Save(SaveOperation.For(writeEvent)); }
public override object Execute(IDistributedRepository repository) { repository.Update(this); return(base.Execute(repository)); }
protected abstract void Commit(IDistributedRepository repo, WriteEvent writeEvent);