예제 #1
0
        public async Task <IActionResult> Get(string id)
        {
            KnowledgeBaseResource result = await _knowledgeBaseService.GetAsync(id);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
예제 #2
0
        public async Task <IActionResult> Post([FromBody] KnowledgeBaseResource knowledgeBaseResource)
        {
            KnowledgeBaseResource knowledgeBaseResponse = await _knowledgeBaseService.CreateAsync(knowledgeBaseResource.KnowledgeBase);

            if (knowledgeBaseResponse?.KnowledgeBase == null)
            {
                return(Conflict());
            }

            return(Created($"api/knowledge-base/{{{knowledgeBaseResponse.KnowledgeBase.Id}}}", knowledgeBaseResponse.KnowledgeBase));
        }
예제 #3
0
        public void CreateAsync_ExistingKB()
        {
            var knowledgeBaseResource = new KnowledgeBaseResource {
                KnowledgeBase = new KnowledgeBase()
            };

            var knowledgeBaseRepository = new Mock <IKnowledgeBaseRepository>();

            knowledgeBaseRepository.Setup(x => x.CountAsync(It.IsAny <Expression <Func <IKnowledgeBase, bool> > >()))
            .Returns(Task.FromResult((long)1));

            var service = new KnowledgeBaseService(knowledgeBaseRepository.Object, Mock.Of <ILogger <KnowledgeBaseService> >());

            var result = service.CreateAsync(knowledgeBaseResource.KnowledgeBase).Result;

            Assert.IsNull(result);
        }
예제 #4
0
        public async Task <IActionResult> Put(string id, [FromBody] KnowledgeBaseResource knowledgeBaseResource)
        {
            try
            {
                KnowledgeBaseResource result = await _knowledgeBaseService.UpdateAsync(id, knowledgeBaseResource.KnowledgeBase);

                if (result != null)
                {
                    return(Ok(result));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(NotFound());
        }