public async Task ToggleCompletedStatusAsync(Charge charge, bool isComplete) { if (isComplete) { var completedStatus = await _statusService.GetCompletedStatusAsync(charge.BatteryId); charge.StatusId = completedStatus.Id; } else { if (charge.ParentId is not null) { var parent = await _chargeService.GetParentAsync(charge); charge.StatusId = parent.StatusId; } else { var initialStatus = await _statusService.GetInitialStatusAsync(charge.BatteryId); charge.StatusId = initialStatus.Id; } } await _chargeService.UpdateAsync(charge); }