using System; using BS.Shared; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Feature.AI; namespace BeWo.ViewModel { public class AiPromptbausteinRoutineStepVM : AbstractDCMapperVM { private int _Position; private AiPromptbausteinPromptDC _PromptReference; private long _ReferenceVersion; public AiPromptbausteinRoutineStepVM(AiPromptbausteinRoutineStepDC dc) : base(dc, dc.Oid) { } public int Position { get => _Position; set => SetProperty(ref _Position, value, nameof(Position), () => DataContract.Position); } public AiPromptbausteinPromptDC PromptReference { get => _PromptReference; set => SetProperty(ref _PromptReference, value, nameof(PromptReference), () => DataContract.ReferencePrompt); } public long ReferenceVersion { get => _ReferenceVersion; set => SetProperty(ref _ReferenceVersion, value, nameof(ReferenceVersion), () => DataContract.ReferenceVersion); } public bool IsValid { get => DataContract.IsValid; } protected override void InitByDataContract(AiPromptbausteinRoutineStepDC pDataContract) { _Position = pDataContract.Position; _PromptReference = pDataContract.ReferencePrompt; _ReferenceVersion = pDataContract.ReferenceVersion; } protected override AiPromptbausteinRoutineStepDC MapToDataContract(AiPromptbausteinRoutineStepDC pDataContract, bool doCommit) { pDataContract.Position = _Position; pDataContract.ReferencePrompt = _PromptReference; pDataContract.ReferenceVersion = _ReferenceVersion; return pDataContract; } public override void UpdateByDataContract(AiPromptbausteinRoutineStepDC pDataContract) { DataContract = pDataContract; Position = pDataContract.Position; PromptReference = pDataContract.ReferencePrompt; ReferenceVersion = pDataContract.ReferenceVersion; } public void SetIsValid(bool isValid) { DataContract.IsValid = isValid; FirePropertyChanged(nameof(IsValid)); } } }