fix buying/selling

This commit is contained in:
CWX
2025-01-22 20:52:27 +00:00
parent decb6bbab7
commit a95f5721c1
5 changed files with 15 additions and 17 deletions
@@ -889,7 +889,7 @@ public class RagfairController
{
return new ProcessBuyTradeRequestData
{
TId = "ragfair",
TransactionId = "ragfair",
Action = "TradingConfirm",
SchemeItems = [new ItemRequest { Id = _paymentHelper.GetCurrency(currency), Count = Math.Round(value) }],
Type = "",
@@ -1,4 +1,5 @@
using System.Text.Json.Serialization;
using Core.Models.Eft.Common.Request;
using Core.Models.Eft.Inventory;
namespace Core.Models.Eft.Trade;
@@ -4,15 +4,6 @@ namespace Core.Models.Eft.Trade;
public record ProcessBuyTradeRequestData : ProcessBaseTradeRequestData
{
[JsonPropertyName("Action")]
public string? Action { get; set; } // TODO: formerly - "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | "SptInsure" | "SptRepair" | ""
[JsonPropertyName("type")]
public string? Type { get; set; }
[JsonPropertyName("tid")]
public string? TId { get; set; }
[JsonPropertyName("item_id")]
public string? ItemId { get; set; }
@@ -4,12 +4,6 @@ namespace Core.Models.Eft.Trade;
public record ProcessSellTradeRequestData : ProcessBaseTradeRequestData
{
[JsonPropertyName("Action")]
public string? Action { get; set; } = "sell_to_trader";
[JsonPropertyName("type")]
public string? Type { get; set; }
[JsonPropertyName("tid")]
public string? Tid { get; set; }
@@ -84,7 +84,19 @@ public class BaseInteractionRequestDataConverter : JsonConverter<BaseInteraction
case "ChangeWishlistItemCategory":
return JsonSerializer.Deserialize<ChangeWishlistItemCategoryRequest>(jsonText);
case "TradingConfirm":
return JsonSerializer.Deserialize<ProcessBaseTradeRequestData>(jsonText);
{
var json = JsonSerializer.Deserialize<ProcessBaseTradeRequestData>(jsonText);
switch (json.Type)
{
case "buy_from_trader":
return JsonSerializer.Deserialize<ProcessBuyTradeRequestData>(jsonText);
case "sell_from_trader":
return JsonSerializer.Deserialize<ProcessSellTradeRequestData>(jsonText);
default:
throw new Exception($"Unhandled action type {value.Action}, make sure the BaseInteractionRequestDataConverter has the deserialization for this action handled.");
}
}
case "RagFairBuyOffer":
return JsonSerializer.Deserialize<ProcessRagfairTradeRequestData>(jsonText);
case "SellAllFromSavage":