Пример #1
0
        public async Task <ActionResult> ReturnEditItems(ReturnRequestEditModel model)
        {
            if (ModelState.IsValid)
            {
                var quantitySpecified = false;// Assume failure.
                foreach (var item in model.Items)
                {
                    if (item.Quantity > 0)
                    {
                        quantitySpecified = true;
                        break;
                    }
                }
                if (!quantitySpecified)
                {
                    ModelState.AddModelError("", "No items have been selected.");
                }
            }
            if (!ModelState.IsValid)
            {
                var svcOrder = await OrderUserService.GetOrderAsync(model.OrderId);

                var svcReturnRequest = GetActiveReturnRequest(svcOrder);

                model = ModelFactory.CreateReturnRequestEditModel(svcOrder, svcReturnRequest, await FulfillmentMicroService.GetReturnRequestReasonsAsync());

                return(View(model));
            }

            var actionData = this.GetActionData();

            switch (actionData?.ActionName)
            {
            case Actions.Continue:
            {
                //if (svcReturnRequest.ReturnRequestId.HasValue)
                //{
                //    var svcReturnRequest = await CreateReturnRequestAsync(model);

                //    await FulfillmentMicroService.UpdateReturnRequestAsync(svcReturnRequest);
                //}
                //else
                //{
                //    var svcReturnRequest = await CreateReturnRequestAsync(model);

                //    _ = await FulfillmentMicroService.CreateReturnRequestAsync(svcReturnRequest);
                //}

                return(RedirectToAction("ReturnConfirm", new { id = model.OrderId }));
            }

            case Actions.Back:
            {
                return(RedirectToAction("Index", new { id = model.OrderId }));
            }
            }

            return(View());
        }
Пример #2
0
        public async Task <ActionResult> ReturnConfirm(ReturnRequestEditModel model)
        {
            var actionData = this.GetActionData();

            switch (actionData?.ActionName)
            {
            case Actions.Continue:
            {
                await FulfillmentMicroService.PostReturnRequestAsync(model.OrderReturnRequestId.Value);

                return(RedirectToAction("ReturnComplete", new { id = model.OrderId }));
            }

            case Actions.Back:
            {
                return(RedirectToAction("ReturnEditItems", new { id = model.OrderId }));
            }
            }

            return(View());
        }
Пример #3
0
        public async Task <ActionResult> ReturnEditReason(ReturnRequestEditModel model)
        {
            var actionData = this.GetActionData();

            switch (actionData.ActionName)
            {
            case Actions.Continue:
            {
                if (!ModelState.IsValid)
                {
                    return(View());
                }

                await Task.CompletedTask;

                //if (svcReturnRequest.ReturnRequestId.HasValue)
                //{
                //    await FulfillmentMicroService.UpdateReturnRequestAsync(svcReturnRequest);
                //}
                //else
                //{
                //    _ = await FulfillmentMicroService.CreateReturnRequestAsync(svcReturnRequest);
                //}

                return(RedirectToAction("ReturnEditItems", new { id = model.OrderId }));
            }

            case Actions.Back:
            {
                return(RedirectToAction("Index", new { id = model.OrderId }));
            }

            default:
                throw new InvalidOperationException(string.Format("Unknown action {0}", actionData.ActionName));
            }
        }