|
|
|
using BBWY.Client.APIServices;
|
|
|
|
using BBWY.Client.Models;
|
|
|
|
using GalaSoft.MvvmLight.Command;
|
|
|
|
using HandyControl.Controls;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
|
|
|
namespace BBWY.Client.ViewModels
|
|
|
|
{
|
|
|
|
public class EditServiceOrderViewModel : BaseVM
|
|
|
|
{
|
|
|
|
|
|
|
|
private ServiceOrderService serviceOrderService;
|
|
|
|
/// <summary>
|
|
|
|
/// 主键Id
|
|
|
|
/// </summary>
|
|
|
|
private long servicePId;
|
|
|
|
private string orderId;
|
|
|
|
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;
|
|
|
|
private bool isLoading;
|
|
|
|
|
|
|
|
|
|
|
|
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; }
|
|
|
|
|
|
|
|
public decimal? ReissueFreight { get => reissueFreight; set { Set(ref reissueFreight, value); } }
|
|
|
|
|
|
|
|
public decimal? ReissueProductAmount { get => reissueProductAmount; set { Set(ref reissueProductAmount, value); } }
|
|
|
|
|
|
|
|
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
|
|
|
|
|
|
|
|
public EditServiceOrderViewModel(ServiceOrderService serviceOrderService)
|
|
|
|
{
|
|
|
|
this.serviceOrderService = serviceOrderService;
|
|
|
|
SaveCommand = new RelayCommand(Save);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void SetData(ServiceOrder serviceOrder)
|
|
|
|
{
|
|
|
|
this.servicePId = serviceOrder.Id;
|
|
|
|
this.orderId = serviceOrder.OrderId;
|
|
|
|
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()
|
|
|
|
{
|
|
|
|
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");
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|