public async Task <ResultModel <AccountBasic> > RegisterAccountAsync(AccountRegister accountRegister) { var result = new ResultModel <AccountBasic>(); try { var id_User = _tokenRead.GetValue("Id_User"); if (!string.IsNullOrEmpty(id_User) && int.TryParse(id_User, out int userId)) { var account = new Core.Models.Account(accountRegister); var valid = account.Valid(); if (valid.Success) { await _account.RegisterAccount(account, userId); if (account.Id > 0) { await _bus.PublishForgetAsync(new AccountCommandInsert { AccountId = account.Id }); result.SetData(new AccountBasic { Active = account.Active, Id = account.Id, Identification = account.Identification }); } else { result.NotValid(); result.SetMessages("Não foi possíovel realizar o cadastro!"); } } else { result.NotValid(); result.SetMessages(valid.Messages); } } else { result.NotValid(); result.SetMessages("Error Token, not found User_Id"); } } catch (Exception e) { result.NotValid(e.GetBaseException().Message); } return(result); }