using KiMailOrderAgent.Models;
using Microsoft.Extensions.Logging;
using KiMailOrderAgent.Settings;
using Microsoft.Extensions.Options;

namespace KiMailOrderAgent.Wawi;

public class WawiOrderService : IWawiOrderService
{
    private readonly ILogger<WawiOrderService> _logger;
    private readonly AppModeSettings _settings;

    public WawiOrderService(ILogger<WawiOrderService> logger,
         IOptions<AppModeSettings> options)
    {
        _logger = logger;
        _settings = options.Value;
    }

    public Task CreateOrderAsync(ExtractedOrder order, CancellationToken cancellationToken)
    {
        if (!_settings.CreateRealWawiOrders)
        {
            _logger.LogWarning("⚠️ TESTMODUS: Auftrag wird NICHT wirklich erstellt!");
            _logger.LogInformation("SIMULATION für Bestellung {id}", order.Id);

            return Task.CompletedTask;
        }

        // 👉 HIER kommt später echte Wawi API

        _logger.LogInformation("🚀 PRODUKTIV: Auftrag wird erstellt für {id}", order.Id);

        return Task.CompletedTask;
    }
}