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; }