diff --git a/EpinelPS/LobbyServer/Msgs/Shop/GetProductList.cs b/EpinelPS/LobbyServer/Msgs/Shop/GetProductList.cs index a4b9982..1ba5288 100644 --- a/EpinelPS/LobbyServer/Msgs/Shop/GetProductList.cs +++ b/EpinelPS/LobbyServer/Msgs/Shop/GetProductList.cs @@ -8,36 +8,36 @@ namespace EpinelPS.LobbyServer.Msgs.Shop { protected override async Task HandleAsync() { - try + var x = await ReadData(); + + var response = new ResGetJupiterProductList(); + foreach (var item in x.ProductIdList) { - var x = await ReadData(); + // TODO: Optimize this! + var product = GameData.Instance.mediasProductTable.Where(x => x.Key == item); - var response = new ResGetJupiterProductList(); - foreach (var item in x.ProductIdList) + if (product.Any()) { - // TODO: Optimize this! - var product = GameData.Instance.mediasProductTable.Where(x => x.Key == item); - - if (product.Any()) + // Example: + // Midas RequestGetLocalPriceAsync res ProductId = com.proximabeta.nikke.costumegacha11_02, Price = 3.99, MicroPrice = 3990000, CurrencyCode = USD, CurrencySymbol = $ + MidasProductRecord? record = product.FirstOrDefault().Value; + if (record != null) { - // Example: - // Midas RequestGetLocalPriceAsync res ProductId = com.proximabeta.nikke.costumegacha11_02, Price = 3.99, MicroPrice = 3990000, CurrencyCode = USD, CurrencySymbol = $ - MidasProductRecord? record = product.FirstOrDefault().Value; - - long microPrice = (long)(double.Parse(record.cost) * 1000000); + if(!double.TryParse(record.cost, out double price)) + { + Console.WriteLine("Failed to parse " + record.cost+" Cash shop will not work probably"); + } + + long microPrice = (long)(price * 1000000); response.ProductInfoList.Add(new NetJupiterProductInfo() { CurrencyCode = "USD", CurrencySymbol = "$", MicroPrice = microPrice, Price = record.cost, ProductId = item }); } - else - { - Console.WriteLine("Missing!!!! " + item); - } } - await WriteDataAsync(response); - } - catch (Exception ex) - { - Console.WriteLine("Error while handling GetProductList request. Have you replaced sodium library?" + ex); + else + { + Console.WriteLine("Missing!!!! " + item); + } } + await WriteDataAsync(response); } } }