Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 4
0
        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));
 }