Пример #1
0
        public override object Execute(IDistributedRepository repo)
        {
            WriteEvent writeEvent = this.CopyAs <WriteEvent>();

            Commit(repo, writeEvent);
            Any?.Invoke(this, new OpertionEventArgs {
                WriteEvent = writeEvent
            });
            return(writeEvent);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public override object Execute(IDistributedRepository repository)
 {
     return(repository.Save(this));
 }
Пример #4
0
 public abstract object Execute(IDistributedRepository repository);
Пример #5
0
 protected override void Commit(IDistributedRepository repo, WriteEvent writeEvent)
 {
     throw new NotImplementedException();
 }
Пример #6
0
 public override object Execute(IDistributedRepository repository)
 {
     repository.Delete(this);
     return(this.CopyAs <DeleteEvent>());
 }
Пример #7
0
 public override object Execute(IDistributedRepository repository)
 {
     throw new NotImplementedException();
 }
Пример #8
0
 protected void Commit(IDistributedRepository repo, WriteEvent writeEvent)
 {
     repo.Save(SaveOperation.For(writeEvent));
 }
Пример #9
0
 public override object Execute(IDistributedRepository repository)
 {
     repository.Update(this);
     return(base.Execute(repository));
 }
Пример #10
0
 protected abstract void Commit(IDistributedRepository repo, WriteEvent writeEvent);