From 4c54803ef3ca807efc47a55c17378770611fda55 Mon Sep 17 00:00:00 2001 From: hydrant Date: Thu, 12 Sep 2019 22:28:19 +0200 Subject: [PATCH] business sell --- ReallifeGamemode.Client/Business/main.ts | 8 ++++++ .../Managers/BusinessManager.cs | 27 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/ReallifeGamemode.Client/Business/main.ts b/ReallifeGamemode.Client/Business/main.ts index dd741789..fd7d5c04 100644 --- a/ReallifeGamemode.Client/Business/main.ts +++ b/ReallifeGamemode.Client/Business/main.ts @@ -62,6 +62,8 @@ export default function business(globalData: GlobalData) { var buyItem: NativeUI.UIMenuItem; + var sellItem: NativeUI.UIMenuItem; + //var partnerItem = new UIMenuItem("Inteilhaber", "Verwalte den Inteilhaber"); //partnerItem.SetRightLabel("Niemand"); //mainMenu.AddItem(partnerItem); @@ -84,6 +86,9 @@ export default function business(globalData: GlobalData) { var withdrawItem = new UIMenuItem("Auszahlen", "Zahle Geld von der Businesskasse aus"); bankMenu.AddItem(withdrawItem); + sellItem = new UIMenuItem("Business verkaufen"); + mainMenu.AddItem(sellItem); + bankMenu.ItemSelect.on((item, index) => { if (item === depositItem) { var depositInput = new InputHelper("Wie viel Geld möchtest du auf deine Businesskasse einzahlen?", globalData); @@ -128,6 +133,9 @@ export default function business(globalData: GlobalData) { if (item === buyItem) { mainMenu.Close(); mp.events.callRemote("CLIENT:Business_BuyBusiness"); + } else if (item === sellItem) { + mainMenu.Close(); + mp.events.callRemote("CLIENT:Business_SellBusiness"); } }); diff --git a/ReallifeGamemode.Server/Managers/BusinessManager.cs b/ReallifeGamemode.Server/Managers/BusinessManager.cs index 43f25ca1..69b8fe19 100644 --- a/ReallifeGamemode.Server/Managers/BusinessManager.cs +++ b/ReallifeGamemode.Server/Managers/BusinessManager.cs @@ -232,7 +232,7 @@ namespace ReallifeGamemode.Server.Managers int price = business.GetData().Price; User user = player.GetUser(dbContext); - if(user.BusinessId != null) + if (user.BusinessId != null) { ChatService.ErrorMessage(player, "Du kannst nicht mehrere Businesse besitzen"); } @@ -255,5 +255,30 @@ namespace ReallifeGamemode.Server.Managers business.Update(); } } + + [RemoteEvent("CLIENT:Business_SellBusiness")] + public void BusinessEventSellBusiness(Client player) + { + BusinessBase business = GetNearBusiness(player); + if (business == null) return; + + using (var dbContext = new DatabaseContext()) + { + User user = player.GetUser(dbContext); + + if(user.Id != business.Id) + { + ChatService.ErrorMessage(player, "Dieses Business gehört nicht dir"); + return; + } + + user.BusinessId = null; + dbContext.SaveChanges(); + + player.SendChatMessage("Business verkauft"); + + business.Update(); + } + } } }