Example #1
0
        public async Task <IActionResult> Classify()
        {
            // command to extract
            var id  = BankStatementId.NewComb();
            var cmd = new ExtractBankStatement1Command {
                AggregateId = id, SourceId = SourceId.New
            };

            try
            {
                // saga to predict, text match and populate read models / elastic search
                var token = new CancellationToken(false);
                await _bus.PublishAsync(cmd, token);

                var thing = new BankStatementAnalysisSummaryQuery
                {
                    BankStatementId = cmd.AggregateId
                };

                var result = await _queryProcessor.ProcessSerilizedQueryAsync(thing.GetType().Name, JsonConvert.SerializeObject(thing), token);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                Log.Error(ex, "bankstatementcontroller - classify {0}", cmd);
            }

            return(Ok("no result"));
        }
Example #2
0
        public async Task ExtractBankStatementAsync(ExtractBankStatement1Command command,
                                                    IEnumerable <PredictionRequest> requests)
        {
            var predictionRequests = requests as PredictionRequest[] ?? requests.ToArray();

            if (predictionRequests.Any(x => x == null))
            {
                throw new ApplicationException();
            }
            var ev = new BankStatementExtracted1Event
            {
                PredictionRequests = predictionRequests
            };

            Emit(ev);
            await Task.CompletedTask;
        }