public void Handle(CreateActivationRequestCommand command) { var employee = _personDao.GetPerson(command.PersonToId); var company = _personDao.GetCompanyByEmployeePersonId((int)employee.PersonFatherId); long fileid = 0; foreach (var pf in employee.PersonFile) { fileid = pf.FileId; } _clientNotification = new HttpClient(); _clientNotification.BaseAddress = new Uri(CustomConfiguration.WebApiNotification); //todo: substituir as mensagens em hard code por arquivos de resources para permitir traducao para outros idiomas string title = String.Format("Ola {0}, boas vindas ao {1}", employee.Name, employee.CustomClubName); var message = new NotificationDTO(1, employee.PersonId, employee.Name, (int)GeneralEnumerators.EnumLanguage.Portuguese, command.MessageCodeType.ToString(), title, employee.CustomClubName, employee.CustomHeeelpPersonDomain, employee.CustomClubLogo); message.AddParameter("LinkDeAtivacao", employee.CustomHeeelpPersonDomain + "/login/firstaccess/" + command.UserIntegrationCode.ToString()); var resultNotification = _clientNotification.PostAsJsonAsync("api/Communication/SendMessage", message).Result; if (!resultNotification.IsSuccessStatusCode) { LogManager.Info(string.Format("Erro ao enviar msg de ativação para a pessoa personId: {0}", command.PersonToId)); } }
private void UserCreatedSucess(Domain.User user, GeneralEnumerators.EnumEmailAcvtiveType messageCodeType) { //disparar o evento de usuario criado com sucesso para sincronizacao dos dados de usuario nos demais modulos user.AddEvent(new UserCreatedSuccessEvent { //SourceId = user.Id, UserId = user.UserId, IntegrationCode = user.IntegrationCode, PersonId = user.PersonId, IsDefaultUser = user.IsDefaultUser, UserStatusId = user.UserStatusId, LanguageId = user.LanguageId, Active = user.Active, Email = user.Email }); var person = user.Person; var employee = _personDao.GetCompany(user.PersonId); if (employee.PersonTypeId == (byte)GeneralEnumerators.EnumPersonType.Natural_Person) { var company = _personDao.GetCompany((int)employee.PersonFatherId); //disparar o comando para criacao do email de ativacao CreateActivationRequestCommand command = new CreateActivationRequestCommand(); command.SourceId = Guid.NewGuid(); command.PersonToId = user.PersonId; command.MessageCodeType = messageCodeType; command.UserIntegrationCode = user.IntegrationCode; this.bus.Send(command); } }