コード例 #1
0
        public async Task <IActionResult> Post([FromBody] PostAnswer answers)
        {
            List <bool> values = answers.answers.ToList();

            if (values == null || values.Count <= 0)
            {
                return(BadRequest(new ErrorResponse(new DoughnutException("Parameter validation failed!!"))));
            }
            try
            {
                INode node = _decisionService.GetClildTree(values);
                if (node.LeafN == null && node.LeafY == null)
                {
                    //Return full tree with selected mark if all answer are given.
                    return(Ok(new SuccessResponse <dynamic>(new
                    {
                        //Statement = node.Statement,
                        Node = _decisionService.GetTraversedTree(answers.answers),
                        Answers = answers.answers
                    })));
                }
                return(Ok(new SuccessResponse <dynamic>(new
                {
                    Statement = node.Statement,
                    Answers = answers.answers
                })));
            }
            catch (NodeNotFoundException exception)
            {
                //Return Bad requers if invalid answer are given.
                return(BadRequest(new ErrorResponse(exception)));
            }
            catch (Exception ex) {
                //will change later.
                return(BadRequest(new ErrorResponse(new DoughnutException())));
            }
        }