2024-08-13 23:08:00 +00:00
|
|
|
|
using Medusa.Core.Attributes;
|
2024-08-15 18:06:56 +00:00
|
|
|
|
using Medusa.Core.Services;
|
2024-08-13 23:08:00 +00:00
|
|
|
|
using System.Xml.Linq;
|
|
|
|
|
|
|
|
|
|
namespace Medusa.Core.Handlers.Common.Card
|
|
|
|
|
{
|
|
|
|
|
[Handler("cardmng", "getrefid")]
|
2024-08-15 18:06:56 +00:00
|
|
|
|
public class GetRefIdCardManagmentHandler(ICardService cardService, XDocument body) : IHandler
|
2024-08-13 23:08:00 +00:00
|
|
|
|
{
|
|
|
|
|
private readonly XDocument _body = body;
|
2024-08-15 18:06:56 +00:00
|
|
|
|
private readonly ICardService _cardService = cardService;
|
2024-08-13 23:08:00 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2024-08-15 18:06:56 +00:00
|
|
|
|
var konamiId = _cardService.ConvertUidToKonamiId(cardId);
|
|
|
|
|
|
|
|
|
|
InquireCardManagmentHandler.CardIds.Add((konamiId, cardId, password));
|
2024-08-13 23:08:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
2024-08-15 18:06:56 +00:00
|
|
|
|
var getRefId = new XElement("cardmng", new XAttribute("status", "0"), new XAttribute("refid", "675678776"), new XAttribute("dataid", "87656787"));
|
2024-08-13 23:08:00 +00:00
|
|
|
|
|
|
|
|
|
var document = new XDocument(new XElement("response", getRefId));
|
|
|
|
|
|
|
|
|
|
return Task.FromResult(document);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|