示例#1
0
        static void Main(string[] args)
        {
            var useCaseAdd    = new AddTaskUseCase();
            var useCaseRemove = new RemoveTaskUseCase();

            useCaseAdd.Payload = new TaskModel("!!!!!!!!!!!", DateTimeOffset.Now);
            useCaseAdd.Execute(((res) =>
            {
                Console.WriteLine("1st stage.");
                Console.WriteLine(res.Count());
            }))
            .FromResult((res) =>
            {
                Console.WriteLine("2nd stage.");
                Console.WriteLine(res.Count());

                useCaseRemove.Payload = res.FirstOrDefault();
                useCaseRemove.Execute();

                return(res);
            })
            .FromResult((res) =>
            {
                throw new Exception();
                return(0);
            }, onError: (e) => { Console.WriteLine(e.Message); });


            Console.ReadLine();
        }
        private void WhenAddTask(AddTaskRequest request)
        {
            IToDoTaskRepository toDoTaskRepository = new ToDoTaskRepository(path);
            AddTaskUseCase      useCase            = new AddTaskUseCase(toDoTaskRepository);

            useCase.Add(request);
        }
        public void AddTask(TaskModel taskModel)
        {
            var useCase = new AddTaskUseCase {
                Payload = taskModel
            };

            _controller.RegisterOperation(ref OperationFinished);

            useCase.Execute(_useCaseHandler);
        }
示例#4
0
        public void Test1()
        {
            var addUseCase = new AddTaskUseCase()
            {
                Payload = new TaskModel("sss", DateTimeOffset.Now)
            };

            var fooCollection = new List <TaskModel>();

            //addUseCase.ExecuteInChain(result => Assert.True(true))
            //    .Then(addUseCase.Execute(result => Assert.True(true)));

            addUseCase.ExecuteInChain(null).ContinueWith((onComplete) => addUseCase.ExecuteInChain(null));
        }