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 WxAdminOemManageForm : BaseForm { public CancellationTokenSource cancellationTokenSource { get; set; } = null; public WxAdminOemManageForm() { 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.Trim())); 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(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); } private void btnClear_Click(object sender, EventArgs e) { txtSearchOemId.Text = ""; txtSearchOemName.Text = ""; } } }