public async Task <IActionResult> AddNewSpending(Transaction transaction) { User user = new User(); HttpClient client = new HttpClient(); var req = await client.GetAsync("https://localhost:5001/users/parser"); Task <string> c = req.Content.ReadAsStringAsync(); var res = JsonConvert.DeserializeObject <List <User> >(c.Result); foreach (var g in res) { if (g.Logged == true) { user = new User() { Id = g.Id, Gmail = g.Gmail, Card = g.Card, Cash = g.Cash, FullName = g.FullName, UserImage = g.UserImage, Logged = true, Password = g.Password }; } } var user1 = await _usersRepository.GetById(user.Id); var balance = user1.GetType().GetProperty(transaction.BalanceType); var balanceAmount = (double)balance.GetValue(user1); transaction.UserId = user1.Id; if (balanceAmount >= transaction.AmountDouble) { balance.SetValue(user1, balanceAmount - transaction.AmountDouble); await _usersRepository.Update(user1.Id, user1); await _transactionsRepository.Create(transaction); return(Ok()); } return(NotFound()); }
public async Task <IActionResult> AddNewSpending(Transaction transaction) { var user = await _usersRepository.GetById(Domain.Constants.Constants.TestUserId); var balance = user.GetType().GetProperty(transaction.BalanceType); var balanceAmount = (double)balance.GetValue(user); transaction.UserId = user.Id; if (balanceAmount >= transaction.AmountDouble) { balance.SetValue(user, balanceAmount - transaction.AmountDouble); await _usersRepository.Update(user.Id, user); await _transactionsRepository.Create(transaction); return(Ok()); } return(NotFound()); }
public async Task <IActionResult> Add(Transactions transaction, string[] Categories) { transaction.UserLogin = User.Identity.Name; transaction.Categories = string.Join(", ", Categories); if (ModelState.IsValid) { await _transactions.Create(transaction); } await FillRequiredViewBagData(); return(View("Index", transaction)); }
public void CreateTransferThisBankFromAccountTransaction(TransferThisBankTransactionViewModel model) { var account = _accountsRepository.GetOneByID(model.FromAccountId); var oldBalance = model.OldAccountBalance; var newBalance = oldBalance - model.Amount; var newTransaction = new Transactions() { AccountId = model.FromAccountId, Date = model.Date, Type = model.Type, Operation = model.Operation, Amount = -model.Amount, Balance = newBalance, Symbol = model.Symbol, Bank = model.Bank, Account = model.ToAccountId.ToString(), }; _transactionsRepository.Create(newTransaction); account.Balance = newBalance; _accountsRepository.Update(account); }
public async Task CreateTransaction(string userId, TransactionModel transaction) { try { transaction.UserId = userId; UserModel user = await _userRepository.Get(userId); user.Wallets.Add(await UpdateWalletForNewTransaction(user, transaction)); await _transactionRepository.Create(transaction); await _userRepository.Update(userId, user); } catch (Exception e) { throw new Exception(); } }
public void Create([FromBody] Transaction newTransaction) { repository.Create(newTransaction); }
public Transaction Create(Transaction transaction) { return(_transactionRepository.Create(transaction)); }