コード例 #1
0
        //Find profile in database or create new data and insert into database
        private ProfileInfoData FindOrCreateData(ObservableServerProfile profile)
        {
            var data = profiles.FindOne(a => a.Username == profile.Username);

            if (data == null)
            {
                data = new ProfileInfoData()
                {
                    Username = profile.Username,
                    Data     = profile.ToBytes()
                };
                profiles.Insert(data);
            }
            return(data);
        }
コード例 #2
0
        /// <summary>
        /// Find profile data in database or create new data and insert them to database
        /// </summary>
        /// <param name="profile"></param>
        /// <returns></returns>
        private async Task <ProfileInfoData> FindOrCreateData(ObservableServerProfile profile)
        {
            string username = profile.Username;

            var data = await Task.Run(() => {
                return(profiles.FindOne(a => a.Username == username));
            });

            if (data == null)
            {
                data = new ProfileInfoData()
                {
                    Username = profile.Username,
                    Data     = profile.ToBytes()
                };

                await Task.Run(() => {
                    profiles.Insert(data);
                });
            }

            return(data);
        }