コード例 #1
0
ファイル: Contract1.cs プロジェクト: mwherman2000/neo-npcc
        private static object[] PointGetAll(NeoVersionedAppUser AppVAU, object[] args)
        {
            object[] results = { -1 };

            byte[] encodedUsername = (byte[])args[0];
            if (NeoTrace.ARGSRESULTS)
            {
                NeoTrace.Trace("PointGetAll.encodedUsername", encodedUsername);
            }

            UserCredentials uc = FindUser(AppVAU, encodedUsername);

            if (UserCredentials.IsMissing(uc))
            {
                if (NeoTrace.INFO)
                {
                    UserCredentials.LogExt("PointGetAll.user missing", uc);
                }
            }
            else
            {
                if (NeoTrace.INFO)
                {
                    UserCredentials.LogExt("PointGetAll.user exists", uc);
                }
                BigInteger nPoints = NeoCounter.GetCurrentNextNumber(AppVAU, encodedUsername, NeoCounters.UserPointsCounter);
                if (NeoTrace.INFO)
                {
                    NeoTrace.Trace("PointGetAll.nPoints", nPoints);
                }

                UserPoint[] points = new UserPoint[(int)nPoints];
                for (int index = 0; index < nPoints; index++)
                {
                    if (NeoTrace.INFO)
                    {
                        NeoTrace.Trace("PointGetAll.index", index);
                    }
                    UserPoint up = UserPoint.GetElement(AppVAU, encodedUsername, (int)index);
                    if (NeoTrace.INFO)
                    {
                        UserPoint.LogExt("PointGetAll.up", up);
                    }
                    points[index] = up;
                }
                results = points;
            }

            if (NeoTrace.ARGSRESULTS)
            {
                NeoTrace.Trace("PointGetAll.results", results);
            }

            return(results);
        }