/// <summary> /// 获取某时间点积分汇率 /// </summary> /// <param name="appId">应用id</param> /// <param name="resultDto"></param> /// <param name="time">时间点</param> /// <returns></returns> public bool GetScoreCost(Guid appId, out CostScoreInfoDTO resultDto, DateTime time) { resultDto = new CostScoreInfoDTO(); var signResult = SignSV.Instance.GetCurrencyScoreCost(appId, time); if (signResult == null) { return(false); } if (signResult.IsUnitiveScore) { resultDto.Cost = signResult.ExchangeRate; resultDto.ScoreType = ScoreTypeEnum.Currency; } else { var scoreSetting = (from ss in ScoreSetting.ObjectSet() where ss.AppId == appId && ss.SubTime <= time orderby ss.SubTime descending select new { Id = ss.Id, ScoreCost = ss.ScoreCost }).FirstOrDefault(); if (scoreSetting == null || scoreSetting.ScoreCost == null) { return(false); } resultDto.Cost = scoreSetting.ScoreCost.Value; resultDto.ScoreType = ScoreTypeEnum.Self; } return(true); }
/// <summary> /// 获取当前积分汇率 /// </summary> /// <param name="appId">应用id</param> /// <param name="cost">积分汇率</param> /// <returns></returns> public bool GetScoreCost(Guid appId, out CostScoreInfoDTO cost) { return(GetScoreCost(appId, out cost, DateTime.Now)); }