73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using LeanCloud.Storage.Internal;
|
|||
|
|
|||
|
namespace LeanCloud {
|
|||
|
/// <summary>
|
|||
|
/// 排名类
|
|||
|
/// </summary>
|
|||
|
public class AVRanking {
|
|||
|
/// <summary>
|
|||
|
/// 名次
|
|||
|
/// </summary>
|
|||
|
/// <value>The rank.</value>
|
|||
|
public int Rank {
|
|||
|
get; private set;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 用户
|
|||
|
/// </summary>
|
|||
|
/// <value>The user.</value>
|
|||
|
public AVUser User {
|
|||
|
get; private set;
|
|||
|
}
|
|||
|
|
|||
|
public string StatisticName {
|
|||
|
get; private set;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 分数
|
|||
|
/// </summary>
|
|||
|
/// <value>The value.</value>
|
|||
|
public double Value {
|
|||
|
get; private set;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 成绩
|
|||
|
/// </summary>
|
|||
|
/// <value>The included statistics.</value>
|
|||
|
public List<AVStatistic> IncludedStatistics {
|
|||
|
get; private set;
|
|||
|
}
|
|||
|
|
|||
|
AVRanking() {
|
|||
|
}
|
|||
|
|
|||
|
internal static AVRanking Parse(IDictionary<string, object> data) {
|
|||
|
if (data == null) {
|
|||
|
throw new ArgumentNullException(nameof(data));
|
|||
|
}
|
|||
|
var ranking = new AVRanking {
|
|||
|
Rank = int.Parse(data["rank"].ToString()),
|
|||
|
User = AVDecoder.Instance.Decode(data["user"]) as AVUser,
|
|||
|
StatisticName = data["statisticName"].ToString(),
|
|||
|
Value = double.Parse(data["statisticValue"].ToString())
|
|||
|
};
|
|||
|
object statisticsObj;
|
|||
|
if (data.TryGetValue("statistics", out statisticsObj)) {
|
|||
|
ranking.IncludedStatistics = new List<AVStatistic>();
|
|||
|
var statisticsObjList = statisticsObj as List<object>;
|
|||
|
foreach (object statisticObj in statisticsObjList) {
|
|||
|
var statistic = AVStatistic.Parse(statisticObj as IDictionary<string, object>);
|
|||
|
ranking.IncludedStatistics.Add(statistic);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return ranking;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|