public async Task <IActionResult> CreateResearcher([FromBody] ResearcherModel model)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult("Invalid model inputs"));
            }

            var command = new CreateResearcherCommand(model);

            var result = this._mediator.Send(command).Result;

            if (result == null)
            {
                return(new BadRequestObjectResult("Something went wrong"));
            }
            if (result.GetType() == typeof(bool) && (bool)result == false)
            {
                return(new BadRequestObjectResult("Something went wrong"));
            }
            if (result.GetType() == typeof(string))
            {
                return(new BadRequestObjectResult(result));
            }
            return(new OkObjectResult(result));
        }
예제 #2
0
        public bool CreateResearcher([Service] IResearcherRepository repo, string name)
        {
            CreateResearcherCommand createCommand = new CreateResearcherCommand(repo, name);

            createCommand.Execute();

            return(true);
        }
        public void CreateResearcherCallsRepoTest()
        {
            Mock <IResearcherRepository> researcherRepository = new Mock <IResearcherRepository>();

            List <Researcher> researchers = new List <Researcher>();
            Researcher        researcher  = new Researcher(name);

            researcherRepository.Setup(p => p.CreateResearcher(name))
            .Callback(() => researchers.Add(researcher));

            CreateResearcherCommand createResearcherCommand = new CreateResearcherCommand(researcherRepository.Object, name);

            createResearcherCommand.Execute();
            Assert.AreEqual(researchers.Count, 1);
        }