using System; using BS.Shared; using BS.Shared.DataContracts; namespace BeWo.ViewModel { public class StoredFileVM : AbstractDCMapperVM { private string _FileName; private string _FilePath; private string _ContentType; private long _Size; private string _Checksum; private int? _BeWoObjectTid; private long? _BeWoObjectOid; private byte[] _Data; public StoredFileVM(StoredFileDC dc) : base(dc, dc?.Oid) { } public string FileName { get => _FileName; set => SetProperty(ref _FileName, value, nameof(FileName), () => DataContract.FileName); } public string FilePath { get => _FilePath; set => SetProperty(ref _FilePath, value, nameof(FilePath), () => DataContract.FilePath); } public string ContentType { get => _ContentType; set => SetProperty(ref _ContentType, value, nameof(ContentType), () => DataContract.ContentType); } public long Size { get => _Size; set => SetProperty(ref _Size, value, nameof(Size), () => DataContract.Size); } public string Checksum { get => _Checksum; set => SetProperty(ref _Checksum, value, nameof(Checksum), () => DataContract.Checksum); } public int? BeWoObjectTid { get => _BeWoObjectTid; set => SetProperty(ref _BeWoObjectTid, value, nameof(BeWoObjectTid), () => DataContract.BeWoObjectTid); } public long? BeWoObjectOid { get => _BeWoObjectOid; set => SetProperty(ref _BeWoObjectOid, value, nameof(BeWoObjectOid), () => DataContract.BeWoObjectOid); } public byte[] Data { get => _Data; set => SetProperty(ref _Data, value, nameof(Data)); } protected override void InitByDataContract(StoredFileDC pDataContract) { if (pDataContract is null) return; _FileName = pDataContract.FileName; _FilePath = pDataContract.FilePath; _ContentType = pDataContract.ContentType; _Size = pDataContract.Size; _Checksum = pDataContract.Checksum; _BeWoObjectTid = pDataContract.BeWoObjectTid; _BeWoObjectOid = pDataContract.BeWoObjectOid; } protected override StoredFileDC MapToDataContract(StoredFileDC pDataContract, bool doCommit) { pDataContract.FileName = _FileName; pDataContract.FilePath = _FilePath; pDataContract.ContentType = _ContentType; pDataContract.Size = _Size; pDataContract.Checksum = _Checksum; pDataContract.BeWoObjectTid = _BeWoObjectTid; pDataContract.BeWoObjectOid = _BeWoObjectOid; return pDataContract; } public override void UpdateByDataContract(StoredFileDC pDataContract) { if (pDataContract is null) return; FileName = pDataContract.FileName; FilePath = pDataContract.FilePath; ContentType = pDataContract.ContentType; Size = pDataContract.Size; Checksum = pDataContract.Checksum; BeWoObjectTid = pDataContract.BeWoObjectTid; BeWoObjectOid = pDataContract.BeWoObjectOid; } } }