public async Task <ILeadershipPointSystemResponse> GetLeadershipPointSystemAsync(int profileId) { try { var profile = await _appDbContext.Profiles.FirstOrDefaultAsync(k => k.Id == profileId); if (profile == null) { return(new LeadershipPointSystemResponse(ClientMessageConstant.ProfileNotExist, HttpStatusCode.NotFound)); } var badges = _appDbContext.Badges.Where(k => !k.IsDeleted).OrderBy(k => k.MinimumPoints).ToList(); var criteria = _appDbContext.Criteria.Include(k => k.CriteriaCategory).Where(k => !k.IsDeleted).OrderBy(k => k.Points).ToList(); var claimPoints = await _appDbContext.CriteriaClaims.Include(y => y.Criteria).Include(y => y.Criteria.CriteriaCategory) .Where(k => k.ProfileId == profileId && k.StatusId == (int)ClaimStatusType.Accepted && !k.IsDeleted).SumAsync(k => k.Criteria.Points); var model = new LeadershipPointSystemView { ProfileId = profile.Id, CurrentPoints = Convert.ToInt32(profile.Lpspoints), Badges = _mapper.Map <List <BadgeView> >(badges), CriteriaList = _mapper.Map <List <CriteriaView> >(criteria) }; profile.Lpspoints = claimPoints; await _appDbContext.SaveChangesAsync(); return(new LeadershipPointSystemResponse(model)); } catch (Exception e) { return(new LeadershipPointSystemResponse(e)); } }
public LeadershipPointSystemResponse(LeadershipPointSystemView leadershipPointSystemView) : this(true, string.Empty, leadershipPointSystemView) { }
private LeadershipPointSystemResponse(bool success, string message, LeadershipPointSystemView leadershipPointSystemView) : base(success, message) { LeadershipPointSystemView = leadershipPointSystemView; }