Files
29WxOrder/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
2026-11-09 19:00:42 +08:00

500 lines
21 KiB
C#

using _29WxOrderWpf.BaseWindows;
using _29WxOrderWpf.Ctrls.OrderCtrls;
using AllBase;
using AllBase.Helper;
using AllBase.Model.Config;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Work._29Tools.BLL;
namespace _29WxOrderWpf.Windows.OrderWindows
{
/// <summary>
/// TransitReturnOrderWindow.xaml 的交互逻辑
/// </summary>
public partial class TransitReturnOrderWindow : BaseWindow
{
public static TransitReturnOrderWindow instance { get; set; }
public oms_wei_order_item_info OrderItem { get; set; }
public TransitReturnOrderWindow(oms_wei_order_item_info orderItem)
{
InitializeComponent();
instance = this;
if (orderItem != null)
OrderItem = orderItem;
}
private void mainGrid_Loaded(object sender, RoutedEventArgs e)
{
}
private void TransitAfterSaleWindow_Loaded(object sender, RoutedEventArgs e)
{
this.cmbExpressName.Items.Add("");
this.cmbExpressName.Items.Add("邮政EMS");
this.cmbExpressName.Items.Add("极兔速递");
this.cmbExpressName.Items.Add("申通快递");
this.cmbExpressName.Items.Add("韵达快递");
this.cmbExpressName.Items.Add("圆通速递");
this.cmbExpressName.Items.Add("中通快递");
this.cmbExpressName.Items.Add("百世快运");
this.cmbExpressName.Items.Add("顺丰速运");
this.cmbExpressName.Items.Add("京东快递");
this.cmbExpressName.Items.Add("其他快递");
if (OrderItem != null)
{
// 上海仓默认发货地址
// 随机用户名
txtSendUser.Text = TransitWaybillHelper.LastName[Randomx.GetId(TransitWaybillHelper.LastName.Count)] + (Randomx.GetId(2) == 1 ? "先生" : "女士");
// 固定手机号及地址
txtSendMobile.Text = "13024622251";
txtSendProvince.Text = "上海市";
txtSendCity.Text = "上海市";
txtSendCounty.Text = "普陀区";
txtSendDetailAddress.Text = GlobalConfig.TransitReturnOrderReturnAddress;
txtShopOrderId.Text = OrderItem.order_id;
txtShopName.Text = OrderItem.ItemOrder?.shop_name;
txtGoodsName.Text = OrderItem.title;
txtSpuId.Text = OrderItem.product_id.ParseToString();
txtSpecName.Text = OrderItem.SkuAttrStr;
txtWaybillId.Text = OrderItem.ItemRefund?.return_waybill_id;
foreach (var cmbItem in cmbExpressName.Items)
{
if (PddBuyerOrderLiteInfo.GetWxExpressCodeToWxExpressName((OrderItem.ItemRefund?.return_delivery_id).ParseToString()) == cmbItem.ParseToString())
{
cmbExpressName.SelectedItem = cmbItem;
}
}
this.txtAddressAnalysis.Text = OrderItem.PddBuyerAfterSale?.afterSaleAddress;
if (OrderItem?.ItemOrder?.OrderBuyType == "直发" || OrderItem?.ItemOrder?.OrderBuyType == "云改直")
{
this.txtAddressAnalysis.Text = OrderItem?.DirectPddBuyerAfterSale?.afterSaleAddress;
}
btnAddressAnalysis_Click(null, null);
if (OrderItem.AddEditTransitWarehouseReturnOrderStr == "已添加")
{
// 回填库内信息
btnAdd.Content = "创 建";
if (OrderItem.DistribReturnOrderInfo != null)
{
txtProvince.Text = OrderItem.DistribReturnOrderInfo.receiver_province;
txtCity.Text = OrderItem.DistribReturnOrderInfo.receiver_city;
txtCounty.Text = OrderItem.DistribReturnOrderInfo.receiver_area;
txtDetailAddress.Text = OrderItem.DistribReturnOrderInfo.receiver_address;
txtUser.Text = OrderItem.DistribReturnOrderInfo.receiver_name;
txtMobile.Text = OrderItem.DistribReturnOrderInfo.receiver_phone;
}
}
if (OrderItem.AddEditTransitWarehouseReturnOrderStr == "已创建未到仓" || OrderItem.AddEditTransitWarehouseReturnOrderStr == "已到仓" ||
OrderItem.AddEditTransitWarehouseReturnOrderStr == "已发回")
{
btnAdd.IsEnabled = btnAddressAnalysis.IsEnabled = false;
if (OrderItem.DistribReturnOrderInfo != null)
{
txtProvince.Text = OrderItem.DistribReturnOrderInfo.receiver_province;
txtCity.Text = OrderItem.DistribReturnOrderInfo.receiver_city;
txtCounty.Text = OrderItem.DistribReturnOrderInfo.receiver_area;
txtDetailAddress.Text = OrderItem.DistribReturnOrderInfo.receiver_address;
txtUser.Text = OrderItem.DistribReturnOrderInfo.receiver_name;
txtMobile.Text = OrderItem.DistribReturnOrderInfo.receiver_phone;
}
}
}
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
if (OrderItem?.ItemOrder?.OrderBuyType == "云仓" && (OrderItem?.ItemTransitOrder?.warehouse_status).ParseToInt() < 1)
{
//BaseMsgWindow.ShowError("当前订单仓库状态不支持创建退货订单!");
//return;
}
if (txtWaybillId.Text.Trim().IsNullOrEmpty() || PddBuyerOrderLiteInfo.GetPddToTransitWarehouseExpressCompanyCode(cmbExpressName.SelectedItem.ParseToString()).IsNullOrEmpty())
{
BaseMsgWindow.ShowError("缺少店铺退货单号!");
return;
}
if (txtUser.Text.Trim().IsNullOrEmpty() || txtMobile.Text.Trim().IsNullOrEmpty() || txtProvince.Text.Trim().IsNullOrEmpty() || txtCity.Text.Trim().IsNullOrEmpty() ||
txtCounty.Text.Trim().IsNullOrEmpty() || txtDetailAddress.Text.Trim().IsNullOrEmpty())
{
BaseMsgWindow.ShowError("缺少收货人信息!");
return;
}
if (txtUser.Text.Trim().Length > 15)
{
BaseMsgWindow.ShowError("收货人姓名长度不能超过15!");
return;
}
JObject jObj = new JObject();
jObj["orderCodeSource"] = OrderItem.order_id;
jObj["logisticsCode"] = PddBuyerOrderLiteInfo.GetPddToTransitWarehouseExpressCompanyCode(cmbExpressName.SelectedItem.ParseToString());
jObj["logisticsExpressNo"] = txtWaybillId.Text.Trim();
jObj["platform"] = "OTHER";
jObj["shopName"] = OrderItem.ItemOrder?.shop_name;
jObj["senderName"] = txtSendUser.Text.Trim();
jObj["senderPhone"] = txtSendMobile.Text.Trim();
jObj["senderProvince"] = txtSendProvince.Text.Trim();
jObj["senderCity"] = txtSendCity.Text.Trim();
jObj["senderArea"] = txtSendCounty.Text.Trim();
jObj["senderAddress"] = txtSendDetailAddress.Text.Trim();
jObj["receiverName"] = txtUser.Text.Trim();
jObj["receiverPhone"] = txtMobile.Text.Trim();
jObj["receiverProvince"] = txtProvince.Text.Trim();
jObj["receiverCity"] = txtCity.Text.Trim();
jObj["receiverArea"] = txtCounty.Text.Trim();
jObj["receiverAddress"] = txtDetailAddress.Text.Trim();
jObj["orderCreateTime"] = (OrderItem.ItemOrder?.CreateDateTime).ParseToString();
jObj["userAccount"] = BaseClass.UserName;
jObj["platformCode"] = "WEISHOP";
jObj["afterSaleNo"] = OrderItem.ItemRefund?.after_sale_order_id;
jObj["platformOrderNo"] = OrderItem.order_id;
string basePostageKey = WarehousePostageInfo.DicWarehousePostage.Keys.FirstOrDefault(pk => (txtProvince.Text.Trim()).ParseToString().Contains(pk));
decimal basePostage = basePostageKey.IsNullOrEmpty() ? WarehousePostageInfo.DicWarehousePostage.Values.Min() : WarehousePostageInfo.DicWarehousePostage[basePostageKey];
basePostage += 0.3m; // 送货2.2 退货2.5(+3毛)
jObj["oemAmount"] = (BaseClass.RefundPostagePerOrderDiff * 100).ParseToInt().ParseToString();
jObj["firstWeightFee"] = ((basePostage + BaseClass.RefundPostagePerOrderDiff) * 100).ParseToInt().ParseToString();
JObject jItemObj = new JObject();
jItemObj["spuCode"] = OrderItem.product_id.ParseToString();
jItemObj["spuName"] = OrderItem.title;
jItemObj["skuCode"] = OrderItem.sku_id.ParseToString();
jItemObj["specInfo"] = OrderItem.SkuAttrStr;
jItemObj["skuUrl"] = OrderItem.thumb_img;
jItemObj["picUrl"] = OrderItem.thumb_img;
jItemObj["returnQuantity"] = OrderItem.sku_cnt;
jObj["orderDetailsList"] = new JArray();
(jObj["orderDetailsList"] as JArray).Add(jItemObj);
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
if (btnAdd.Content.ToString() == "添 加" && OrderItem.DistribReturnOrderInfo == null)
{
var addReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/addReturnOrder";
var addReturnOrderStr = JsonHelper.SerializeObject(jObj);
var getTransitAfterSaleRst = HttpResponseWXBLL.e57PostResponse(addReturnOrderUrl, addReturnOrderStr, "");
if (!getTransitAfterSaleRst.ParseToString().Contains("<code>200</code>") && !getTransitAfterSaleRst.ParseToString().Contains("<code>0</code>"))
{
string msg = BaseRegex.GetStringXml(ref getTransitAfterSaleRst, "msg");
if (msg.IsNullOrEmpty())
msg = getTransitAfterSaleRst;
BaseMsgWindow.ShowError("订单 " + OrderItem.order_id + " 中转仓退货订单添加失败,服务端返回 " + msg);
return;
}
}
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
var orderCode = OrderItem.DistribReturnOrderInfo.order_code;
if (string.IsNullOrEmpty(orderCode))
{
BaseMsgWindow.ShowError("订单 " + OrderItem.order_id + " 中转仓退货订单创建失败,售后单获取失败");
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
return;
}
var createReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/createReturnOrder";
var createObj = new JObject();
createObj["orderCode"] = orderCode;
createObj["logisticsCode"] = jObj["logisticsCode"].ParseToString();
createObj["logisticsExpressNo"] = jObj["logisticsExpressNo"].ParseToString();
var createReturnOrderStr = JsonHelper.SerializeObject(createObj);
var createReturnOrderRst = HttpResponseWXBLL.e57PostResponse(createReturnOrderUrl, createReturnOrderStr, "");
//<AjaxResult><msg>创建第三方退货订单成功</msg><code>0</code></AjaxResult>
if (!createReturnOrderRst.ParseToString().Contains("<code>200</code>") && !createReturnOrderRst.ParseToString().Contains("<code>0</code>"))
{
string msg = BaseRegex.GetStringXml(ref createReturnOrderRst, "msg");
if (msg.IsNullOrEmpty())
msg = createReturnOrderRst;
BaseMsgWindow.ShowError("中转仓退货订单创建失败,服务端返回 " + msg);
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
return;
}
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
StartUp.UpdateBalance();
BaseMsgWindow.ShowInfo("中转仓退货订单创建成功", "", this);
this.Close();
}
public static void AddReturnOrder(oms_wei_order_item_info OrderItem)
{
// 订单不存在或已作废的,直接返回
if (OrderItem == null || OrderItem.ItemRefund == null)
{
return;
}
// 已创建退货订单,直接返回
if (OrderItem.DistribReturnOrderInfo != null && OrderItem.DistribReturnOrderInfo.warehouse_status != 0)
{
return;
}
var wxExpressName = PddBuyerOrderLiteInfo.GetWxExpressCodeToWxExpressName((OrderItem?.ItemRefund?.return_delivery_id).ParseToString());
var aftersaleAddress = OrderItem?.PddBuyerAfterSale?.afterSaleAddress;
if (OrderItem?.ItemOrder.OrderBuyType == "直发" || OrderItem?.ItemOrder.OrderBuyType == "云改直")
{
aftersaleAddress = OrderItem?.DirectPddBuyerAfterSale?.afterSaleAddress;
}
var receiver = PddAddressAnalysis(aftersaleAddress.ParseToString());
// 单号不存在或者地址识别失败的直接返回
if (wxExpressName.IsNullOrEmpty() || OrderItem.ItemRefund.return_waybill_id.IsNullOrEmpty() || receiver.receiver_name.IsNullOrEmpty() || receiver.receiver_phone.IsNullOrEmpty() ||
receiver.receiver_province.IsNullOrEmpty() || receiver.receiver_city.IsNullOrEmpty() || receiver.receiver_area.IsNullOrEmpty() || receiver.receiver_address.IsNullOrEmpty())
{
if (!string.IsNullOrWhiteSpace(aftersaleAddress) || receiver.receiver_name?.Length > 15)
{
// todo 提示地址解析失败请手动提交
OrderItem.AddEditTransitWarehouseReturnOrderStr = "解析失败请手动添加";
}
return;
}
JObject jObj = new JObject();
jObj["orderCodeSource"] = OrderItem.order_id;
jObj["logisticsCode"] = PddBuyerOrderLiteInfo.GetPddToTransitWarehouseExpressCompanyCode(wxExpressName); ;
jObj["logisticsExpressNo"] = OrderItem.ItemRefund?.return_waybill_id;
jObj["platform"] = "OTHER";
jObj["shopName"] = OrderItem.ItemOrder?.shop_name;
jObj["senderName"] = TransitWaybillHelper.LastName[Randomx.GetId(TransitWaybillHelper.LastName.Count)] + (Randomx.GetId(2) == 1 ? "先生" : "女士");
jObj["senderPhone"] = "13024622251";
jObj["senderProvince"] = "上海市";
jObj["senderCity"] = "上海市";
jObj["senderArea"] = "普陀区";
jObj["senderAddress"] = GlobalConfig.TransitReturnOrderReturnAddress;
jObj["receiverName"] = receiver.receiver_name;
jObj["receiverPhone"] = receiver.receiver_phone;
jObj["receiverProvince"] = receiver.receiver_province;
jObj["receiverCity"] = receiver.receiver_city;
jObj["receiverArea"] = receiver.receiver_area;
jObj["receiverAddress"] = receiver.receiver_address;
jObj["orderCreateTime"] = (OrderItem.ItemOrder?.CreateDateTime).ParseToString();
jObj["userAccount"] = BaseClass.UserName;
jObj["platformCode"] = "WEISHOP";
jObj["afterSaleNo"] = OrderItem.ItemRefund?.after_sale_order_id;
jObj["platformOrderNo"] = OrderItem.order_id;
string basePostageKey = WarehousePostageInfo.DicWarehousePostage.Keys.FirstOrDefault(pk => receiver.receiver_province.ParseToString().Contains(pk));
decimal basePostage = basePostageKey.IsNullOrEmpty() ? WarehousePostageInfo.DicWarehousePostage.Values.Min() : WarehousePostageInfo.DicWarehousePostage[basePostageKey];
basePostage += 0.3m; // 送货2.2 退货2.5(+3毛)
jObj["oemAmount"] = (BaseClass.RefundPostagePerOrderDiff * 100).ParseToInt().ParseToString();
jObj["firstWeightFee"] = ((basePostage + BaseClass.RefundPostagePerOrderDiff) * 100).ParseToInt().ParseToString();
JObject jItemObj = new JObject();
jItemObj["spuCode"] = OrderItem.product_id.ParseToString();
jItemObj["spuName"] = OrderItem.title;
jItemObj["skuCode"] = OrderItem.sku_id.ParseToString();
jItemObj["specInfo"] = OrderItem.SkuAttrStr;
jItemObj["skuUrl"] = OrderItem.thumb_img;
jItemObj["picUrl"] = OrderItem.thumb_img;
jItemObj["returnQuantity"] = OrderItem.sku_cnt;
jObj["orderDetailsList"] = new JArray();
(jObj["orderDetailsList"] as JArray).Add(jItemObj);
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
if (OrderItem.DistribReturnOrderInfo == null)
{
var addReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/addReturnOrder";
var addReturnOrderStr = JsonHelper.SerializeObject(jObj);
var getTransitAfterSaleRst = HttpResponseWXBLL.e57PostResponse(addReturnOrderUrl, addReturnOrderStr, "");
if (!getTransitAfterSaleRst.ParseToString().Contains("<code>200</code>") && !getTransitAfterSaleRst.ParseToString().Contains("<code>0</code>"))
{
string msg = BaseRegex.GetStringXml(ref getTransitAfterSaleRst, "msg");
if (msg.IsNullOrEmpty())
msg = getTransitAfterSaleRst;
BaseMsgWindow.ShowAnimateMessage("订单 " + OrderItem.order_id + " 中转仓退货订单添加失败,服务端返回 " + msg, "Error", 5);
return;
}
}
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
var orderCode = OrderItem.DistribReturnOrderInfo.order_code;
if (string.IsNullOrEmpty(orderCode))
{
BaseMsgWindow.ShowAnimateMessage("订单 " + OrderItem.order_id + " 中转仓退货订单创建失败,售后单获取失败", "Error", 5);
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
return;
}
var createReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/createReturnOrder";
var createObj = new JObject();
createObj["orderCode"] = orderCode;
createObj["logisticsCode"] = jObj["logisticsCode"].ParseToString();
createObj["logisticsExpressNo"] = jObj["logisticsExpressNo"].ParseToString();
var createReturnOrderStr = JsonHelper.SerializeObject(createObj);
var createReturnOrderRst = HttpResponseWXBLL.e57PostResponse(createReturnOrderUrl, createReturnOrderStr, "");
if (!createReturnOrderRst.ParseToString().Contains("<code>200</code>") && !createReturnOrderRst.ParseToString().Contains("<code>0</code>"))
{
string msg = BaseRegex.GetStringXml(ref createReturnOrderRst, "msg");
if (msg.IsNullOrEmpty())
msg = createReturnOrderRst;
BaseMsgWindow.ShowAnimateMessage("订单 " + OrderItem.order_id + " 中转仓退货订单创建失败,服务端返回 " + msg, "Error", 5);
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
return;
}
//MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
StartUp.UpdateBalance();
BaseMsgWindow.ShowAnimateMessage("订单 " + OrderItem.order_id + " 中转仓退货订单创建成功", "Msg", 2);
}
private void btnAddressAnalysis_Click(object sender, RoutedEventArgs e)
{
var receiver = PddAddressAnalysis(txtAddressAnalysis.Text.Trim());
this.txtUser.Text = receiver.receiver_name;
this.txtMobile.Text = receiver.receiver_phone;
this.txtProvince.Text = receiver.receiver_province;
this.txtCity.Text = receiver.receiver_city;
this.txtCounty.Text = receiver.receiver_area;
this.txtDetailAddress.Text = receiver.receiver_address;
}
public static distrib_receiver_info WxAddressAnalysis(string AddressText)
{
distrib_receiver_info receiver = new distrib_receiver_info();
var txt = AddressText;
txt = txt.Replace("\r", "").Replace("\n", "");
// 定义座机号的正则表达式
string landlinePattern = @"\d{3}-\d{8}|\d{4}-\d{7}";
// 定义手机号的正则表达式
string mobilePattern = @"1[3-9]\d{9}";
// 使用正则表达式匹配座机号和手机号
Match landlineMatch = Regex.Match(txt, landlinePattern);
Match mobileMatch = Regex.Match(txt, mobilePattern);
var phone = "";
if (landlineMatch.Success)
{
phone = landlineMatch.Value;
txt = txt.Replace(phone, " ");
}
if (mobileMatch.Success)
{
phone = mobileMatch.Value;
txt = txt.Replace(phone, " ");
}
if (!string.IsNullOrEmpty(phone))
{
receiver.receiver_phone = phone;
}
var province = GlobalConfig.Divisions.FirstOrDefault(d => txt.Contains(d.name));
if (province == null)
return receiver;
receiver.receiver_province = province.name;
var city = province.children.FirstOrDefault(c => txt.Contains(c.name));
if (city == null)
return receiver;
receiver.receiver_city = city.name;
var county = city.children.FirstOrDefault(c => txt.Contains(c.name));
if (county == null)
return receiver;
receiver.receiver_area = county.name;
txt = txt.Replace(county.name, " ").Replace(city.name, " ").Replace(province.name, " ");
var tArr = txt.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
tArr = tArr.OrderBy(t => t.Length).ToArray();
receiver.receiver_name = tArr.FirstOrDefault();
receiver.receiver_address = string.Join("", tArr).Replace(receiver.receiver_name, "");
return receiver;
}
public static distrib_receiver_info PddAddressAnalysis(string AddressText)
{
distrib_receiver_info receiver = new distrib_receiver_info();
var txt = AddressText;
txt = txt.Replace("\r", "").Replace("\n", "");
// 定义座机号的正则表达式
string landlinePattern = @"\d{3}-\d{8}|\d{4}-\d{7}";
// 定义手机号的正则表达式
string mobilePattern = @"1[3-9]\d{9}";
// 使用正则表达式匹配座机号和手机号
Match landlineMatch = Regex.Match(txt, landlinePattern);
Match mobileMatch = Regex.Match(txt, mobilePattern);
var phone = "";
if (landlineMatch.Success)
{
phone = landlineMatch.Value;
txt = txt.Replace(phone, " ");
}
if (mobileMatch.Success)
{
phone = mobileMatch.Value;
txt = txt.Replace(phone, " ");
}
if (!string.IsNullOrEmpty(phone))
{
receiver.receiver_phone = phone;
}
var province = GlobalConfig.PddDivisions.FirstOrDefault(d => txt.Contains(d.name));
if (province == null)
return receiver;
receiver.receiver_province = province.name;
var city = province.children.FirstOrDefault(c => txt.Contains(c.name));
if (city == null)
return receiver;
receiver.receiver_city = city.name;
var county = city.children.FirstOrDefault(c => txt.Contains(c.name));
if (county == null)
return receiver;
receiver.receiver_area = county.name;
txt = txt.Replace(county.name, " ").Replace(city.name, " ").Replace(province.name, " ");
var tArr = txt.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
tArr = tArr.OrderBy(t => t.Length).ToArray();
receiver.receiver_name = tArr.FirstOrDefault();
receiver.receiver_address = string.Join("", tArr).Replace(receiver.receiver_name, "");
return receiver;
}
}
}