diff --git a/Model/DatabaseContext.cs b/Model/DatabaseContext.cs index 965d1120..7cdd4899 100644 --- a/Model/DatabaseContext.cs +++ b/Model/DatabaseContext.cs @@ -48,6 +48,9 @@ namespace reallife_gamemode.Model public DbSet FactionRanks { get; set; } public DbSet FactionVehicles { get; set; } + //Shops + public DbSet Shops { get; set; } + //Logs //public DbSet BanLogs { get; set; } public DbSet BankAccountTransactionLogs { get; set; } diff --git a/Server/Entities/Shop.cs b/Server/Entities/Shop.cs new file mode 100644 index 00000000..ce2e94a2 --- /dev/null +++ b/Server/Entities/Shop.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using reallife_gamemode.Server.Entities; + +/** +* @overview Life of German Reallife - Entities Shop (Shop.cs) +* @author VegaZ +* @copyright (c) 2008 - 2018 Life of German +*/ + +namespace reallife_gamemode.Server.Entities +{ + public class Shop + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + public string ShopName { get; set; } + public float Balance { get; set; } + + [ForeignKey("ShopCategory")] + public int Category { get; set; } + public ShopCategory ShopCategory { get; set; } + + public int Owner { get; set; } + public bool Active { get; set; } + } +} diff --git a/Server/Entities/ShopCategory.cs b/Server/Entities/ShopCategory.cs new file mode 100644 index 00000000..3b88eb0a --- /dev/null +++ b/Server/Entities/ShopCategory.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using reallife_gamemode.Server.Entities; + +/** +* @overview Life of German Reallife - Entities ShopCategory (ShopCategory.cs) +* @author VegaZ +* @copyright (c) 2008 - 2018 Life of German +*/ + +namespace reallife_gamemode.Server.Entities +{ + public class ShopCategory + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + public string Category { get; set; } + } +} diff --git a/Server/Entities/ShopVehicles.cs b/Server/Entities/ShopVehicles.cs index 883b5c0c..dc09afe8 100644 --- a/Server/Entities/ShopVehicles.cs +++ b/Server/Entities/ShopVehicles.cs @@ -19,7 +19,11 @@ namespace reallife_gamemode.Server.Entities [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } - + + [ForeignKey("Shop")] + public int ShopId { get; set; } + public Shop Shop { get; set; } + public VehicleHash Model { get; set; } [StringLength(32)] public string ModelName { get; set; } diff --git a/Server/Managers/SaveManager.cs b/Server/Managers/SaveManager.cs index 1e0f9c45..218f368a 100644 --- a/Server/Managers/SaveManager.cs +++ b/Server/Managers/SaveManager.cs @@ -128,7 +128,8 @@ namespace reallife_gamemode.Server.Events { using (var saveAll = new Model.DatabaseContext()) { - //Alle User Vehicle + //TODO Fahrzeugschäden und Tankfüllstände + //User Vehicle foreach (Vehicle v in LoadManager.UserVehicleList) { int ownerId = v.GetData("ownerId"); @@ -139,6 +140,17 @@ namespace reallife_gamemode.Server.Events userVehicle.Heading = v.Heading; } + //Faction Vehicle + foreach (Vehicle v in LoadManager.FactionVehicleList) + { + int factionId = v.GetData("factionId"); + Entities.UserVehicle factionVehicle = saveAll.UserVehicles.FirstOrDefault(u => u.UserId == factionId); + factionVehicle.PositionX = v.Position.X; + factionVehicle.PositionY = v.Position.Y; + factionVehicle.PositionZ = v.Position.Z; + factionVehicle.Heading = v.Heading; + } + //Alle Spieler foreach (Client player in NAPI.Pools.GetAllPlayers()) {