步步为盈
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
5.4 KiB

2 years ago
using BBWY.Client.APIServices;
using BBWY.Client.Models;
2 years ago
using GalaSoft.MvvmLight.Command;
2 years ago
using HandyControl.Controls;
using System.Threading.Tasks;
2 years ago
using System.Windows.Input;
2 years ago
namespace BBWY.Client.ViewModels
{
2 years ago
public class EditServiceOrderViewModel : BaseVM
2 years ago
{
2 years ago
private ServiceOrderService serviceOrderService;
2 years ago
/// <summary>
/// 主键Id
/// </summary>
private long servicePId;
2 years ago
private string orderId;
2 years ago
private ServiceResult? serviceResult;
private decimal? sdRefundFreight;
private ReturnDirection? returnDirection;
private string renewalOrderId;
private decimal? reissueAfterSaleAmount;
private string returnCheckRemark;
private StorageType? renewalType;
private string renewalPurchaseOrderId;
private Platform? renewalPurchasePlatform;
private decimal? reissueFreight;
private decimal? reissueProductAmount;
2 years ago
private bool isLoading;
2 years ago
public ServiceResult? ServiceResult { get => serviceResult; set { Set(ref serviceResult, value); } }
public decimal? SDRefundFreight { get => sdRefundFreight; set { Set(ref sdRefundFreight, value); } }
public ReturnDirection? ReturnDirection { get => returnDirection; set { Set(ref returnDirection, value); } }
public string RenewalOrderId { get => renewalOrderId; set { Set(ref renewalOrderId, value); } }
/// <summary>
/// 售后补发成本
/// </summary>
public decimal? ReissueAfterSaleAmount { get => reissueAfterSaleAmount; set { Set(ref reissueAfterSaleAmount, value); } }
/// <summary>
/// 退货检查备注
/// </summary>
public string ReturnCheckRemark { get => returnCheckRemark; set { Set(ref returnCheckRemark, value); } }
public StorageType? RenewalType { get => renewalType; set { Set(ref renewalType, value); } }
public string RenewalPurchaseOrderId { get => renewalPurchaseOrderId; set { Set(ref renewalPurchaseOrderId, value); } }
public Platform? RenewalPurchasePlatform { get => renewalPurchasePlatform; set { Set(ref renewalPurchasePlatform, value); } }
public ICommand SaveCommand { get; set; }
2 years ago
2 years ago
public decimal? ReissueFreight { get => reissueFreight; set { Set(ref reissueFreight, value); } }
2 years ago
2 years ago
public decimal? ReissueProductAmount { get => reissueProductAmount; set { Set(ref reissueProductAmount, value); } }
2 years ago
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public EditServiceOrderViewModel(ServiceOrderService serviceOrderService)
2 years ago
{
2 years ago
this.serviceOrderService = serviceOrderService;
2 years ago
SaveCommand = new RelayCommand(Save);
2 years ago
}
public void SetData(ServiceOrder serviceOrder)
{
2 years ago
this.servicePId = serviceOrder.Id;
2 years ago
this.orderId = serviceOrder.OrderId;
2 years ago
this.ServiceResult = serviceOrder.ServiceResult;
this.SDRefundFreight = serviceOrder.SDRefundFreight;
this.ReturnDirection = serviceOrder.ReturnDirection;
this.RenewalOrderId = serviceOrder.RenewalOrderId;
this.ReissueAfterSaleAmount = serviceOrder.ReissueAfterSaleAmount;
this.ReturnCheckRemark = serviceOrder.ReturnCheckRemark;
this.RenewalType = serviceOrder.RenewalType;
this.RenewalPurchaseOrderId = serviceOrder.RenewalPurchaseOrderId;
this.RenewalPurchasePlatform = serviceOrder.RenewalPurchasePlatform;
this.ReissueFreight = serviceOrder.ReissueFreight;
this.ReissueProductAmount = serviceOrder.ReissueProductAmount;
}
private void Save()
{
2 years ago
if (IsLoading)
return;
IsLoading = true;
Task.Factory.StartNew(() => serviceOrderService.EditServiceOrder(servicePId,
orderId,
ServiceResult,
SDRefundFreight,
ReturnDirection,
RenewalOrderId,
ReissueAfterSaleAmount,
ReturnCheckRemark,
RenewalType,
RenewalPurchaseOrderId,
RenewalPurchasePlatform,
ReissueFreight,
ReissueProductAmount)).ContinueWith(t =>
{
IsLoading = false;
var r = t.Result;
if (!r.Success)
{
App.Current.Dispatcher.Invoke(() => MessageBox.Show(r.Msg, "提示"));
return;
}
//closeEditServiceOrder
GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(true, "closeEditServiceOrder");
});
2 years ago
}
}
}