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