Medusa.net/Medusa.Core/Handlers/Common/Card/GetRefIdCardManagmentHandler.cs
2024-08-15 20:06:56 +02:00

34 lines
1.2 KiB
C#

using Medusa.Core.Attributes;
using Medusa.Core.Services;
using System.Xml.Linq;
namespace Medusa.Core.Handlers.Common.Card
{
[Handler("cardmng", "getrefid")]
public class GetRefIdCardManagmentHandler(ICardService cardService, XDocument body) : IHandler
{
private readonly XDocument _body = body;
private readonly ICardService _cardService = cardService;
public Task<XDocument> HandleAsync(string model)
{
var rootCall = _body.Root;
var cardManagement = rootCall?.Element("cardmng");
if(cardManagement != null) {
var cardId = cardManagement.Attribute("cardid")?.Value;
var password = cardManagement.Attribute("passwd")?.Value;
var konamiId = _cardService.ConvertUidToKonamiId(cardId);
InquireCardManagmentHandler.CardIds.Add((konamiId, cardId, password));
}
var getRefId = new XElement("cardmng", new XAttribute("status", "0"), new XAttribute("refid", "675678776"), new XAttribute("dataid", "87656787"));
var document = new XDocument(new XElement("response", getRefId));
return Task.FromResult(document);
}
}
}