MemoryStreamos a fotó ...

This commit is contained in:
2025-07-02 18:30:10 +02:00
parent bc977af15c
commit 7f3562fb73
5 changed files with 147 additions and 65 deletions
@@ -0,0 +1,66 @@
using System.ComponentModel;
using WorkFlowCheck.Common.DTO;
namespace WorkFlowCheck.MAUI.Pages.CheckList
{
public class CheckListRowCS : INotifyPropertyChanged
{
private byte[] _photoBytes;
private ImageSource? _photo;
public event PropertyChangedEventHandler PropertyChanged;
public int Id { get; set; }
public string AnswerType { get; set; } = null!;
public int RowIndex { get; set; }
public string OperationDescription { get; set; } = null!;
public string GroupName { get; set; } = null!;
public string Answer { get; set; } = null!;
public bool? AnswerYes { get; set; } = null!;
public bool? AnswerNo { get; set; } = null!;
public byte[] PhotoBytes
{
get => _photoBytes;
set
{
if (_photoBytes != value)
{
_photoBytes = value;
_photo = null;
OnPropertyChanged(nameof(PhotoBytes));
OnPropertyChanged(nameof(Photo));
}
}
}
public ImageSource Photo
{
get
{
if (_photo == null)
{
if (PhotoBytes != null && PhotoBytes.Length > 0)
{
try
{
var bytesCopy = PhotoBytes.ToArray();
_photo = ImageSource.FromStream(() => new MemoryStream(bytesCopy));
}
catch
{
_photo = ImageSource.FromFile("noimage.png");
}
}
else
{
_photo = ImageSource.FromFile("noimage.png");
}
}
return _photo;
}
}
protected void OnPropertyChanged(string name) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
}