public async Task UpdateUserAsync(UserDataStructure userDataStructure) { if (userDataStructure?.Id == null) { throw new BusinessLogicException("Missing id"); } var user = await GetOneOrThrowAsync(userDataStructure.Id.Value); user.UpdateUser(userDataStructure.Email, userDataStructure.FirstName, userDataStructure.SecondName, userDataStructure.BirthDate, new Address(userDataStructure.PostalCode, userDataStructure.Street, userDataStructure.City)); await _usersRepository.UpdateAsync(user); var userCratedEvent = new UserChangedEvent(user.Id, user.UserName, user.Email, user.Roles.Select(x => x.ToString()), user.FirstName, user.SecondName, user.BirthDate, user.ModifyDate, new AddressEventData() { City = user.Address.City, PostalCode = user.Address.City, Street = user.Address.Street }); await _busPublisher.PublishAsync(userCratedEvent); }
public async Task AddUserAsync(UserDataStructure userDataStructure) { var user = (await _usersRepository.GetWithExpressionAsync(x => x.UserName == userDataStructure.UserName)).SingleOrDefault(); if (user != null) { throw new BusinessLogicException("User already exists"); } user = _userFactory.CreateUser(userDataStructure); ValidatePasswords(userDataStructure.Password, userDataStructure.ConfirmPassword); user.SetPassword(userDataStructure.Password); await _usersRepository.CreateAsync(user); var userCratedEvent = new UserChangedEvent(user.Id, user.UserName, user.Email, user.Roles.Select(x => x.ToString()), user.FirstName, user.SecondName, user.BirthDate, user.ModifyDate, new AddressEventData() { City = user.Address.City, PostalCode = user.Address.City, Street = user.Address.Street }); await _busPublisher.PublishAsync(userCratedEvent); }
public void EditCardUser(User user) { User prevUser = User; User = user; UserChangedEvent?.Invoke(this); }
public void Handle(UserChangedEvent message) { var viewmodel = (from vm in ElementList where vm.Id == message.User.Id select vm).FirstOrDefault(); if (viewmodel == null) { viewmodel = new UserRowViewModel(message.User); ElementList.Add(viewmodel); ConnectElement(viewmodel); } else { viewmodel.ExchangeData(message.User); viewmodel.Refresh(); } NotifyOfPropertyChange(() => ItemSelected); NotifyOfPropertyChange(() => ItemsSelected); }
private void GetUserInfo() { var request = new RestRequest("/2.2/me"); request.AddParameter("order", "desc"); request.AddParameter("sort", "reputation"); request.AddParameter("site", "stackoverflow"); request.AddParameter("filter", "!40DJoyoFxZjgBkP1("); request.AddParameter("access_token", AccessToken); request.AddParameter("key", _requestKey); var asyncHandle = client.ExecuteAsync <Users>(request, response => { Trace.WriteLine(response.Data.Items[0]); CurrentUser = response.Data.Items[0]; // check to make sure someone has subscribed to this. UserChangedEvent?.Invoke(this, EventArgs.Empty); Spillway.Properties.Settings.Default.Access_Token = this.AccessToken; Spillway.Properties.Settings.Default.Save(); //start fetching the notifications in a background thread! }); }
private void HandleApiMessage(UserChangedEvent message) { Debug.WriteLine("USER UPDATED: " + message.User.Name); _users[message.User.ID] = message.User; }