Exemple #1
0
        private static object[] PointAdd(NeoVersionedAppUser AppVAU, object[] args)
        {
            object[] results = { -1 };

            if (NeoTrace.ARGSRESULTS)
            {
                NeoVersionedAppUser.LogExt("PointAdd.AppVAU", AppVAU);
            }

            byte[] encodedUsername = (byte[])args[0];
            if (NeoTrace.ARGSRESULTS)
            {
                NeoTrace.Trace("PointAdd.encodedUsername", encodedUsername);
            }
            BigInteger x = (BigInteger)(args[1]);

            if (NeoTrace.ARGSRESULTS)
            {
                NeoTrace.Trace("PointAdd.x", x);
            }
            BigInteger y = (BigInteger)(args[2]);

            if (NeoTrace.ARGSRESULTS)
            {
                NeoTrace.Trace("PointAdd.y", y);
            }

            UserCredentials uc = FindUser(AppVAU, encodedUsername);

            if (UserCredentials.IsMissing(uc))
            {
                if (NeoTrace.INFO)
                {
                    UserCredentials.LogExt("PointAdd.user missing", uc);
                }
            }
            else
            {
                if (NeoTrace.INFO)
                {
                    UserCredentials.LogExt("PointAdd.user exists", uc);
                }

                UserPoint  up    = UserPoint.New(x, y);
                BigInteger index = NeoCounter.TakeNextNumber(AppVAU, encodedUsername, NeoCounters.UserPointsCounter);
                if (NeoTrace.INFO)
                {
                    NeoTrace.Trace("PointAdd.index", index);
                }
                UserPoint.PutElement(up, AppVAU, encodedUsername, (int)index);

                results = new object[] { index };
            }

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

            return(results);
        }