Esempio n. 1
0
        private async Task <MFulfillment_ReturnRequest> SetupReturnRequest(UnitOfWork unitOfWork, int quantity)
        {
            var mShipment = await SetupShipment(unitOfWork, quantity);

            var mCreateReturnRequestItems = new List <MFulfillment_CreateReturnRequestItem>();

            foreach (var mShipmentItem in mShipment.ShipmentItems)
            {
                mCreateReturnRequestItems.Add(new MFulfillment_CreateReturnRequestItem()
                {
                    FulfillableItemId = mShipmentItem.FulfillableItemId,
                    Quantity          = mShipmentItem.Quantity
                });
            }
            var mCreateReturnRequest = new MFulfillment_CreateReturnRequest()
            {
                ReturnRequestType       = MFulfillment_ReturnRequestTypes.Return,
                ReturnRequestReasonCode = "ITEM-DEFECTIVE",
                Notes = "Notes",
                CreateReturnRequestItems = mCreateReturnRequestItems
            };
            var returnRequestId = await FulfillmentMicroService.CreateReturnRequestAsync(mCreateReturnRequest);

            await FulfillmentMicroService.PostReturnRequestAsync(returnRequestId);

            var mReturnRequest = await FulfillmentMicroService.GetReturnRequestAsync(returnRequestId);

            return(mReturnRequest);
        }
        private async Task <long> SaveReturnRequest(EditReturnRequest model)
        {
            if (model.ReturnRequestId == null)
            {
                var mCreateReturnRequestItems = new List <MFulfillment_CreateReturnRequestItem>();
                foreach (var item in model.ReturnRequestItems)
                {
                    mCreateReturnRequestItems.Add(new MFulfillment_CreateReturnRequestItem()
                    {
                        FulfillableItemId = item.FulfillableItemId,
                        Quantity          = item.Quantity
                    });
                }

                var mCreateReturnRequest = new MFulfillment_CreateReturnRequest()
                {
                    ReturnRequestType        = Enum.Parse <MFulfillment_ReturnRequestTypes>(model.ReturnRequestType),
                    ReturnRequestReasonCode  = model.ReturnRequestReason,
                    CreateReturnRequestItems = mCreateReturnRequestItems
                };

                var aCreateReturnRequest = new AReturn_CreateReturnRequest()
                {
                    MCreateReturnRequest = mCreateReturnRequest
                };

                var returnRequestId = await ReturnAdminService.CreateReturnRequestAsync(aCreateReturnRequest);

                return(returnRequestId);
            }
            else
            {
                var mUpdateReturnRequestItems = new List <MFulfillment_UpdateReturnRequestItem>();
                foreach (var item in model.ReturnRequestItems)
                {
                    mUpdateReturnRequestItems.Add(new MFulfillment_UpdateReturnRequestItem()
                    {
                        ReturnRequestItemId = item.ReturnRequestItemId.Value,
                        Quantity            = item.Quantity
                    });
                }

                var mUpdateReturnRequest = new MFulfillment_UpdateReturnRequest()
                {
                    ReturnRequestId          = model.ReturnRequestId.Value,
                    ReturnRequestType        = Enum.Parse <MFulfillment_ReturnRequestTypes>(model.ReturnRequestType),
                    ReturnRequestReasonCode  = model.ReturnRequestReason,
                    UpdateReturnRequestItems = mUpdateReturnRequestItems
                };

                var aUpdateReturnRequest = new AReturn_UpdateReturnRequest()
                {
                    MUpdateReturnRequest = mUpdateReturnRequest
                };

                await ReturnAdminService.UpdateReturnRequestAsync(aUpdateReturnRequest);

                return(model.ReturnRequestId.Value);
            }
        }
Esempio n. 3
0
        public async Task CreateReturnRequest()
        {
            var logger = ServiceScope.ServiceProvider.GetService <ILogger <FulfillmentTest> >();

            var unitOfWork  = CreateUnitOfWork.Timestamp(GetUniqueNow());
            int maxQuantity = 10;

            var mShipment = await SetupShipment(unitOfWork, maxQuantity);

            var mCreateReturnRequestItems = new List <MFulfillment_CreateReturnRequestItem>();

            foreach (var mShipmentItem in mShipment.ShipmentItems)
            {
                mCreateReturnRequestItems.Add(new MFulfillment_CreateReturnRequestItem()
                {
                    FulfillableItemId = mShipmentItem.FulfillableItemId,
                    Quantity          = mShipmentItem.Quantity
                });
            }
            var mCreateReturnRequest = new MFulfillment_CreateReturnRequest()
            {
                ReturnRequestType       = MFulfillment_ReturnRequestTypes.Return,
                ReturnRequestReasonCode = "ITEM-DEFECTIVE",
                Notes = "Notes",
                CreateReturnRequestItems = mCreateReturnRequestItems
            };

            var returnRequestId = await FulfillmentMicroService.CreateReturnRequestAsync(mCreateReturnRequest);

            logger.LogInformation($"Return request {returnRequestId} created.");

            var eventCount = await EventProcessorMicroService.ProcessPendingEvents();

            logger.LogInformation($"{eventCount} events processed.");

            await FulfillmentMicroService.PostReturnRequestAsync(returnRequestId);

            logger.LogInformation($"Return request {returnRequestId} posted.");

            eventCount = await EventProcessorMicroService.ProcessPendingEvents();

            logger.LogInformation($"{eventCount} events processed.");
        }