50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Newtonsoft.Json;
|
|
using TOOHUCardAPI.Data.Models;
|
|
|
|
namespace TOOHUCardAPI.DTO.RankData
|
|
{
|
|
public class RankEntryDTO
|
|
{
|
|
[JsonProperty("rank_type")]
|
|
public string RankType { get; set; }
|
|
[JsonProperty("steamid")]
|
|
public long SteamId { get; set; }
|
|
[JsonProperty("userid")]
|
|
public long UserId { get; set; }
|
|
[JsonProperty("username")]
|
|
public string Username { get; set; }
|
|
[JsonProperty("version")]
|
|
public string Version { get; set; }
|
|
[JsonProperty("wave")]
|
|
public int Wave { get; set; }
|
|
[JsonProperty("damage")]
|
|
public long Damage { get; set; }
|
|
[JsonProperty("updatetime")]
|
|
public DateTime UpdateTime { get; set; }
|
|
[JsonIgnore]
|
|
public Dictionary<string, string> Cards { get; set; }
|
|
}
|
|
|
|
public static class RankEntryDTOExtensions
|
|
{
|
|
public static RankEntryDTO ToRankEntryDTO(this RankEntry rankEntry)
|
|
{
|
|
return new RankEntryDTO
|
|
{
|
|
RankType = ((char) rankEntry.RankType).ToString(),
|
|
SteamId = rankEntry.User.SteamId,
|
|
UserId = rankEntry.AccountId,
|
|
Username = rankEntry.Username,
|
|
Version = rankEntry.Version,
|
|
Wave = rankEntry.Wave,
|
|
Damage = rankEntry.Damage,
|
|
UpdateTime = rankEntry.UpdateTime,
|
|
Cards = rankEntry.TowersUsed.Select(tower => KeyValuePair.Create(tower.TowerKey, tower.EncodedData))
|
|
.ToDictionary(kv => kv.Key, kv => kv.Value)
|
|
};
|
|
}
|
|
}
|
|
} |