Files
API/TOOHUCardAPI/DTO/PlayerDataResponseObjects.cs
2021-10-28 17:03:15 -04:00

56 lines
2.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
using AutoMapper;
using Newtonsoft.Json;
using TOOHUCardAPI.Data.Models;
namespace TOOHUCardAPI.DTO
{
public class PlayerDataGetResponseObject
{
[JsonProperty("bo")]
public Dictionary<string, PlayerDataGetResponseObjectPlayer> Players { get; set; }
public PlayerDataGetResponseObject(Dictionary<string, User> users, IMapper mapper)
{
this.Players = users.Aggregate(new Dictionary<string, PlayerDataGetResponseObjectPlayer>(),
(players, pair) =>
{
User user = pair.Value;
players[pair.Key] = new PlayerDataGetResponseObjectPlayer()
{
EndTime = user.EndTime.ToShortDateString(),
KeyTotal = user.KeyTotal,
KeySaveDate = user.KeySaveDate.ToShortDateString(),
LevelList = user.LevelList,
MaxTeamWave = user.MaxTeamWave,
MaxWave = user.MaxWave,
PetLevel = user.PetLevel,
Point = user.Point
};
return players;
});
}
}
/**
* Fields pulled from the game code
* Looking up Gamerules.Playerdata
*/
public class PlayerDataGetResponseObjectPlayer
{
[JsonProperty("code")] public string Code { get; set; } = "0000";
[JsonProperty("msg")] public string Message { get; set; } = string.Empty;
//[JsonProperty("steamid")]
//public string SteamId { get; set; }
[JsonProperty("max_wave")] public int MaxWave { get; set; } = 0;
[JsonProperty("max_team_wave")] public int MaxTeamWave { get; set; } = 0;
[JsonProperty("pet_level")] public int PetLevel { get; set; } = 1;
[JsonProperty("end_time")] public string EndTime { get; set; } = string.Empty;
[JsonProperty("key_total")] public int KeyTotal { get; set; } = 100;
[JsonProperty("key_save_date")] public string KeySaveDate { get; set; } = string.Empty;
[JsonProperty("vip")] public int Vip { get; set; } = 1;
[JsonProperty("point")] public int Point { get; set; } = 10000;
[JsonProperty("level_list")] public string LevelList { get; set; } = string.Empty;
}
}