public async Task <JsonResult> Stop(StopOrderViewModel stopOrderViewModel) { if (!ModelState.IsValid) { return(Json(false, data: ErrorToDictionary())); } var result = await ChangeStep(new string[] { stopOrderViewModel.OrderId }, OrderStatus.Delete); if (stopOrderViewModel.DesginAmount <= 0 && stopOrderViewModel.OtherAmount <= 0) { return(Json(result)); } var manager = new ReconciliationManager(User); var reconciliation = new Reconciliation { CustomerId = stopOrderViewModel.CustomerId, CustomerName = stopOrderViewModel.CustomerName, Amount = stopOrderViewModel.DesginAmount + stopOrderViewModel.OtherAmount, CompanyId = User.CompanyId, Type = ReconciliationType.Arrearage, Created = DateTime.Now, CreatorId = User.Id, Remark = $"{stopOrderViewModel.OrderId}消单," + (stopOrderViewModel.DesginAmount > 0 ? $"设计费用{stopOrderViewModel.DesginAmount}," : "") + (stopOrderViewModel.OtherAmount > 0 ? $"其他费用{ stopOrderViewModel.OtherAmount}" : "") }; await manager.CreateAsync(reconciliation); return(Json(result)); }
public async Task <ActionResult> Stop(string orderId) { Requires.NotNullOrEmpty(orderId, "orderId"); var manager = new OrderManager(User); var order = await manager.GetOrderAsync(orderId); if (order == null) { return(View("Error", SaleManagentConstants.Errors.OrderNotFound)); } StopOrderViewModel stopOrderViewModel = new StopOrderViewModel { OrderId = orderId, DesginAmount = order.OutputWaxCost, CustomerId = order.CustomerId, CustomerName = order.Customer.Name }; return(View(stopOrderViewModel)); }