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); }