using Yuna.Website.Server.Storage; using Yuna.Website.Server.Model; using Yuna.Website.Server.Services.DeviceSkillService; using Yuna.Website.Server.Storage.Repositories.Device; namespace Yuna.Website.Server.Services.DeviceService { public class DeviceService : IDeviceService { private readonly IPropService _propService; private readonly IDeviceRepository _deviceRepository; public DeviceService(IPropService propService, IDeviceRepository repository) { _propService = propService; _deviceRepository = repository; } public async Task AddProps(IReadOnlyList props, long deviceId) { var device = await _deviceRepository.GetById(deviceId); if (device is null) return null; await _deviceRepository.AddProps(props, deviceId); device.Props.AddRange(props); return device; } public async Task Create(Device device) { var result = await _deviceRepository.Create(device); return result; } public async Task Delete(long id) { var prop = await _deviceRepository.GetById(id); if (prop is null) return null; var result = await _deviceRepository.Delete(id); return result; } public async Task GetById(long id) { var result = await _deviceRepository.GetById(id); return result; } public async Task> GetList() { var result = await _deviceRepository.GetList(); return result ?? []; } } }