public override Task <GetAccountsResponse> Get(GetAccountsRequest request, ServerCallContext context) { var accounts = request.Ids.Select(id => accountsRepository.Get(id)) .Where(account => account != null) .Select(account => mapper.Map <Account>(account)); return(Task.FromResult(new GetAccountsResponse { Accounts = { accounts } })); }
public Task Get(MessageContext context, GetAccountsEvent inputEvent) { var accounts = inputEvent.Ids.Select(id => accountsRepository.Get(id)) .Where(account => account != null) .ToArray(); publishingRouter.Publish(context.ReplyTo, new SelectedAccountsEvent { Accounts = accounts }, context.FlowId); return(Task.CompletedTask); }
public void SelectCharacter(Client sender, params object[] args) { if (Guid.TryParse(args[0].ToString(), out Guid userGuid) && int.TryParse(args[1].ToString(), out int accountId) && int.TryParse(args[2].ToString(), out int characterIndex)) { if (EntityHelper.GetAccounts().All(account => account.DbModel.Id != accountId)) { RoleplayContext ctx = Singletons.RoleplayContextFactory.Create(); using (AccountsRepository accountsRepository = new AccountsRepository(ctx)) using (CharactersRepository charactersRepository = new CharactersRepository(ctx)) { AccountModel accountModel = accountsRepository.Get(accountId); AccountEntity accountEntity = new AccountEntity(accountModel, sender); accountEntity.Login(userGuid); int characterId = accountEntity.DbModel.Characters.Where(character => character.IsAlive).ToList()[characterIndex].Id; CharacterModel characterModel = charactersRepository.Get(characterId); CharacterEntity characterEntity = new CharacterEntity(accountEntity, characterModel); accountEntity.SelectCharacter(characterEntity); } } } else { sender.Kick("Nie udało się zalogować. Skontaktuj się z administratorem."); } }
public override async Task <TransferResponse> Transfer(TransferRequest request, ServerCallContext context) { if (!accountsRepository.CanTransfer(request.Transfer.AccountId, request.Transfer.Recipient, request.Transfer.Amount)) { throw new ArgumentException("Cannot transfer founds."); } var transfer = CreateRequest(request.Transfer); var result = await transactionsClient.CreateAsync(transfer, context.RequestHeaders.SelectCustom()); accountsRepository.Transfer(request.Transfer.AccountId, request.Transfer.Recipient, request.Transfer.Amount); var affectedAccounts = new[] { accountsRepository.Get(request.Transfer.AccountId), accountsRepository.Get(request.Transfer.Recipient) }; if (affectedAccounts.Length > 0) { projectionChannel.Publish(context.RequestHeaders.GetFlowId(), new DataProjection <Models.Account, string> { Upsert = affectedAccounts }); } return(new TransferResponse { Transaction = result.Transaction }); }
public Task <Register> Get(int Id) { return(accountsRepository.Get(Id)); }
internal IEnumerable <Account> Get(string userId) { return(_repo.Get(userId)); }