示例#1
0
            /// <summary>
            /// Executes the workflow to sync StockCount journal / transactions from AX to RetailServer database.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The response.</returns>
            protected override SyncStockCountResponse Process(SyncStockCountRequest request)
            {
                ThrowIf.Null(request, "request");

                Request serviceRequest;
                SyncStockCountResponse response;

                if (string.IsNullOrEmpty(request.JournalId))
                {
                    serviceRequest = new SyncStockCountJournalsFromAxServiceRequest();

                    var serviceResponse = this.Context.Execute <SyncStockCountJournalsFromAxServiceResponse>(serviceRequest);
                    response = new SyncStockCountResponse(serviceResponse.StockCountJournals);
                }
                else
                {
                    serviceRequest = new SyncStockCountTransactionsFromAxServiceRequest()
                    {
                        JournalId = request.JournalId
                    };

                    var serviceResponse = this.Context.Execute <SyncStockCountTransactionsFromAxServiceResponse>(serviceRequest);
                    response = new SyncStockCountResponse(serviceResponse.StockCountJournalTransactions);
                }

                return(response);
            }
 /// <summary>
 /// Invokes the method in StockCount that executes SyncStockCountTransactionsFromAx.
 /// </summary>
 /// <param name="request">SyncStockCountTransactionsFromAxServiceRequest request.</param>
 /// <returns>Returns SyncStockCountTransactionsFromAxServiceResponse.</returns>
 private static SyncStockCountTransactionsFromAxServiceResponse SyncStockCountTransactionsFromAx(SyncStockCountTransactionsFromAxServiceRequest request)
 {
     return(StockCountServiceHelper.SyncStockCountJournalTransactions(request.RequestContext, request.JournalId));
 }