コード例 #1
0
        public async Task <IActionResult> GetUserPushedNotificationList(UserPushedNotificatiosModel model)
        {
            try
            {
                var userIdClaimUserpushnotlst    = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "userId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var sessionIdClaimUserpushnotlst = User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "sessionMobileId".ToLower(CultureInfo.InvariantCulture).Trim()).Value;
                var programIdClaimUserpushnotlst = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "programId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var userDeviceIdUserpushnotlst   = Convert.ToString(User.Claims.FirstOrDefault(x => x.Type.ToLower(CultureInfo.InvariantCulture).Trim() == "UserDeviceId".ToLower(CultureInfo.InvariantCulture).Trim()).Value);
                var UserDeviceTypeUserpushnotlst = 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(userIdClaimUserpushnotlst, sessionIdClaimUserpushnotlst)))
                {
                    return(Ok(NoSessionMatchExist));
                }
                /*Mapping of data from UserNotificationsSettingModel to UserNotificationsSettings*/
                var userNotifications = await _userPushedNotificationService.GetUserPushNotificationsList(model.notificationTypeId, model.pageNumber, model.pageSize, userIdClaimUserpushnotlst, programIdClaimUserpushnotlst, userDeviceIdUserpushnotlst, UserDeviceTypeUserpushnotlst);

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