aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Server
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.Server')
-rw-r--r--ShiftOS.Server/Program.cs26
1 files changed, 24 insertions, 2 deletions
diff --git a/ShiftOS.Server/Program.cs b/ShiftOS.Server/Program.cs
index c0c27ed..3ad8035 100644
--- a/ShiftOS.Server/Program.cs
+++ b/ShiftOS.Server/Program.cs
@@ -420,14 +420,36 @@ Contents:
}));
}
break;
- case "legion_create":
+ case "legion_createnew":
List<Legion> legions = new List<Legion>();
if (File.Exists("legions.json"))
legions = JsonConvert.DeserializeObject<List<Legion>>(File.ReadAllText("legions.json"));
var l = JsonConvert.DeserializeObject<Legion>(msg.Contents);
+ bool legionExists = false;
- legions.Add(l);
+ foreach (var legion in legions)
+ if (legion.ShortName == l.ShortName)
+ legionExists = true;
+
+ if (legionExists == false)
+ {
+ legions.Add(l);
+ server.DispatchTo(new Guid(msg.GUID), new NetObject("test", new ServerMessage
+ {
+ Name = "legion_create_ok",
+ GUID = "server"
+ }));
+
+ }
+ else
+ {
+ server.DispatchTo(new Guid(msg.GUID), new NetObject("test", new ServerMessage
+ {
+ Name = "legion_alreadyexists",
+ GUID = "server"
+ }));
+ }
File.WriteAllText("legions.json", JsonConvert.SerializeObject(legions, Formatting.Indented));
break;