From 0923b80cdf7df5972b880ecb8be9d52fc142af2d Mon Sep 17 00:00:00 2001 From: Spirtix Date: Tue, 1 Jul 2025 16:40:56 +0200 Subject: [PATCH] lock CreatePet and SetImage --- src/Controllers/Common/ContentController.cs | 10 +++------- src/appsettings.json | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Controllers/Common/ContentController.cs b/src/Controllers/Common/ContentController.cs index 49e0f18..6c72812 100644 --- a/src/Controllers/Common/ContentController.cs +++ b/src/Controllers/Common/ContentController.cs @@ -570,7 +570,7 @@ public class ContentController : Controller { [HttpPost] [Produces("application/xml")] [Route("V2/ContentWebService.asmx/CreatePet")] - [VikingSession] + [VikingSession(UseLock = true)] public IActionResult CreatePet(Viking viking, [FromForm] string request) { RaisedPetRequest raisedPetRequest = XmlUtil.DeserializeXml(request); // TODO: Investigate SetAsSelectedPet and UnSelectOtherPets - they don't seem to do anything @@ -602,7 +602,6 @@ public class ContentController : Controller { if (raisedPetRequest.SetAsSelectedPet == true) { viking.SelectedDragon = dragon; - ctx.Update(viking); } ctx.Dragons.Add(dragon); ctx.Images.Add(image); @@ -905,7 +904,7 @@ public class ContentController : Controller { [HttpPost] [Produces("application/xml")] [Route("ContentWebService.asmx/SetImage")] - [VikingSession] + [VikingSession(UseLock = true)] public bool SetImage(Viking viking, [FromForm] string ImageType, [FromForm] int ImageSlot, [FromForm] string contentXML, [FromForm] string imageFile) { // TODO: the other properties of contentXML ImageData data = XmlUtil.DeserializeXml(contentXML); @@ -925,11 +924,8 @@ public class ContentController : Controller { image.ImageData = imageFile; image.TemplateName = data.TemplateName; - if (newImage) { + if (newImage) ctx.Images.Add(image); - } else { - ctx.Images.Update(image); - } ctx.SaveChanges(); return true; diff --git a/src/appsettings.json b/src/appsettings.json index de5849a..32c1f6c 100644 --- a/src/appsettings.json +++ b/src/appsettings.json @@ -74,7 +74,7 @@ "Logging": { "LogLevel": { "Default": "Information", - "Microsoft.AspNetCore": "Warning" + "Microsoft.AspNetCore": "Information" } }, "AllowedHosts": "*"