Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }