diff --git a/TOOHUCardAPI/DTO/CardEncodingUtil.cs b/TOOHUCardAPI/DTO/CardEncodingUtil.cs new file mode 100644 index 0000000..82caac4 --- /dev/null +++ b/TOOHUCardAPI/DTO/CardEncodingUtil.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TOOHUCardAPI.Data.Models; + +namespace TOOHUCardAPI.DTO +{ + public static class CardEncodingUtil + { + public static string EncodeLevelList(this IEnumerable cardLevels) + { + return cardLevels.Select(cl => $"{cl.CardItemCode.Substring(6)}{cl.Level}").Aggregate(new StringBuilder(), + (ret, current) => + { + ret.Append(string.IsNullOrWhiteSpace(ret.ToString()) ? current : $"#{current}"); + return ret; + }, builder => builder.ToString()); + } + } +} \ No newline at end of file diff --git a/TOOHUCardAPI/DTO/PlayerData/PlayerDataGetResponseObject.cs b/TOOHUCardAPI/DTO/PlayerData/PlayerDataGetResponseObject.cs index df1a62d..935ef05 100644 --- a/TOOHUCardAPI/DTO/PlayerData/PlayerDataGetResponseObject.cs +++ b/TOOHUCardAPI/DTO/PlayerData/PlayerDataGetResponseObject.cs @@ -48,7 +48,7 @@ namespace TOOHUCardAPI.DTO.PlayerData { PlayerDataGetResponseObjectPlayer responseObject = mapper.Map(user); responseObject.IsFirstWin = user.LastFirstWin.AddDays(1) < DateTime.Now ? 1 : 0; - + responseObject.LevelList = user.CardLevels.EncodeLevelList(); return responseObject; } }