Beispiel #1
0
        static async Task Main(string[] args)
        {
            var wf = from createReplyResult in BoundedContext.ValidateReply(30, 1, "Deep Learning")
                     let validReply = (ValidateReplyResult.ReplyValidated) createReplyResult
                                      from checkLanguageResult in BoundedContext.CheckLanguage(validReply.Reply.Answer)
                                      from ownerAck in BoundedContext.SendAckToQuestionOwner((CheckLanguageResult.TextChecked)checkLanguageResult)
                                      from authorAck in BoundedContext.SendAckToReplyAuthor((CheckLanguageResult.CheckFailed)checkLanguageResult)
                                      select(validReply, checkLanguageResult, ownerAck, authorAck);

            var serviceProvider = new ServiceCollection()
                                  .AddOperations(typeof(ValidateReplyAdapter).Assembly)
                                  .AddOperations(typeof(CheckLanguageAdapter).Assembly)
                                  .AddOperations(typeof(SenAckToQuestionOwnerAdapter).Assembly)
                                  .AddTransient <IInterpreterAsync>(sp => new LiveInterpreterAsync(sp))
                                  .BuildServiceProvider();
            var interpreter  = serviceProvider.GetService <IInterpreterAsync>();
            var writeContext = new QuestionWriteContext(new List <int>()
            {
                1, 2, 3
            }, new List <int>()
            {
                30, 31, 32
            });
            var result = await interpreter.Interpret(wf, writeContext);

            Console.WriteLine("Hello World!");
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var wf = from createReplyResult in Domain.ValidateReply(100, 10, "gfht")
                     let validReply = (ValidateReplyResult.ReplyValidated) createReplyResult
                                      from checkLanguageResult in BoundedContext.CheckLanguage(validReply.Reply.Answer)
                                      from ownerAck in Domain.SendAckToQuestionOwner(CheckLanguageResult)
                                      from authorAck in Domain.SendAckToReplyAuthor(CheckLanguageResult)
                                      select(validReply, checkLanguageResult, ownerAck, authorAck);


            Console.WriteLine("Hello World!");
        }