using Medusa.Core.Attributes; using Medusa.Core.Services; using System.Xml.Linq; namespace Medusa.Core.Handlers.Common.Card { [Handler("system_3", "convcardnumber")] public class ConvCardnNumberSystem3(ICardService cardService, XDocument body) : IHandler { private readonly ICardService _cardService = cardService; public Task HandleAsync(string model) { var root = body.Root; var systemElement = root.Element("system_3"); var data = systemElement.Element("data"); var cardIdElement = data.Element("card_id").Value; var cardId = cardIdElement; var cardNumber = _cardService.ConvertUidToKonamiId(cardId); var system = new XElement("system", new XAttribute("status", "0"), new XElement("result", new XAttribute("__type", "s32"), 0 ), new XElement("data", new XElement("card_number", cardNumber))); var document = new XDocument( new XElement("response", system ) ); return Task.FromResult(document); } } }