private List <MoneySource> Read(IDataReader reader)
        {
            var list    = new List <MoneySource>();
            var houseDA = new HouseDataAdapter();
            var userDA  = new UserDataAdapter();

            while (reader.Read())
            {
                var item = new MoneySource
                {
                    Id         = reader["Id"].ToString(),
                    Name       = reader["Name"].ToString(),
                    BalanceUSD = Convert.ToSingle(reader["BalanceUSD"]),
                    BalanceVND = Convert.ToSingle(reader["BalanceVND"]),
                    Owner      = new User
                    {
                        Id = reader["OwnerId"].ToString()
                    }
                };
                var houseId = reader["HouseId"].ToString();
                if (!string.IsNullOrEmpty(houseId))
                {
                    item.House = houseDA.GetById(houseId);
                }
                item.Owner = userDA.GetById(item.Owner.Id);
                list.Add(item);
            }

            return(list);
        }
        private List <UserObjectPermission> Read(IDataReader reader)
        {
            var list   = new List <UserObjectPermission>();
            var userDa = new UserDataAdapter();

            while (reader.Read())
            {
                var item = new UserObjectPermission
                {
                    Id   = reader["Id"].ToString(),
                    User = new User
                    {
                        Id = reader["UserId"].ToString()
                    },
                    ObjectType = reader["ObjectType"].ToString(),
                    ObjectId   = reader["ObjectId"]?.ToString(),
                    Permission = (PermissionEnum)Convert.ToInt32(reader["Permission"])
                };
                item.User = userDa.GetById(item.User.Id);
                list.Add(item);
            }
            return(list);
        }