138 lines
3.3 KiB
C#
138 lines
3.3 KiB
C#
using AllBase.Model.Result;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using WPFCommon.Helpers;
|
|
using WPFCommon.Models;
|
|
|
|
namespace _29WxOrderWpf.Ctrls.PDDInvoice.ViewModels;
|
|
|
|
/// <summary>
|
|
/// 订单发票Model
|
|
/// </summary>
|
|
public class PddBrowserOrderInvoiceViewModel : BindableBaseEx
|
|
{
|
|
private bool _isSelected;
|
|
|
|
/// <summary>
|
|
/// 是否被勾选(用于批量开票)
|
|
/// </summary>
|
|
public bool IsSelected
|
|
{
|
|
get => _isSelected;
|
|
set => SetProperty(ref _isSelected, value, nameof(IsSelected));
|
|
}
|
|
public string buyerId { get; set; } // 买手Id
|
|
public string buyerName { get; set; } // 买手名称
|
|
/// <summary>
|
|
/// 订单价
|
|
/// </summary>
|
|
public int order_amount { get; set; }
|
|
/// <summary>
|
|
/// 实付款
|
|
/// </summary>
|
|
public string display_amount { get; set; }
|
|
/// <summary>
|
|
/// 下单时间
|
|
/// </summary>
|
|
public long order_time { get; set; }
|
|
/// <summary>
|
|
/// 订单号
|
|
/// </summary>
|
|
public string order_sn { get; set; }
|
|
public int status { get; set; }
|
|
public int pay_status { get; set; }
|
|
public string order_status_prompt { get; set; }
|
|
/// <summary>
|
|
/// 订单详情
|
|
/// </summary>
|
|
public string order_link_url { get; set; }
|
|
public List<order_good> order_Goods { get; set; }
|
|
|
|
public List<OrderButtonItem> order_buttons { get; set; }
|
|
|
|
private string _goodsName;
|
|
public string GoodsName { get => _goodsName ?? order_Goods?.FirstOrDefault()?.goods_name ?? ""; set => _goodsName = value; }
|
|
/// <summary>
|
|
/// 是否已开票
|
|
/// </summary>
|
|
public bool IsInvoiced
|
|
{
|
|
get => GetValue<bool>();
|
|
set
|
|
{
|
|
SetValue(value);
|
|
base.RaisePropertyChanged(nameof(InvoiceStatusText));
|
|
}
|
|
}
|
|
|
|
public int Quantity => order_Goods?.Sum(a => a.goods_number.Value) ?? 0;
|
|
/// <summary> 发票状态文案:已开票 / 待开票 </summary>
|
|
public string InvoiceStatusText => IsInvoiced ? "已提交申请" : "待开票";
|
|
|
|
|
|
public DateTime OrderTime
|
|
{
|
|
get => DateTimeHelper.ConvertFromUnixTimestampInSeconds(order_time);
|
|
}
|
|
private string _thumburl;
|
|
public string ThumbUrl
|
|
{
|
|
get { return _thumburl ?? order_Goods?.FirstOrDefault()?.thumb_url ?? ""; }
|
|
set { _thumburl = value; }
|
|
}
|
|
public string DisplayAmount => (order_amount / 100.0).ToString("F2");
|
|
public PddBrowserOrderInvoiceViewModel()
|
|
{
|
|
|
|
}
|
|
public PddBrowserOrderInvoiceViewModel(OrderInvoiceInfo info)
|
|
{
|
|
_goodsName = info.GoodsName;
|
|
order_amount = info.order_amount;
|
|
order_time = info.order_time;
|
|
order_sn = info.order_sn;
|
|
order_link_url = info.order_link_url;
|
|
IsInvoiced = info.IsInvoiced;
|
|
_thumburl = info.ThumbUrl;
|
|
}
|
|
}
|
|
|
|
public class OrderButtonItem
|
|
{
|
|
public int button_code { get; set; }
|
|
public string brief_prompt { get; set; }
|
|
public ButtonTypeValue type_value { get; set; }
|
|
}
|
|
public class ButtonTypeValue
|
|
{
|
|
public string Url { get; set; }
|
|
}
|
|
|
|
|
|
public class OrderInvoiceInfo
|
|
{
|
|
/// <summary>
|
|
/// 订单价
|
|
/// </summary>
|
|
public int order_amount { get; set; }
|
|
/// <summary>
|
|
/// 下单时间
|
|
/// </summary>
|
|
public long order_time { get; set; }
|
|
/// <summary>
|
|
/// 订单号
|
|
/// </summary>
|
|
public string order_sn { get; set; }
|
|
/// <summary>
|
|
/// 订单详情
|
|
/// </summary>
|
|
public string order_link_url { get; set; }
|
|
/// <summary>
|
|
/// 是否已开票
|
|
/// </summary>
|
|
public bool IsInvoiced { get; set; }
|
|
public string ThumbUrl { get; set; }
|
|
public string GoodsName { get; set; }
|
|
} |