public void RegisterListeners() { var userCreateListener = _container.Resolve <IListener <UserCreated> >(); _eventAggregatorProvider.GetEventAggregator().AddListener(userCreateListener, true); var companyCreatedListener = _container.Resolve <IListener <CompanyCreated> >(); _eventAggregatorProvider.GetEventAggregator().AddListener(companyCreatedListener, true); }
public override SingleEntityResponse <CompanyModel> Create(CompanyModel model) { var newCopmanyValidator = new NewCompanyValidator(_repository, _translationsService); var validationResult = newCopmanyValidator.Validate(model); if (!validationResult.IsValid) { return(new SingleEntityResponse <CompanyModel>(model, validationResult.GetErrorsObjects().ToList())); } var response = base.Create(model); if (response.IsValid) { _eventAggregatorProvider.GetEventAggregator().SendMessage(new CompanyCreated(model)); //TODO: handle somehow the fact that user creation failed. } return(response); }
public SingleEntityResponse <UserModel> CreateFromCompany(Guid companyId, string login) { var password = StringsGenerators.GenerateString(8); var model = new UserModel { Email = login, CompanyId = companyId, Password = PasswordHasher.Hash(password) }; var response = base.Create(model); //TODO: this is dirty hack, need to unhash password form db model.Password = password; if (response.IsValid) { _eventAggregatorProvider.GetEventAggregator().SendMessage(new UserCreated(model)); } return(response); }