Ejemplo n.º 1
0
 public ScorePontuation(string name, int wins, int losts, ScoreTypeEnum scoreType)
 {
     Name      = name;
     Wins      = wins;
     Losts     = losts;
     ScoreType = scoreType;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Score" /> class.
 /// </summary>
 /// <param name="accountId">accountId.</param>
 /// <param name="allocationId">allocationId.</param>
 /// <param name="benchmarkId">benchmarkId.</param>
 /// <param name="clientId">clientId.</param>
 /// <param name="createDate">createDate.</param>
 /// <param name="goalId">goalId.</param>
 /// <param name="id">id.</param>
 /// <param name="metadata">metadata.</param>
 /// <param name="modelId">modelId.</param>
 /// <param name="portfolioId">portfolioId.</param>
 /// <param name="scoreTimeStamp">scoreTimeStamp.</param>
 /// <param name="scoreType">scoreType (required).</param>
 /// <param name="scoreValue">scoreValue (required).</param>
 /// <param name="secondaryId">secondaryId.</param>
 /// <param name="securityId">securityId.</param>
 /// <param name="updateDate">updateDate.</param>
 public Score(Guid?accountId = default(Guid?), Guid?allocationId = default(Guid?), Guid?benchmarkId = default(Guid?), Guid?clientId = default(Guid?), DateTime?createDate = default(DateTime?), Guid?goalId = default(Guid?), Guid?id = default(Guid?), Dictionary <string, string> metadata = default(Dictionary <string, string>), Guid?modelId = default(Guid?), Guid?portfolioId = default(Guid?), DateTime?scoreTimeStamp = default(DateTime?), ScoreTypeEnum scoreType = default(ScoreTypeEnum), string scoreValue = default(string), string secondaryId = default(string), Guid?securityId = default(Guid?), DateTime?updateDate = default(DateTime?))
 {
     // to ensure "scoreType" is required (not null)
     if (scoreType == null)
     {
         throw new InvalidDataException("scoreType is a required property for Score and cannot be null");
     }
     else
     {
         this.ScoreType = scoreType;
     }
     // to ensure "scoreValue" is required (not null)
     if (scoreValue == null)
     {
         throw new InvalidDataException("scoreValue is a required property for Score and cannot be null");
     }
     else
     {
         this.ScoreValue = scoreValue;
     }
     this.AccountId      = accountId;
     this.AllocationId   = allocationId;
     this.BenchmarkId    = benchmarkId;
     this.ClientId       = clientId;
     this.CreateDate     = createDate;
     this.GoalId         = goalId;
     this.Id             = id;
     this.Metadata       = metadata;
     this.ModelId        = modelId;
     this.PortfolioId    = portfolioId;
     this.ScoreTimeStamp = scoreTimeStamp;
     this.SecondaryId    = secondaryId;
     this.SecurityId     = securityId;
     this.UpdateDate     = updateDate;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssessmentDefinition" /> class.
        /// </summary>
        /// <param name="codedConcept">The coded concept.</param>
        /// <param name="scoreType">Type of the score.</param>
        public AssessmentDefinition(CodedConcept codedConcept, ScoreTypeEnum scoreType)
            : this()
        {
            Check.IsNotNull(codedConcept, () => CodedConcept);
            Check.IsNotNull(scoreType, () => ScoreType);

            Key = CombGuid.NewCombGuid();

            RaiseEvent(new AssessmentDefinitionCreatedEvent(Key, Version, codedConcept, scoreType));
        }
Ejemplo n.º 4
0
 private List <ScorePontuation> CalculateScores(IEnumerable <IGrouping <string, PlayerResults> > results, ScoreTypeEnum scoreType)
 {
     return(results.ToList().Where(p => !string.IsNullOrEmpty(p.Key) ||
                                   !string.IsNullOrWhiteSpace(p.Key)).Select(player =>
     {
         var totalWins = player.Count(p => p.Winner == true);
         var totalLosts = player.Count(p => p.Winner == false);
         return new ScorePontuation(player.Key, totalWins, totalLosts, scoreType);
     }).ToList());
 }
Ejemplo n.º 5
0
 private ScorePontuation CalculateUserScoresBy(List <PlayerResults> playersResults, string value, ScoreTypeEnum type)
 {
     if (ScoreTypeEnum.CHAR == type)
     {
         return(CalculateCharScores(playersResults).FirstOrDefault(p => p.Name == value));
     }
     else if (ScoreTypeEnum.PLAYER == type)
     {
         return(CalculateScores(playersResults.GroupBy(p => p.Info.Name), type)
                .FirstOrDefault(p => p.Name == value));
     }
     else
     {
         return(CalculateRoleScores(playersResults).FirstOrDefault(p => p.Name == value));
     }
 }
Ejemplo n.º 6
0
        public bool GiveScoreBtpShare(Guid userId, Guid appId, int srore, Guid commodityOrderId, string commodityOrderCode, Jinher.AMP.Sign.Deploy.Enum.ScoringType scoringType, decimal money, int scale, ScoreTypeEnum scoreType)
        {
            bool   result          = false;
            string scoringTypeName = string.Empty;
            //设置积分显示名称
            string bizName = commodityOrderCode;

            if (scoringType == Jinher.AMP.Sign.Deploy.Enum.ScoringType.BtpDistributeSale)
            {
                scoringTypeName = "分销";
                bizName         = "分销佣金" + money + "元(1元=" + scale + "积分)";
            }
            else if (scoringType == Jinher.AMP.Sign.Deploy.Enum.ScoringType.BtpShareSale)
            {
                scoringTypeName = "众销";
                bizName         = "众销佣金" + money + "元(1元=" + scale + "积分)";
            }
            else if (scoringType == Jinher.AMP.Sign.Deploy.Enum.ScoringType.BtpChannelBrokerage)
            {
                scoringTypeName = "渠道";
                bizName         = "渠道佣金" + money + "元(1元=" + scale + "积分)";
            }
            try
            {
                //获取用户账号,那边显示用
                var          jsonr        = CBCSV.GetUserNameAndCode(userId);
                var          userCode     = jsonr.Item2;
                GiveScoreDTO giveScoreDTO = new GiveScoreDTO()
                {
                    Account   = userCode,
                    AppId     = appId,
                    UserId    = userId,
                    BizId     = commodityOrderId,
                    BizName   = bizName,
                    BizType   = Jinher.AMP.Sign.Deploy.Enum.BizType.CustomBtp,
                    Scores    = srore,
                    SubId     = userId,
                    ScoreType = scoringType
                };
                Jinher.AMP.Sign.IBP.Facade.GiveRewardsFacade grFacade = new GiveRewardsFacade();
                grFacade.ContextDTO = AuthorizeHelper.CoinInitAuthorizeInfo();
                LogHelper.Info(scoringTypeName + string.Format("发放积分GiveScoreBtpShare。giveScoreDTO:{0};scoreType:{1}", JsonHelper.JsonSerializer(giveScoreDTO), scoreType));
                Jinher.AMP.Sign.Deploy.CustomDTO.ReturnInfoDTO signResult = grFacade.GiveScoreBtpShareNew(giveScoreDTO, DateTime.Now, scoreType == ScoreTypeEnum.Currency);
                if (!signResult.IsSuccess)
                {
                    LogHelper.Error(scoringTypeName + string.Format("发放积分失败。giveScoreDTO:{0}", JsonHelper.JsonSerializer(giveScoreDTO)));
                    return(result);
                }
                result = true;
            }
            catch (Exception ex)
            {
                LogHelper.Error(scoringTypeName + string.Format("发放积分异常。userId:{0},appId:{1},srore:{2},commodityOrderId:{3},commodityOrderCode:{4},scoringType:{5},money:{6},scale:{7}", userId, appId, srore, commodityOrderId, commodityOrderCode, (int)scoringType, money, scale), ex);
            }
            return(result);
        }
Ejemplo n.º 7
0
        public bool RefundScore(Guid userId, Guid appId, int srore, Guid commodityOrderId, string commodityOrderCode, ScoreTypeEnum type)
        {
            bool result = false;

            try
            {
                //获取用户账号,那边显示用
                var          jsonr        = CBCSV.GetUserNameAndCode(userId);
                var          userCode     = jsonr.Item2;
                GiveScoreDTO giveScoreDTO = new GiveScoreDTO()
                {
                    Account = userCode,
                    AppId   = appId,
                    UserId  = userId,
                    BizId   = commodityOrderId,
                    BizName = commodityOrderCode,
                    BizType = Jinher.AMP.Sign.Deploy.Enum.BizType.CustomBtp,
                    Scores  = srore,
                    SubId   = userId
                };
                Jinher.AMP.Sign.IBP.Facade.GiveRewardsFacade grFacade = new GiveRewardsFacade();
                grFacade.ContextDTO = AuthorizeHelper.CoinInitAuthorizeInfo();
                LogHelper.Info(string.Format("回退积分GiveScoreBtpBackNew。giveScoreDTO:{0}", JsonHelper.JsonSerializer(giveScoreDTO)));
                Jinher.AMP.Sign.Deploy.CustomDTO.ReturnInfoDTO signResult = grFacade.GiveScoreBtpBackNew(giveScoreDTO, DateTime.Now, type == ScoreTypeEnum.Currency);
                if (!signResult.IsSuccess)
                {
                    LogHelper.Error(string.Format("回退积分失败。giveScoreDTO:{0}", JsonHelper.JsonSerializer(giveScoreDTO)));
                    return(result);
                }
                result = true;
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("回退积分异常。userId:{0},appId:{1},srore:{2},commodityOrderId:{3},commodityOrderCode:{4},type:{5}", userId, appId, srore, commodityOrderId, commodityOrderCode, type), ex);
            }
            return(result);
        }
Ejemplo n.º 8
0
        public bool LoadOrCreate(long articleId, ScoreTypeEnum aType, double startScore = 0.0, bool save=false)
        {
            bool returnValue = LoadBy(articleId, aType);
            if (!returnValue)
            {
                this.ArticleId = articleId;
                this.Score = startScore;
                this.ScoreType = aType;
                if (save)
                {
                    this.Save();
                }
            }

            return returnValue;
        }
Ejemplo n.º 9
0
 public bool LoadBy(long articleId, ScoreTypeEnum aType)
 {
     ArticleScore entityArticleScore = DbCtx.Instance.ArticleScores
                                              .Where(score => score.ArticleId == articleId && score.ScoreType == (int)aType)
                                              .FirstOrDefault();
     return Load(entityArticleScore);
 }
Ejemplo n.º 10
0
 public static List<ProviderArticleScore> LoadBy(ScoreTypeEnum aType)
 {
     return DbCtx.Instance.ArticleScores.Include("Article")
                                     .Where(score => score.ScoreType == (int)aType)
                                     .ToList()
                                     .ConvertAll(_converterEntityToProvider);
 }
Ejemplo n.º 11
0
 public static double GetScoreByArticleId(long articleId, ScoreTypeEnum selectType)
 {
     int intSelectType = (int)selectType;
     return DbCtx.Instance.ArticleScores.Where(score => score.ArticleId == articleId && score.ScoreType == intSelectType)
                                             .Select(score => score.Score)
                                             .FirstOrDefault();
 }
Ejemplo n.º 12
0
 public static Dictionary<long, int> GetRankDict(ScoreTypeEnum selectType)
 {
     return DbCtx.Instance.ArticleScores
                         .Where(score => score.ScoreType == (int)selectType)
                         .OrderByDescending(score => score.Score)
                         .Select(score => new {score.ArticleId})
                         .AsEnumerable()
                         .Select((articleId, index) => new { articleId.ArticleId, Index = index + 1 })
                         .ToDictionary(aPair => aPair.ArticleId, aPair => aPair.Index);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Indicates if an object with a given Article Id exists
 /// </summary>
 /// <param name="id">Article Id of the object whose existence we wish to check</param>
 /// <returns>The object Id that has the matching Article Id</returns>
 public static long? ExistsByArticleId(long articleId, ScoreTypeEnum aType)
 {
     long? returnValue = null;
     if (articleId > -1)
     {
         long scoreId = DbCtx.Instance.ArticleScores
                                           .Where(aScore => aScore.ArticleId == articleId && aScore.ScoreType == (int)aType)
                                           .Select(aScore => aScore.Id)
                                           .DefaultIfEmpty(-1)
                                           .Single();
         if (scoreId != -1)
         {
             returnValue = scoreId;
         }
     }
     return returnValue;
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScoreTypeAttribute"/> class.
 /// </summary>
 /// <param name="value">The value.</param>
 public ScoreTypeAttribute(ScoreTypeEnum value)
 {
     Value = value;
 }
        public static List <LineGraphData> CalculateLineGraphData(Tuple <List <string>, List <IGrouping <string, MatchScoreGroup> > >
                                                                  resultGroup, string valorCharEnum, ScoreTypeEnum scoreType, Func <List <PlayerResults>, string, ScoreTypeEnum, ScorePontuation> calculate)
        {
            var result = new List <LineGraphData>();

            resultGroup.Item1.ForEach(day =>
            {
                var resultGroupDay = resultGroup.Item2.Where(p => p.Key == day).ToList();
                if (resultGroupDay.Count > 0)
                {
                    var w = 0;
                    var l = 0;
                    resultGroupDay
                    .ForEach(group =>
                    {
                        List <PlayerResults> scores = group.
                                                      Select(p => p.Score as PlayerResults).ToList();

                        var score = calculate(scores, valorCharEnum, scoreType);
                        if (score != null)
                        {
                            w = score.Wins;
                            l = score.Losts;
                        }
                    });
                    result.Add(new LineGraphData(w, l, day));
                }
                else
                {
                    result.Add(new LineGraphData(0, 0, day));
                }
            });
            return(result);
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AssessmentDefinitionCreatedEvent" /> class.
 /// </summary>
 /// <param name="assessmentDefinitionKey">The assessment definition key.</param>
 /// <param name="version">The version.</param>
 /// <param name="codedConcept">The coded concept.</param>
 /// <param name="scoreTypeEnum">The score type enum.</param>
 public AssessmentDefinitionCreatedEvent(Guid assessmentDefinitionKey, int version, CodedConcept codedConcept, ScoreTypeEnum scoreTypeEnum)
     : base(assessmentDefinitionKey, version)
 {
     CodedConcept = codedConcept;
     ScoreType    = scoreTypeEnum;
 }