From beb2bb27d7cd957a43c26ec73ad96a8241a34008 Mon Sep 17 00:00:00 2001
From: Michael <Michael@some.where>
Date: Wed, 8 Feb 2017 16:33:01 -0500
Subject: [PATCH] "My Shop" menu item works.

---
 ShiftOS.Server/Program.cs                     | 25 ++++++++++++++++++-
 .../Applications/MUDControlCentre.Designer.cs |  1 +
 .../Applications/MUDControlCentre.cs          | 19 ++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/ShiftOS.Server/Program.cs b/ShiftOS.Server/Program.cs
index a8f25d6..7a4b457 100644
--- a/ShiftOS.Server/Program.cs
+++ b/ShiftOS.Server/Program.cs
@@ -687,7 +687,30 @@ Contents:
 							}));
 					}
 					break;
-					break;
+                    case "user_get_shop":
+                        string shopOwner = msg.Contents;
+                        if (File.Exists("shops.json"))
+                            foreach (var shop in JsonConvert.DeserializeObject<List<Shop>>(File.ReadAllText("shops.json")))
+                            {
+                                if (shop.Owner == shopOwner)
+                                {
+                                    server.DispatchTo(new Guid(msg.GUID), new NetObject("ruecuodaL", new ServerMessage
+                                    {
+                                        Name = "user_shop",
+                                        GUID = "server",
+                                        Contents = JsonConvert.SerializeObject(shop)
+                                    }));
+                                    return;
+                                }
+                            }
+
+                        server.DispatchTo(new Guid(msg.GUID), new NetObject("ruecuodaL", new ServerMessage
+                        {
+                            Name = "user_noshop",
+                            GUID = "server",
+                        }));
+
+                        break;
 				case "pong_gethighscores":
 					if (File.Exists("pong_highscores.json"))
 					{
diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs
index 40a7f56..220f061 100644
--- a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs
+++ b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs
@@ -244,6 +244,7 @@ namespace ShiftOS.WinForms.Applications
             this.myShopToolStripMenuItem.Name = "myShopToolStripMenuItem";
             this.myShopToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
             this.myShopToolStripMenuItem.Text = "My Shop";
+            this.myShopToolStripMenuItem.Click += new System.EventHandler(this.myShopToolStripMenuItem_Click);
             // 
             // openAShopToolStripMenuItem
             // 
diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.cs
index 90c0021..3fa5984 100644
--- a/ShiftOS.WinForms/Applications/MUDControlCentre.cs
+++ b/ShiftOS.WinForms/Applications/MUDControlCentre.cs
@@ -133,6 +133,20 @@ namespace ShiftOS.WinForms.Applications
                         {
                             PopulateJoinLegion(JsonConvert.DeserializeObject<List<Legion>>(msg.Contents));
                         }
+                        else if(msg.Name == "user_shop")
+                        {
+                            this.Invoke(new Action(() =>
+                            {
+                                ShowShop(JsonConvert.DeserializeObject<Shop>(msg.Contents));
+                            }));
+                        }
+                        else if(msg.Name == "user_noshop")
+                        {
+                            this.Invoke(new Action(() =>
+                            {
+                                Infobox.Show("No shop.", "You do not currently own any shops. You must open one to use this screen.");
+                            }));
+                        }
                         else if (msg.Name == "shop_allshops")
                         {
                             this.Invoke(new Action(() =>
@@ -720,5 +734,10 @@ Current legions: {legionname}";
 
             }
         }
+
+        private void myShopToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            ServerManager.SendMessage("user_get_shop", SaveSystem.CurrentSave.Username);
+        }
     }
 }