public async Task <JsonResult> GetClaimsDetails([FromBody] ClaimsFilterBO claimsRequest) { var jwt = await HttpContext.GetTokenAsync(BrokerConstants.TokenScheme, BrokerConstants.AccessToken); var auditLogBO = new AuditLogBO(_appSettings.Value.ApplicationName, jwt, _httpContextAccessor); var claimsDetails = await _claimsService.GetClaimsDetails(claimsRequest, auditLogBO); return(new JsonResult(claimsDetails)); }
/// <summary> /// Gets the claims details. /// </summary> /// <param name="claimsRequestBO">The claims request bo.</param> /// <param name="auditLogBO">The audit log bo.</param> /// <returns></returns> public async Task <IEnumerable <ClaimsBO> > GetClaimsDetails(ClaimsFilterBO claimsRequestBO, AuditLogBO auditLogBO) { var fromDate = new DateTime(DateTime.UtcNow.Year, 01, 01); var toDate = DateTime.UtcNow; var returnList = new List <ClaimsBO>(); string memberExternalId; switch (claimsRequestBO.FilterAttribute.ToLower()) { case MemberConstants.LastThreeMonthsFilter: fromDate = DateTime.UtcNow.AddMonths(-3); break; case MemberConstants.LastSixMonthsFilter: fromDate = DateTime.UtcNow.AddMonths(-6); break; case MemberConstants.LastTweleveMonthsFilter: fromDate = DateTime.UtcNow.AddMonths(-12); break; default: break; } if (claimsRequestBO != null) { if (String.IsNullOrEmpty(claimsRequestBO.ExternalMemberId)) { var member = await _unitOfWork.GetRepository <Member>().GetFirstOrDefaultAsync(a => a, predicate: b => b.UserId == claimsRequestBO.userId); memberExternalId = member?.ExternalId; } else { memberExternalId = claimsRequestBO.ExternalMemberId; } var primaryMemberclaims = await _unitOfWork.GetRepository <Claims>().GetPagedListAsync(a => a, predicate: b => b.MemberExternalId == memberExternalId && b.ServiceStartDate >= fromDate && b.ServiceStartDate <= toDate && (claimsRequestBO.ClaimsType > (int)ClaimType.All && b.ClaimsTypeId == claimsRequestBO.ClaimsType || claimsRequestBO.ClaimsType == (int)ClaimType.All && b.ClaimsTypeId > 0), orderBy: GenericHelper.GetOrderBy <Claims>(claimsRequestBO.SortAttribute, claimsRequestBO.SortOrder), pageIndex: claimsRequestBO.PageNumber, pageSize: claimsRequestBO.PageSize); returnList = await FetchClaimsData(primaryMemberclaims, primaryMemberclaims.Items.Count); //await AuditMapper.AuditLogging(auditLogBO, claimsRequestBO.userId, AuditAction.Select, claimsRequestBO); } return(returnList); }
/// <summary> /// Gets the claims details. /// </summary> /// <param name="claimsRequestBO">The claims request bo.</param> /// <param name="auditLogBO">The audit log bo.</param> /// <returns></returns> /// <exception cref="CustomException"> /// MemberClaimsRequestObjectEmptyErrorCode /// or /// MemberClaimsDataNotFoundErrorCode /// </exception> public async Task <IEnumerable <ClaimsBO> > GetClaimsDetails(ClaimsFilterBO claimsRequestBO, AuditLogBO auditLogBO) { if (claimsRequestBO == null) { throw new CustomException(nameof(MemberConstants.MemberClaimsRequestObjectEmptyErrorCode)); } var response = await _iClaimsDataAccess.GetClaimsDetails(claimsRequestBO, auditLogBO); if (response == null) { throw new CustomException(nameof(MemberConstants.MemberClaimsDataNotFoundErrorCode)); } return(response); }