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()); }
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()); }
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)); } }