Ejemplo n.º 1
0
        public User GetUserBalances(int userId)
        {
            string query = @"SELECT U.UserId,U.UserName,b.Amount,C.CurrencyId,C.Name Currency,C.Ratio
                            FROM dbo.[User] U
                            INNER JOIN dbo.[Balance] b ON b.UserId = U.UserId
                            INNER JOIN dbo.[Currency] c ON c.CurrencyId = b.CurrencyId
                            WHERE U.UserId = @UserId";

            var userBalance = new List <DataModel.UserBalance>();

            using (var connection = CreateConnection())
            {
                userBalance = connection.Query <DataModel.UserBalance>(query, new { UserId = userId }).ToList();
            }
            var user = GetUserInfo(userId);

            var balance = new Balance();

            if (userBalance != null && userBalance.Count() > 0)
            {
                foreach (var item in userBalance)
                {
                    balance.AddMoneyBalance(
                        new Money(new Currency(item.CurrencyId, item.Currency, item.Ratio), item.Amount));
                }
            }

            return(new User(user.UserId, user.Username, balance));
        }