示例#1
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);
            }
                               );
        }