public async Task <ILeadershipPointSystemResponse> GetCriteriaClaimedPointsAsync(int profileId, int criteriaId)
        {
            try
            {
                var profile = await _appDbContext.Profiles.FirstOrDefaultAsync(k => k.Id == profileId);

                if (profile == null)
                {
                    return(new LeadershipPointSystemResponse(ClientMessageConstant.ProfileNotExist, HttpStatusCode.NotFound));
                }

                var criteriaClaims = await _appDbContext.CriteriaClaims.Include(y => y.Criteria).Include(k => k.Status)
                                     .Where(k => k.ProfileId == profileId && !k.IsDeleted && k.Criteria.Id == criteriaId).ToListAsync();


                var earnedPoints = criteriaClaims.Where(k => k.StatusId == (int)ClaimStatusType.Accepted && !k.IsDeleted).Sum(k => k.Criteria.Points);


                var model = new CriteriaClaimedPointsView()
                {
                    ProfileId             = profile.Id,
                    CriteriaId            = criteriaId,
                    CriteriaClaimedPoints = earnedPoints,
                    TotalClaimedPoints    = Convert.ToInt32(profile.Lpspoints),
                    ClaimedList           = _mapper.Map <List <CriteriaClaimView> >(criteriaClaims.Where(k => k.StatusId == (int)ClaimStatusType.Accepted && !k.IsDeleted).ToList()),
                    PendingList           = _mapper.Map <List <CriteriaClaimView> >(criteriaClaims.Where(k => k.StatusId == (int)ClaimStatusType.Pending && !k.IsDeleted).ToList())
                };

                return(new LeadershipPointSystemResponse(model));
            }
            catch (Exception e)
            {
                return(new LeadershipPointSystemResponse(e));
            }
        }
 public LeadershipPointSystemResponse(CriteriaClaimedPointsView claimedPointsView) : this(true, string.Empty, claimedPointsView)
 {
 }
 private LeadershipPointSystemResponse(bool success, string message, CriteriaClaimedPointsView claimedPointsView) : base(success, message)
 {
     CriteriaClaimedPointsView = claimedPointsView;
 }