コード例 #1
0
        public async Task <IActionResult> AddTransaction(string coinname, int coinhodleid, decimal quantity, decimal fee, string datatime, decimal priceWhenBoughtSold, int coinid)
        {
            try
            {
                CoinsHodle coinsHodle = await _repo.GetCoinsHodle(coinhodleid);

                //Transactions transactions = await _repo.GetTransactions(coinsHodle.Id);



                if (await _repo.AddTransaction(coinsHodle, quantity, datatime, fee, priceWhenBoughtSold, coinid))
                {
                    // var total = await _repo.Get_Total_Coin_In_Portfolio(coinsHodle, coinid);                     // replace 1 with coinid


                    // if (await _repo.UpdateCoinHodleAmount(coinsHodle))              // maybe better way of doing this

                    //return Ok(total);
                    return(Ok());
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            }



            return(BadRequest("Failed to add Transaction"));
        }
コード例 #2
0
        public async Task <bool> AddCoinToPortfolio(int coinid, int coinidno, Portfolio portfolio)
        {
            CoinsHodle newCoinsHodle = new CoinsHodle();

            // newCoinsHodle.Name = name;
            newCoinsHodle.coinID    = coinidno;
            newCoinsHodle.Quantity  = 0;
            newCoinsHodle.Portfolio = portfolio;



            _context.CoinsHodle.Add(newCoinsHodle);
            return(await _context.SaveChangesAsync() > 0);
        }
コード例 #3
0
        public async Task <double> Get_Total_Coin_In_Portfolio(CoinsHodle coinHodleID, int coinid)
        {
            var coinsHodle = await _context.CoinsHodle
                             .Include(t => t.Transactions)
                             .FirstOrDefaultAsync(p => p.Id == coinHodleID.Id);

            var totalbuys = from Transaction in coinsHodle.Transactions
                            where  Transaction.Coinid == coinid
                            select Transaction.AmountBuy;

            var totalsells = from Transaction in coinHodleID.Transactions
                             where Transaction.Coinid == coinid
                             select Transaction.AmountSell;

            var totalBuy  = totalbuys.Sum();
            var totalSell = totalsells.Sum();

            return(totalBuy - totalSell);
        }