示例#1
0
        protected override void SetStateByEvent(IEvent @event)
        {
            switch (@event)
            {
            case UserRegistered e:
                Id          = e.UserId;
                FirstName   = FirstName.FromString(e.FirstName);
                LastName    = LastName.FromString(e.LastName);
                DisplayName = DisplayName.FromString(e.DisplayName);
                break;

            case UserNameUpdated e:
                FirstName = FirstName.FromString(e.FirstName);
                LastName  = LastName.FromString(e.LastName);
                break;

            case UserEmailUpdated e:
                Email = Email.FromString(e.Email);
                break;

            case UserDisplayNameUpdated e:
                DisplayName = DisplayName.FromString(e.DisplayName);
                break;

            default:
                throw new InvalidOperationException("امکان اجرای عملیات درخواستی وجود ندارد");
            }
        }
示例#2
0
 public void Configure(EntityTypeBuilder <UserProfile> builder)
 {
     builder.Property(c => c.FirstName).HasConversion(c => c.Value, d => FirstName.FromString(d));
     builder.Property(c => c.LastName).HasConversion(c => c.Value, d => LastName.FromString(d));
     builder.Property(c => c.DisplayName).HasConversion(c => c.Value, d => DisplayName.FromString(d));
     builder.Property(c => c.Email).HasConversion(c => c.Value, d => Email.FromString(d));
 }
        public void Handle(UpdateUserName command)
        {
            var user = _userProfileRepository.Load(command.UserId);

            if (user == null)
            {
                throw new InvalidOperationException($"کاربری با شناسه {command.UserId} یافت نشد.");
            }
            user.UpdateName(FirstName.FromString(command.FirstName), LastName.FromString(command.LastName));
            _unitOfWork.Commit();
        }
        protected override void SetStateByEvent(IEvent @event)
        {
            switch (@event)
            {
            case UserRegistered e:
                FirstName = FirstName.FromString(e.FirstName);
                LastName  = LastName.FromString(e.FirstName);
                Email     = Email.FromString(e.Email);
                break;

            default:
                break;
            }
        }
示例#5
0
        public void Handle(RegisterUser command)
        {
            if (_userProfileRepository.Exists(command.UserId))
            {
                throw new InvalidOperationException($"قبلا کاربری با شناسه {command.UserId} ثبت شده است.");
            }

            UserProfile userProfile = new UserProfile(command.UserId,
                                                      FirstName.FromString(command.FirstName),
                                                      LastName.FromString(command.LastName),
                                                      DisplayName.FromString(command.DisplayName));

            _userProfileRepository.Add(userProfile);
            unitOfWork.Commit();
        }
        public async Task <bool> Handle(RegisterUserProfile request, CancellationToken cancellationToken)
        {
            UserProfile userProfile = new UserProfile(
                FirstName.FromString(request.FirstName),
                LastName.FromString(request.LastName),
                Email.FromString(request.Email));

            _userProfileRepository.Add(userProfile);
            int result = _unitOfWork.Commit();

            foreach (var @event in userProfile.GetEvents())
            {
                await _eventBus.Publish(@event);
            }
            return(true);
        }