/// <summary> /// メンバー情報の取得 /// </summary> /// <param name="memberId"></param> /// <param name="targetYear"></param> /// <param name="targetMonth"></param> /// <returns></returns> public MemberModel GetMemberInfoData(long memberId, int targetYear, int targetMonth) { // メンバ情報を取得 var member = (this.dbContext.Member.Where(m => m.MemberId == memberId)).FirstOrDefault(); if (member == null) return new MemberModel { MemberId = memberId, Nickname = string.Empty, ProfileImg = string.Empty, PayOffPoints = 0 }; var memberModel = new MemberModel { MemberId = member.MemberId, Nickname = member.Nickname, ProfileImg = (member.ProfileImg ?? Core.resources.Resources.MemberProfileImgDefaultPath) }; // ポイント情報を取得 this.pointInfoService.GetMembersWithOnlinePoints(new[] { memberModel }, targetYear, targetMonth); return memberModel; }
/// <summary> /// 会員のポイント情報を取得 /// </summary> /// <param name="memberModels">会員規定モデルの配列</param> /// <param name="targetYear">対象年</param> /// <param name="targetMonth">対象月</param> public void GetMembersWithOnlinePoints(MemberModel[] memberModels, int targetYear, int targetMonth) { // ポイント情報を取得 var pointDatas = this.GetMembersWithOnlinePoints(memberModels.Select(x => x.MemberId).ToList(), targetYear, targetMonth); // メンバー情報とポイント情報をマージ foreach (var member in memberModels) { var poitdata = pointDatas.SingleOrDefault(x => x.MemberId == member.MemberId); if (poitdata == null || poitdata.MemberId == 0) continue; member.PayOffPoints = poitdata.PayOffPoints; member.FundsPoint = poitdata.FundsPoint; member.PossesionPoint = poitdata.PossesionPoint; member.LastExpectedPointDate = poitdata.LastExpectedPointDate; } }