コード例 #1
0
        public Speciality Create(CreateSpecialityCommand command)
        {
            var speciality = new Speciality(command.Name, command.Description);

            speciality.Validate();
            _repository.Create(speciality);

            if (Commit())
            {
                return(speciality);
            }

            return(null);
        }
コード例 #2
0
        public async Task ThrowDuplicateException_WhenSpecialityCodeExists()
        {
            var request = new CreateSpecialityCommand
            {
                Code = 101,
                Name = "Test Speciality 3"
            };

            var handler = new CreateSpecialityCommandHandler(Context);

            var exception = Assert.ThrowsAsync <DuplicateException>(async() => await handler.Handle(request, CancellationToken.None));

            Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetDuplicateExceptionMessage(nameof(Speciality), "Code", request.Code));
        }
コード例 #3
0
        public async Task CreateSpeciality()
        {
            var request = new CreateSpecialityCommand
            {
                Code = 103,
                Name = "Test Speciality 3"
            };

            var handler = new CreateSpecialityCommandHandler(Context);

            var result = await handler.Handle(request, CancellationToken.None);

            Assert.IsTrue(Context.Specialities.Where(x => x.Id == result).Count() == 1);
        }
コード例 #4
0
        public async Task <IActionResult> Create([FromBody] CreateSpecialityCommand command)
        {
            var productId = await Mediator.Send(command);

            return(CreatedAtAction("Get", new { id = productId }));
        }