protected override MergeResult Merge(ITodoHost host, DateTime utcNow, CorrelatedTodo another) { var anotherTodo = another as FinishDemoProcessTodo; if (anotherTodo == null) { return(MergeResult.None); } if (SysStartDate < anotherTodo.SysStartDate) { SysStartDate = anotherTodo.SysStartDate; return(MergeResult.Merged); } return(MergeResult.IgnoreAnother); }
protected internal override MergeResult Merge(ITodoHost host, DateTime utcNow, CorrelatedTodo another) { var at = another as CorrelatedTeztTodo; if (at == null) { return(MergeResult.None); } //if (at.Counter==73) //{ // var t = Todo.NewTodo<TeztTodo>(); // t.PersonID = "fwdeohfdh"; // t.PersonDOB = DateTime.Now; // t.PersonName = "zhabakritskiy"; // host.Enqueue( t ); //} //if(at.Counter == 73) //{ // var t = Todo.NewTodo<CorrelatedTeztTodo>(); // t.SysCorrelationKey = this.SysCorrelationKey; // t.Counter = 1; // host.Enqueue(t); //} if (Counter >= 10) { return(MergeResult.None); //can not have counter > 10 (business logic) } Counter += at.Counter; // SysStartDate = utcNow.AddSeconds(10);//reschedule for later call return(MergeResult.Merged); }