using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Windows.Input; using XLIMS.CONTRACT; using XLIMS.DATA.Models; using XLIMS.MVVM.Base; namespace XLIMS.SP.ViewModels { public class DeviceViewModel : ViewModelBase { #region Constructor public DeviceViewModel(ILimsService limsService, DivisionSet division, DeviceSet device = null) { _limsService = limsService; if (device != null) _device = device; else _device = new DeviceSet() { DivisionId = division.Id }; } #endregion //Constructor #region Events #endregion //Events #region Fields private readonly ILimsService _limsService; private readonly DeviceSet _device; #endregion //Fields #region Properties public string? Tip { get => _device.Tip; set { _device.Tip = value; OnPropertyChanged(); } } public int Id => _device.Id; #endregion //Properties #region Methods private async Task SaveAsync() { if (_device.Id == 0) await _limsService.Devices.AddAsync(_device); else await _limsService.Devices.UpdateAsync(_device); } public async Task Remove() { await _limsService.Devices.RemoveAsync(_device); } #endregion //Methods #region Commands public ICommand SaveCommand => new AsyncRelayCommand(SaveAsync); #endregion //Commands } }