コード例 #1
0
        public async Task Handle_ShouldBeUpdateInfo()
        {
            var command = new UpdateInfoCommand
            {
                AvatarPhotoId = DefaultPhotoIds.First(),
                UserName      = "******"
            };

            var handler = GetNewHandler();

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

            Assert.AreEqual(command.AvatarPhotoId, result.AvatarPhotoId);
            Assert.AreEqual(command.UserName, result.UserName);
        }
コード例 #2
0
        /// <summary>
        /// 更新个人资料
        /// </summary>
        /// <param name="updateInfoCommand"></param>
        /// <returns></returns>
        public ResultModel UpdateInfo(UpdateInfoCommand updateInfoCommand)
        {
            var result = updateInfoCommand.Validate();

            if (!result.IsSuccess)
            {
                return(result);
            }
            var member = _memberRepository.GetById(updateInfoCommand.Id);

            if (member == null)
            {
                return(new ResultModel(-1, "会员不存在"));
            }
            member.UpdateInfo(updateInfoCommand.Name, updateInfoCommand.NickName, updateInfoCommand.Sex, updateInfoCommand.Birthday);
            result = _memberRepository.Update(member);
            //发布事件
            return(result);
        }
コード例 #3
0
        public async Task Handle_GivenExistingUsername_ThrowsException()
        {
            await UserManager.CreateAsync(new AppUser
            {
                UserName = "******",
                Email    = "*****@*****.**"
            }, "pass12345");

            var command = new UpdateInfoCommand
            {
                AvatarPhotoId = null,
                UserName      = "******"
            };

            var handler = GetNewHandler();

            Assert.ThrowsAsync <ValidationException>(async() =>
                                                     await handler.Handle(command, CancellationToken.None));
        }
コード例 #4
0
 public async Task <ActionResult <UpdateInfoResponseDto> > UpdateInfo(
     [FromBody] UpdateInfoCommand command)
 {
     return(await Mediator.Send(command));
 }
コード例 #5
0
ファイル: UserCommandHandler.cs プロジェクト: zanderphh/Shop
 public void Handle(ICommandContext context, UpdateInfoCommand command)
 {
     context.Get <User>(command.AggregateRootId).UpdateInfo(command.NickName, command.Region, command.Portrait);
 }