Fix args serialization/deserialization
This commit is contained in:
@ -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();
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
});
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.WebApp.Data.Hcs.CampaignArgs
|
||||
{
|
||||
public class CampaignArgsContainer(ICampaignArgs args)
|
||||
{
|
||||
public ICampaignArgs args = args;
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,6 @@
|
||||
{
|
||||
public class CampaignParseArgs : ICampaignArgs
|
||||
{
|
||||
public int FileToParseId;
|
||||
public int fileToParseId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user