Fix args serialization/deserialization

This commit is contained in:
2025-11-20 11:53:35 +09:00
parent 32783e1842
commit 5c474c4850
5 changed files with 17 additions and 8 deletions

View File

@ -58,7 +58,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
var args = campaign.DeserializeArgs() as CampaignParseArgs;
operations = await HeadquartersService.InitiateOperationsAsync(context, 1, campaign.Id, Operation.OperationType.ParseHousesData_15_7_0_1);
await FileToParseService.SetOperationToFileToParseAsync(context, args!.FileToParseId, operations.First());
await FileToParseService.SetOperationToFileToParseAsync(context, args!.fileToParseId, operations.First());
await transaction.CommitAsync();
}

View File

@ -117,7 +117,7 @@ namespace Hcs.WebApp.Components.Shared
// TODO: Use user id
var campaign = await HeadquartersService.InitiateCampaignAsync(CampaignType, "", new CampaignParseArgs()
{
FileToParseId = (int)dialogResult
fileToParseId = (int)dialogResult
});
CampaignManagementState.EnqueueCampaign(campaign);
}

View File

@ -46,17 +46,19 @@ namespace Hcs.WebApp.Data.Hcs
public ICampaignArgs? DeserializeArgs()
{
if (Args == null) return null;
return JsonConvert.DeserializeObject<ICampaignArgs>(Args, new JsonSerializerSettings()
if (Args == null)
{
return null;
}
return JsonConvert.DeserializeObject<CampaignArgsContainer>(Args, new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.Auto
});
}).args;
}
public void SerializeArgs(ICampaignArgs args)
{
Args = JsonConvert.SerializeObject(args, Formatting.None, new JsonSerializerSettings()
Args = JsonConvert.SerializeObject(new CampaignArgsContainer(args), Formatting.None, new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.Auto
});

View File

@ -0,0 +1,7 @@
namespace Hcs.WebApp.Data.Hcs.CampaignArgs
{
public class CampaignArgsContainer(ICampaignArgs args)
{
public ICampaignArgs args = args;
}
}

View File

@ -2,6 +2,6 @@
{
public class CampaignParseArgs : ICampaignArgs
{
public int FileToParseId;
public int fileToParseId;
}
}