Пример #1
0
 public void Handle(ICommandContext context, UpdateSubjectCommand command)
 {
     context.Get <Store>(command.AggregateRootId).UpdateSubjectInfo(new SubjectInfo(
                                                                        command.SubjectName,
                                                                        command.SubjectNumber,
                                                                        command.SubjectPic));
 }
Пример #2
0
        public async Task <IActionResult> Update(
            [FromRoute] int id,
            [FromBody] UpdateSubjectCommand command)
        {
            if (id != command.Id)
            {
                return(BadRequest());
            }

            return(Ok(await Mediator.Send(command)));
        }
        public void UpdateSubjectCommand_ShouldThrowNotFoundException()
        {
            var command = new UpdateSubjectCommand
            {
                Id   = 99,
                Name = "VoidMagic"
            };

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <NotFoundException>();
        }
        public async Task <ActionResult> Update(int id, UpdateSubjectCommand command)
        {
            if (id != command.Id)
            {
                return(BadRequest());
            }

            await Mediator.Send(command);

            return(NoContent());
        }
Пример #5
0
        public async Task ThrowNotFoundException_WhenSubjectIsNotExists()
        {
            var request = new UpdateSubjectCommand
            {
                Id   = 100,
                Name = "Test Subject Edited"
            };

            var handler = new UpdateSubjectCommandHandler(Context);

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

            Assert.AreEqual(exception.Message, ExceptionMessagesBuilderHelper.GetNotFoundExceptionMessage(nameof(Subject), request.Id));
        }
Пример #6
0
        public async Task UpdateSubject()
        {
            var request = new UpdateSubjectCommand
            {
                Id   = 1,
                Name = "Test Subject 1 edited"
            };

            var handler = new UpdateSubjectCommandHandler(Context);

            await handler.Handle(request, CancellationToken.None);

            Assert.IsTrue(Context.Subjects.Where(x => x.Id == request.Id && x.Name == request.Name).Count() == 1);
        }
Пример #7
0
        public async Task <BaseApiResponse> EditSubject([FromBody] EditSubjectRequest request)
        {
            request.CheckNotNull(nameof(request));

            var command = new UpdateSubjectCommand(
                request.SubjectName,
                request.SubjectNumber,
                request.SubjectPic)
            {
                AggregateRootId = request.Id
            };

            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
        public async Task UpdateSubjectCommand_ShouldUpdateSubject()
        {
            var userId = await RunAsDefaultUserAsync();

            var subjectId = await SendAsync(new CreateSubjectCommand { Name = "StaffLogic" });

            var command = new UpdateSubjectCommand
            {
                Id   = subjectId,
                Name = "VoidMagic"
            };

            await SendAsync(command);

            var subject = await FindAsync <Subject>(subjectId);

            subject.Name.Should().Be("VoidMagic");
            subject.LastModifiedBy.Should().NotBeNull();
            subject.LastModifiedBy.Should().Be(userId);
            subject.LastModified.Should().NotBeNull();
            subject.LastModified.Should().BeCloseTo(DateTime.Now, 10000);
        }
Пример #9
0
        public async Task <SubjectResponseModel> PutSubject(
            int subjectId,
            [FromForm] SubjectRequestModel model,
            CancellationToken cancellationToken
            )
        {
            cancellationToken.ThrowIfCancellationRequested();

            var command = new UpdateSubjectCommand(
                subjectId,
                model.GroupId,
                model.Name
                );

            await _mediator.Send(command, cancellationToken);

            var query = new FindSubjectByIdQuery(subjectId);

            var subject = await _mediator.Send(query, cancellationToken);

            var response = _mapper.Map <SubjectResponseModel>(subject);

            return(response);
        }
Пример #10
0
 public async Task <IActionResult> Edit(UpdateSubjectCommand command) => Json(await Mediator.Send(command));
Пример #11
0
        public async Task <IActionResult> Update([FromBody] UpdateSubjectCommand command)
        {
            await Mediator.Send(command);

            return(NoContent());
        }
Пример #12
0
        public async Task <ActionResult> UpdateSubject([FromBody] UpdateSubjectCommand updateSubjectCommand)
        {
            await _mediator.Send(updateSubjectCommand);

            return(NoContent());
        }