From dcc9d72046266d2bb398252d4265ee87bfb75277 Mon Sep 17 00:00:00 2001 From: Michael VanOverbeek Date: Thu, 23 Feb 2017 22:05:09 +0000 Subject: Save deletion (server) --- ShiftOS.Server/ShopBackend.cs | 47 +++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 11 deletions(-) (limited to 'ShiftOS.Server/ShopBackend.cs') diff --git a/ShiftOS.Server/ShopBackend.cs b/ShiftOS.Server/ShopBackend.cs index d8267b9..0fba36b 100644 --- a/ShiftOS.Server/ShopBackend.cs +++ b/ShiftOS.Server/ShopBackend.cs @@ -22,13 +22,21 @@ namespace ShiftOS.Server shopList = JsonConvert.DeserializeObject>(File.ReadAllText("shops.json")); var username = args["username"] as string; - var updateShop = JsonConvert.DeserializeObject(contents as string); + var updateShop = args["shop"] as Shop; for (int i = 0; i < shopList.Count; i++) { - if (shopList[i].Owner == username) + if (shopList[i] == null) { - shopList[i] = updateShop; + shopList.RemoveAt(i); + i--; + } + else + { + if (shopList[i].Owner == username) + { + shopList[i] = updateShop; + } } } @@ -49,10 +57,13 @@ namespace ShiftOS.Server foreach (var shop in shopFile) { - if (shop.Name == newShop.Name) + if (shop != null) { - Program.ClientDispatcher.DispatchTo("shop_taken", guid, ""); - return; + if (shop.Name == newShop.Name) + { + Program.ClientDispatcher.DispatchTo("shop_taken", guid, ""); + return; + } } } @@ -76,9 +87,12 @@ namespace ShiftOS.Server foreach (var shop in allshops) { - if (shop.Owner == args["username"] as string) + if (shop != null) { - res = 1; + if (shop.Owner == args["username"] as string) + { + res = 1; + } } } @@ -93,9 +107,12 @@ namespace ShiftOS.Server Shop tempShop = null; foreach (var item in JsonConvert.DeserializeObject>(File.ReadAllText("shops.json"))) { - if (item.Name == shopName) + if (item != null) { - tempShop = item; + if (item.Name == shopName) + { + tempShop = item; + } } } @@ -124,7 +141,15 @@ namespace ShiftOS.Server //Furthermore, this'll make the MUD Control Centre seem faster... for (int i = 0; i < shops.Count; i++) { - shops[i].Items = new List(); + if (shops[i] == null) + { + shops.RemoveAt(i); + i--; + } + else + { + shops[i].Items = new List(); + } } Program.ClientDispatcher.DispatchTo("shop_all", guid, shops); } -- cgit v1.2.3