Beispiel #1
0
 public async Task <GetNotPublishedMessagesIdsResponse> GetNotPublishedMessagesIdsAsync(GetNotPublishedMessagesIdsRequest request,
                                                                                        [CallerMemberName] string callerMemberName = null)
 => await ExecutePostAsync <GetNotPublishedMessagesIdsResponse, GetNotPublishedMessagesIdsRequest>(
     path : "/api/message/get-not-published-ids",
     request : request,
     callerMemberName : callerMemberName);
        public async Task <GetNotPublishedMessagesIdsResponse> GetNotPublishedMessagesIds([FromBody] GetNotPublishedMessagesIdsRequest request)
        {
            request.RequiredNotNull(nameof(request));
            request.RequiredArgumentNotNull(() => request.ApplicationName);
            request.RequiredArgumentNotNull(() => request.Host);
            request.RequiredArgumnetNotNullAndNotDefaultValue <GetNotPublishedMessagesIdsRequest, int>(() => request.RowsCount);

            var createdDelayInMilliseconds = request.CreatedDelayInMilliseconds ?? MessageGlossary.DefaultCreatedDelayInMilliseconds;
            var createdDelayEndDateTime    = _dateTimeService.GetDateTimeNow().AddMilliseconds(-createdDelayInMilliseconds);

            var res = await _messageRepository.GetNotPublishedIdsAsync(
                createdDelayEndDateTime : createdDelayEndDateTime,
                topRowsCount : request.RowsCount,
                applicationName : request.ApplicationName,
                host : request.Host,
                messageTypeFullName : request.MessageTypeFullName,
                concurrentSelectLockEndDateTime : null);

            return(new GetNotPublishedMessagesIdsResponse {
                Ids = res
            });
        }