Medusa.net/Medusa.Core/Handlers/Common/Card/ConvCardnNumberSystem3Handler.cs

40 lines
1.3 KiB
C#
Raw Permalink Normal View History

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<XDocument> 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);
}
}
}