Fix args serialization/deserialization
This commit is contained in:
@ -58,7 +58,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
|||||||
|
|
||||||
var args = campaign.DeserializeArgs() as CampaignParseArgs;
|
var args = campaign.DeserializeArgs() as CampaignParseArgs;
|
||||||
operations = await HeadquartersService.InitiateOperationsAsync(context, 1, campaign.Id, Operation.OperationType.ParseHousesData_15_7_0_1);
|
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();
|
await transaction.CommitAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -117,7 +117,7 @@ namespace Hcs.WebApp.Components.Shared
|
|||||||
// TODO: Use user id
|
// TODO: Use user id
|
||||||
var campaign = await HeadquartersService.InitiateCampaignAsync(CampaignType, "", new CampaignParseArgs()
|
var campaign = await HeadquartersService.InitiateCampaignAsync(CampaignType, "", new CampaignParseArgs()
|
||||||
{
|
{
|
||||||
FileToParseId = (int)dialogResult
|
fileToParseId = (int)dialogResult
|
||||||
});
|
});
|
||||||
CampaignManagementState.EnqueueCampaign(campaign);
|
CampaignManagementState.EnqueueCampaign(campaign);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,17 +46,19 @@ namespace Hcs.WebApp.Data.Hcs
|
|||||||
|
|
||||||
public ICampaignArgs? DeserializeArgs()
|
public ICampaignArgs? DeserializeArgs()
|
||||||
{
|
{
|
||||||
if (Args == null) return null;
|
if (Args == null)
|
||||||
|
{
|
||||||
return JsonConvert.DeserializeObject<ICampaignArgs>(Args, new JsonSerializerSettings()
|
return null;
|
||||||
|
}
|
||||||
|
return JsonConvert.DeserializeObject<CampaignArgsContainer>(Args, new JsonSerializerSettings()
|
||||||
{
|
{
|
||||||
TypeNameHandling = TypeNameHandling.Auto
|
TypeNameHandling = TypeNameHandling.Auto
|
||||||
});
|
}).args;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SerializeArgs(ICampaignArgs 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
|
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 class CampaignParseArgs : ICampaignArgs
|
||||||
{
|
{
|
||||||
public int FileToParseId;
|
public int fileToParseId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user