Remove sqlite base64 contact store from AccountContact.

This commit is contained in:
Burak Kaan Köse
2026-03-07 11:43:56 +01:00
parent 8e8b123aa6
commit 09f1cee3a5
18 changed files with 136 additions and 103 deletions
@@ -2,6 +2,7 @@
x:Class="Wino.Dialogs.ContactEditDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Wino.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:domain="using:Wino.Core.Domain"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -52,7 +53,7 @@
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<PersonPicture
<controls:ImagePreviewControl
x:Name="ContactPhotoPersonPicture"
Grid.Column="0"
Width="64"
@@ -61,11 +61,6 @@ public sealed partial class ContactEditDialog : ContentDialog
RemovePhotoButton.Visibility = Visibility.Visible;
}
}
else if (!string.IsNullOrEmpty(_contact.Base64ContactPicture))
{
LoadContactPhotoFromBase64(_contact.Base64ContactPicture);
RemovePhotoButton.Visibility = Visibility.Visible;
}
else
{
ContactPhotoPersonPicture.DisplayName = _contact.Name ?? string.Empty;
@@ -101,9 +96,7 @@ public sealed partial class ContactEditDialog : ContentDialog
}
else
{
// Fallback to legacy base64 when service is unavailable (e.g. design-time).
_contact.Base64ContactPicture = Convert.ToBase64String(file.Data);
LoadContactPhotoFromBase64(_contact.Base64ContactPicture);
LoadContactPhoto(file.Data);
}
RemovePhotoButton.Visibility = Visibility.Visible;
@@ -121,7 +114,6 @@ public sealed partial class ContactEditDialog : ContentDialog
_ = _contactPictureFileService.DeleteContactPictureAsync(_contact.ContactPictureFileId.Value);
_contact.ContactPictureFileId = null;
_contact.Base64ContactPicture = null;
ContactPhotoPersonPicture.ProfilePicture = null;
ContactPhotoPersonPicture.DisplayName = ContactNameTextBox.Text;
RemovePhotoButton.Visibility = Visibility.Collapsed;
@@ -143,11 +135,10 @@ public sealed partial class ContactEditDialog : ContentDialog
}
}
private void LoadContactPhotoFromBase64(string base64String)
private void LoadContactPhoto(byte[] imageBytes)
{
try
{
var imageBytes = Convert.FromBase64String(base64String);
using var stream = new MemoryStream(imageBytes);
var bitmap = new BitmapImage();
bitmap.SetSource(stream.AsRandomAccessStream());