Пример #1
0
        public async Task <AFulfillable_Fulfillable> GetFulfillableAsync(long fulfillableId)
        {
            using var log = BeginFunction(nameof(FulfillableAdminService), nameof(GetFulfillableAsync), fulfillableId);
            try
            {
                await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false);

                var mFulfillable = await FulfillmentMicroService.GetFulfillableAsync(fulfillableId);

                var mTransactionSummaries = await FulfillmentMicroService.GetFulfillableTransactionSummariesAsync(fulfillableId, null, null);

                var mEventSummaries = await FulfillmentMicroService.GetFulfillableEventLogSummariesAsync(fulfillableId, null, null);

                var allowEdit = await SecurityPolicy.AllowEditFulfillment();

                var result = Create.AFulfillable_Fulfillable(mFulfillable, mTransactionSummaries, mEventSummaries, allowEdit);

                log.Result(result);

                return(result);
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }
Пример #2
0
        public async Task <AReturn_Return> GetReturnAsync(long returnId)
        {
            using var log = BeginFunction(nameof(ReturnAdminService), nameof(GetReturnAsync), returnId);
            try
            {
                await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false);

                var mReturn = await FulfillmentMicroService.GetReturnAsync(returnId).ConfigureAwait(false);

                var mTransactions = await FulfillmentMicroService.GetReturnTransactionSummariesAsync(returnId, null, null);

                var mEvents = await FulfillmentMicroService.GetReturnEventLogSummariesAsync(returnId, null, null);

                var mReturnRequests = new List <MFulfillment_ReturnRequest>();
                foreach (var mReturnItem in mReturn.ReturnItems)
                {
                    // Retrieve the associated fulfillable if we haven't already.
                    //
                    var returnRequestId = mReturnItem.ReturnRequestId;
                    if (!mReturnRequests.Any(r => r.ReturnRequestId == returnRequestId))
                    {
                        var mReturnRequest = await FulfillmentMicroService.GetReturnRequestAsync(returnRequestId).ConfigureAwait(false);

                        mReturnRequests.Add(mReturnRequest);
                    }
                }

                var mFulfillables = new List <MFulfillment_Fulfillable>();
                foreach (var mReturnItem in mReturn.ReturnItems)
                {
                    // Retrieve the associated fulfillable if we haven't already.
                    //
                    var fulfillableId = mReturnItem.FulfillableId;
                    if (!mFulfillables.Any(r => r.FulfillableId == fulfillableId))
                    {
                        var mFulfillable = await FulfillmentMicroService.GetFulfillableAsync(fulfillableId).ConfigureAwait(false);

                        mFulfillables.Add(mFulfillable);
                    }
                }

                var allowEdit = await SecurityPolicy.AllowEditFulfillment();

                var result = Create.AReturn_Return(mReturn, mTransactions, mEvents, mReturnRequests, mFulfillables, allowEdit);

                log.Result(result);

                return(result);
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }
Пример #3
0
        public async Task <AShipment_ShipmentRequest> GetShipmentRequestAsync(long shipmentRequestId)
        {
            using var log = BeginFunction(nameof(ShipmentAdminService), nameof(GetShipmentRequestAsync), shipmentRequestId);
            try
            {
                await Assert(SecurityPolicy.AllowViewFulfillment);

                var mShipmentRequest = await FulfillmentMicroService.GetShipmentRequestAsync(shipmentRequestId);

                var mTransactions = await FulfillmentMicroService.GetShipmentRequestTransactionSummariesAsync(shipmentRequestId, null, null);

                var mEvents = await FulfillmentMicroService.GetShipmentRequestEventLogSummariesAsync(shipmentRequestId, null, null);

                var mFulfillables = new List <MFulfillment_Fulfillable>();
                foreach (var mShipmentRequestItem in mShipmentRequest.ShipmentRequestItems)
                {
                    // Retrieve the associated fulfillable if we haven't already.
                    //
                    var fulfillableId = mShipmentRequestItem.FulfillableId;
                    if (!mFulfillables.Any(r => r.FulfillableId == fulfillableId))
                    {
                        var mFulfillable = await FulfillmentMicroService.GetFulfillableAsync(fulfillableId).ConfigureAwait(false);

                        mFulfillables.Add(mFulfillable);
                    }
                }

                var allowEdit = await SecurityPolicy.AllowEditFulfillment();

                var shipmentRequest = Create.AShipment_ShipmentRequest(mShipmentRequest, mTransactions, mEvents, mFulfillables, allowEdit);

                var result = shipmentRequest;

                log.Result(result);

                return(result);
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }