Ejemplo n.º 1
0
        private static void NoramlSample()
        {
            //Load rules
            var repository = new RuleRepository();

            repository.Load(x => x.From(typeof(NoticeNewRequestRule).Assembly));

            //Compile rules
            var factory = repository.Compile();

            //Create a working session
            var session = factory.CreateSession();
            //Fake Web Action
            var fakeAction = new FakeAction();
            var request    = fakeAction.SendAskForRestRequest();

            session.Insert(request);
            session.Fire();

            request = fakeAction.SomeOnePassTheRequest(request);
            session.Update(request);
            session.Fire();
            request = fakeAction.SomeOneRejectTheRequest(request);
            session.Update(request);
            session.Fire();

            request = fakeAction.ReSendToContinueRequest(request);
            session.Update(request);
            session.Fire();

            request = fakeAction.SomeOnePassTheRequest(request);
            session.Update(request);
            session.Fire();

            request = fakeAction.SomeOnePassTheRequest(request);
            session.Update(request);
            session.Fire();
        }