示例#1
0
 public OutputInfoRequest(MessageId id,
                          SubscriberId source,
                          SubscriberId destination,
                          OutputInfoRequestTask task)
     :
     this(id, source, destination, task, includeTaskDetails : null)
 {
 }
示例#2
0
        public static bool Equals(OutputInfoRequest?left, OutputInfoRequest?right)
        {
            bool result = SubscribedRequest.Equals(left, right);

            result &= (result ? OutputInfoRequestTask.Equals(left?.Task, right?.Task) : false);
            result &= (result ? EqualityComparer <bool?> .Default.Equals(left?.IncludeTaskDetails, right?.IncludeTaskDetails) : false);

            return(result);
        }
示例#3
0
 public OutputInfoRequest(MessageId id,
                          SubscriberId source,
                          SubscriberId destination,
                          OutputInfoRequestTask task,
                          bool?includeTaskDetails)
     :
     base(id, StandardDialogs.OutputInfo, source, destination)
 {
     this.Task = task;
     this.IncludeTaskDetails = includeTaskDetails;
 }
示例#4
0
        public IOutputInfoFinishedProcessState StartProcess(OutputInfoRequestTask task, bool?includeTaskDetails)
        {
            OutputInfoRequest request = this.CreateRequest(task, includeTaskDetails);

            OutputInfoResponse response = this.SendRequest(request,
                                                           () =>
            {
                return(this.Dialog.SendRequest(request));
            });

            return(new StockLocationInfoFinishedProcessState(request, response));
        }
示例#5
0
 private OutputInfoRequest CreateRequest(OutputInfoRequestTask task, bool?includeTaskDetails)
 {
     return(this.CreateRequest((MessageId messageId,
                                SubscriberId localSubscriberId,
                                SubscriberId remoteSubscriberId) =>
     {
         return new OutputInfoRequest(messageId,
                                      localSubscriberId,
                                      remoteSubscriberId,
                                      task,
                                      includeTaskDetails);
     }));
 }
示例#6
0
        public async Task <IOutputInfoFinishedProcessState> StartProcessAsync(OutputInfoRequestTask task,
                                                                              bool?includeTaskDetails,
                                                                              CancellationToken cancellationToken = default)
        {
            OutputInfoRequest request = this.CreateRequest(task, includeTaskDetails);

            OutputInfoResponse response = await this.SendRequestAsync(request,
                                                                      () =>
            {
                return(this.Dialog.SendRequestAsync(request, cancellationToken));
            }).ConfigureAwait(continueOnCapturedContext: false);

            return(new StockLocationInfoFinishedProcessState(request, response));
        }