public Task <AsyncResult <string> > GetUserAdditionalDataAsync(Guid profileId, string key, int dataNo = 0)
        {
            ISQLDatabase database    = ServiceRegistration.Get <ISQLDatabase>();
            ITransaction transaction = database.BeginTransaction();

            try
            {
                int dataIndex;
                using (IDbCommand command = UserProfileDataManagement_SubSchema.SelectUserAdditionalDataCommand(transaction, profileId,
                                                                                                                key, dataNo, out dataIndex))
                {
                    using (IDataReader reader = command.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            var data = database.ReadDBValue <string>(reader, dataIndex);
                            return(Task.FromResult(new AsyncResult <string>(true, data)));
                        }
                    }
                }
                return(Task.FromResult(new AsyncResult <string>(false, null)));
            }
            finally
            {
                transaction.Dispose();
            }
        }
Пример #2
0
        public bool GetUserAdditionalData(Guid profileId, string key, out string data)
        {
            ISQLDatabase database    = ServiceRegistration.Get <ISQLDatabase>();
            ITransaction transaction = database.BeginTransaction();

            try
            {
                int dataIndex;
                using (IDbCommand command = UserProfileDataManagement_SubSchema.SelectUserAdditionalDataCommand(transaction, profileId,
                                                                                                                key, out dataIndex))
                {
                    using (IDataReader reader = command.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            data = database.ReadDBValue <string>(reader, dataIndex);
                            return(true);
                        }
                    }
                }
                data = null;
                return(false);
            }
            finally
            {
                transaction.Dispose();
            }
        }