示例#1
0
        public static void Find(ServervilleClient server, string id, Action <KeyData> onDone)
        {
            if (server == null)
            {
                throw new Exception("Must supply a server");
            }

            if (id == null)
            {
                if (server.GetUserInfo() == null)
                {
                    throw new Exception("Server not yet logged in");
                }
                id = server.GetUserInfo().user_id;
            }

            server.GetKeyDataRecord(id, delegate(KeyDataInfo info) {
                KeyData inst = new KeyData(server, info);

                if (onDone != null)
                {
                    onDone(inst);
                }
            },
                                    delegate(ErrorReply reply) {
                if (onDone != null)
                {
                    onDone(null);
                }
            });
        }
示例#2
0
        public void Save(Action <bool> onDone)
        {
            if (Server.GetUserInfo() == null || Server.GetUserInfo().user_id != RecordInfo.owner)
            {
                throw new Exception("Read-only data!");
            }

            if (!Dirty)
            {
                return;
            }

            List <SetUserDataRequest> saveSet = new List <SetUserDataRequest>();

            foreach (DataItemReply item in DirtyKeys.Values)
            {
                saveSet.Add(new SetUserDataRequest
                {
                    key       = item.key,
                    value     = item.value,
                    data_type = item.data_type
                }
                            );
            }

            Server.SetDataKeys(Id, saveSet,
                               delegate(SetDataReply obj)
            {
                DirtyKeys.Clear();
                Dirty = false;

                onDone(true);
            },
                               delegate(ErrorReply reply)
            {
                onDone(false);
            }
                               );
        }
		public static void Find(ServervilleClient server, string id, Action<KeyData> onDone)
		{
			if(server == null)
				throw new Exception("Must supply a server");
			
			if(id == null)
			{
				if(server.GetUserInfo() == null)
					throw new Exception("Server not yet logged in");
				id = server.GetUserInfo().user_id;
			}
				
			server.GetKeyDataRecord(id, delegate(KeyDataInfo info) {
				KeyData inst = new KeyData(server, info);

				if(onDone != null)
					onDone(inst);
			},
			delegate(ErrorReply reply) {
				if(onDone != null)
					onDone(null);
			});
		}