Files
KJD/TEMUKJD/WXForms/AdminForms/WxOemManageForm.cs
T

199 lines
7.0 KiB
C#

using AllBase;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using Work;
namespace TemuKJD.WXForms.AdminForms
{
public partial class WxOemManageForm : BaseForm
{
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public WxOemManageForm()
{
InitializeComponent();
}
private void WxOemManageForm_Load(object sender, EventArgs e)
{
IsFormLoad = true;
}
private void WxOemManageForm_VisibleChanged(object sender, EventArgs e)
{
if (IsFirstVisibile)
{
btnSearch_Click(null, null);
IsFirstVisibile = false;
}
}
private void btnAddMdy_Click(object sender, EventArgs e)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtOemName.Text.Trim()));
data.Append("&oem_owner=" + GetHtml.UrlEncodeUtf8(txtOemOwner.Text));
string url = BaseClass.BuildWXObjString("user/add_mdy_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
if (btnAddMdy.Text != "添加贴牌")
btnCancelEdit_Click(null, null);
btnSearch_Click(null, null);
}
private void btnCancelEdit_Click(object sender, EventArgs e)
{
txtOemId.Text = "";
txtOemName.Text = "";
txtOemOwner.Text = "";
txtOemId.ReadOnly = false;
btnAddMdy.Text = "添加贴牌";
}
private void lblRandomOemId_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.txtOemId.Text = DateTime.Now.ToString("yy") + Randomx.GetNumber(2) + Randomx.GetWordWithNumber(4);
}
public string DbId = "";
private void dgvOem_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string columText = dgvOem.Columns[e.ColumnIndex].HeaderText;
string columName = dgvOem.Columns[e.ColumnIndex].Name;
string id = dgvOem.Rows[e.RowIndex].Cells["colId"].Value.ToString();
string oemId = dgvOem.Rows[e.RowIndex].Cells["colOemId"].Value.ToString();
string oemName = dgvOem.Rows[e.RowIndex].Cells["colOemName"].Value.ToString();
string oemOwner = dgvOem.Rows[e.RowIndex].Cells["colOemOwner"].Value.ToString();
var row = dgvOem.Rows[e.RowIndex];
if (columText == "编辑")
{
DbId = id;
txtOemId.ReadOnly = true;
txtOemId.Text = oemId;
txtOemName.Text = oemName;
txtOemOwner.Text = oemOwner;
btnAddMdy.Text = "编辑贴牌";
}
if (columText == "删除")
{
if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK)
{
DeleteOem(id);
}
}
}
private void DeleteOem(string dbId)
{
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&db_id=" + dbId);
string url = BaseClass.BuildWXObjString("user/del_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
btnSearch_Click(null, null);
}
private void btnSearch_Click(object sender, EventArgs e)
{
if (cancellationTokenSource != null)
cancellationTokenSource.Cancel();
dgvOem.Rows.Clear();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() => {
var cancelToken = cancellationTokenSource;
StringBuilder data = new StringBuilder();
data.Append(UserLogin.GetSignaturex());
data.Append("&oem_id=" + GetHtml.UrlEncodeUtf8(txtSearchOemId.Text.Trim()));
data.Append("&oem_name=" + GetHtml.UrlEncodeUtf8(txtSearchOemName.Text.Trim()));
string url = BaseClass.BuildWXObjString("user/get_oem");
string html = GetHtml.PostUtf8(url, data.ToString()).Trim();
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
if (string.IsNullOrEmpty(msg))
msg = html;
BaseMsgForm.ShowError(msg, "错误");
return;
}
var jArr = JObject.Parse(html)["data"];
try
{
var list = JsonHelper.DeserializeJsonToList<oem>(JsonHelper.SerializeObject(jArr)).ToList();
Invoke(new Action(() => { dgvOem.Rows.Clear(); }));
foreach (var item in list)
{
if (cancelToken.IsCancellationRequested)
return;
Invoke(new Action(() =>
{
this.dgvOem.Rows.Add(
false,
item.id,
item.oem_id,
item.oem_name,
item.oem_owner,
"",
"",
"编辑",
"删除"
);
}));
}
}
catch (Exception ex)
{
}
}, cancellationTokenSource.Token);
}
}
}