Пример #1
0
        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));
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }