Update serializzatore DDF x evitare race conditions

This commit is contained in:
Samuele Locatelli
2024-03-11 10:47:39 +01:00
parent cba8ceb688
commit 2fa5a0df16
7 changed files with 14 additions and 10 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>WebDoorCreator - Egalware</i>
<h4>Version: 0.9.2403.0911</h4>
<h4>Version: 0.9.2403.1110</h4>
<br /> Release note:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
0.9.2403.0911
0.9.2403.1110
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.9.2403.0911</version>
<version>0.9.2403.1110</version>
<url>http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+9 -4
View File
@@ -37,7 +37,7 @@ namespace WebDoorCreator.Data.DDF
{
string outDdf = "";
try
{
{
DoorOpsDTO CurrentDoorOp = new DoorOpsDTO();
EdgesDto CurrentEdges = new EdgesDto();
SizeDto CurrentSize = new SizeDto();
@@ -46,10 +46,13 @@ namespace WebDoorCreator.Data.DDF
FinishingDto CurrentFinishing = new FinishingDto();
DDFDto CurrentConf = new DDFDto();
ListValuesModel CurrentCompoOrder = new ListValuesModel();
Dictionary<string, List<Dictionary<string, string>>> dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
Dictionary<string, Dictionary<string, string>> dictBaseDoorOp = new Dictionary<string, Dictionary<string, string>>();
Dictionary<string, Dictionary<string, string>> dictBaseSwing = new Dictionary<string, Dictionary<string, string>>();
// per prima cosa popolo gli oggetti di appoggio...
dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
var i = 0;
foreach (var item in listOp.Where(x=>x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing"))
foreach (var item in listOp.Where(x => x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing"))
{
var deserialized = JsonConvert.DeserializeObject<Dictionary<string, string>>(item.JsoncActVal!);
if (deserialized != null)
@@ -122,7 +125,7 @@ namespace WebDoorCreator.Data.DDF
}
i++;
}
CurrentSize.size = dictBaseDoorOp;
CurrentSize.size = dictBaseDoorOp;
string sizeSer = CurrentSize.GetSerialized(RemDoorOp);
//dictBaseDoorOp.Clear();
foreach (var item in listOp.Where(x => x.ObjectId == "Swing"))
@@ -148,9 +151,11 @@ namespace WebDoorCreator.Data.DDF
#region Protected Properties
#if false
protected Dictionary<string, List<Dictionary<string, string>>> dictDoorOP { get; set; } = new Dictionary<string, List<Dictionary<string, string>>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseDoorOp { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseSwing { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseSwing { get; set; } = new Dictionary<string, Dictionary<string, string>>();
#endif
protected List<string> FootRows { get; set; } = new List<string>();
protected string FormatVers { get; set; } = "0";
protected List<string> HeadRows { get; set; } = new List<string>();
-1
View File
@@ -35,7 +35,6 @@ namespace WebDoorCreator.Data.DTO
}
if (item.Contains("Separator"))
{
//sb.Remove(item);
sb.AppendLine(" ");
}
}
@@ -1275,7 +1275,7 @@ namespace WebDoorCreator.Data.Services
int currVers = 0;
string sCurrVers = "";
// per prima cosa controllo se ho GIA' in coda qualcosa come richieste
if (string.IsNullOrEmpty(sCurrVers) && await NumRequestPending() > 0)
if (await NumRequestPending() > 0)
{
var currPending = await RequestPending();
if (currPending != null)
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>0.9.2403.0911</Version>
<Version>0.9.2403.1110</Version>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608</UserSecretsId>
</PropertyGroup>