40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|