コード例 #1
0
        public async Task <IActionResult> GetUserPushedNotificationListCount()
        {
            try
            {
                var userIdClaimGetUserpushCount    = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "userId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var sessionIdClaimGetUserpushCount = User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "sessionMobileId".ToLower(CultureInfo.InvariantCulture).Trim()).Value;
                var programIdClaimGetUserpushCount = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "programId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var userDeviceIdGetUserpushCount   = Convert.ToString(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "UserDeviceId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var UserDeviceTypeGetUserpushCount = Convert.ToString(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "UserDeviceType".ToLower(CultureInfo.InvariantCulture).Trim()).Value);

                /* Checks the session of the user against its Id. */
                if (string.IsNullOrEmpty(await _userRepository.CheckSessionId(userIdClaimGetUserpushCount, sessionIdClaimGetUserpushCount)))
                {
                    return(Ok(NoSessionMatchExist));
                }
                /*Mapping of data from UserNotificationsSettingModel to UserNotificationsSettings*/
                var userNotifications = await _userPushedNotificationService.GetUserPushNotifictaionsUnreadCount(userIdClaimGetUserpushCount, programIdClaimGetUserpushCount, userDeviceIdGetUserpushCount, UserDeviceTypeGetUserpushCount);

                return(Ok(new ApiResponse(Microsoft.AspNetCore.Http.StatusCodes.Status200OK, true, MessagesConstants.UserNotificationSettingsUpdated, userNotifications)));
            }
            catch (Exception ex)
            {
                HttpContext.RiseError(new Exception(string.Concat("API := (Notifications := GetUserPushedNotificationListCount)", ex.Message, " Stack Trace : ", ex.StackTrace, " Inner Exception : ", ex.InnerException)));
                return(Ok(new ApiResponse(Microsoft.AspNetCore.Http.StatusCodes.Status200OK, false, MessagesConstants.UserNotificationSettingsNotUpdated)));
            }
        }