using DevComponents.DotNetBar.SuperGrid; using NLog; using POSV.Component; using POSV.Entity; using POSV.HttpApi; using POSV.HttpResponse; using POSV.Utils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenApiUtils = POSV.Utils.OpenApiUtils; namespace POSV.WaiMai { public partial class VisitorUpdateForm : BusinessForm { public VisitorUpdateForm() { InitializeComponent(); DefaultGridStyle.setDefaultGridStyle(this.deliveryGrid); } List visitorAddressList = null; private void VisitorUpdateForm_Load(object sender, EventArgs e) { visitorAddressList = new List(); using (var db = Global.Instance.OpenDataBase) { visitorAddressList = db.Query().OrderByDescending(x => x.CreateDate).ToList(); } this.deliveryGrid.PrimaryGrid.DataSource = visitorAddressList; } private void buttonX1_Click(object sender, EventArgs e) { var panel = deliveryGrid.PrimaryGrid; var row = panel.ActiveRow as GridRow; Visitor visitor = null; using (var db = Global.Instance.OpenDataBase) { visitor = db.FirstOrDefault("select * from pos_visitor where id = '" + row.Cells[0].Value + "'"); } if (visitor != null) { VisitorEditForm editForm = new VisitorEditForm(); editForm._visitor = visitor; editForm._visitorAddress = visitorAddressList.FirstOrDefault(f => f.VisitorId.Equals(row.Cells[0].Value)); editForm.ShowDialog(); if (editForm.Save) { try { using (var db = Global.Instance.OpenDataBase) { db.Update(editForm._visitorAddress); db.Update(editForm._visitor); } } catch (Exception ex) { this.ShowToastNotify(this, "保存失败," + ex.Message); return; } visitorAddressList.Remove(visitorAddressList.FirstOrDefault(f => f.Id.Equals(editForm._visitorAddress.Id))); visitorAddressList.Add(editForm._visitorAddress); editForm._visitor.Address.Add(editForm._visitorAddress); OpenApi api = OpenApiUtils.Instance.NextApi(ApiType.Business); SortedList parameters = OpenApiUtils.Instance.NewParameters(api); parameters.Add("method", "visitor.update"); parameters.Add("id", visitor.Id); parameters.Add("storeId", Global.Instance.Authc.StoreId); parameters.Add("jsonString", JsonUtils.Serialize(editForm._visitor)); var ignore = new List(); ignore.Add("jsonString"); parameters.Add("sign", OpenApiUtils.Instance.Sign(api, parameters, ignore)); string response = HttpClientUtils.PostAsync(api, api.Url, parameters); if (Constant.IsSuccessful(response)) { var status = JsonUtils.Deserialize>(response); if (status.Status == 1) { LOGGER.Info(status.Message); this.ShowToastNotify(this, "更新成功"); return; } else { string message = string.Format("{1}", status.ErrCode, status.Message); this.ShowToastNotify(this, "更新失败" + message); return; } } else { var status = JsonUtils.Deserialize>(response); LOGGER.Info(response); this.ShowToastNotify(this, "更新失败" + status.ErrMessage); return; } } } } private void buttonX2_Click(object sender, EventArgs e) { var panel = deliveryGrid.PrimaryGrid; var row = panel.ActiveRow as GridRow; Visitor visitor = null; using (var db = Global.Instance.OpenDataBase) { var _data = visitorAddressList.FirstOrDefault(f => f.VisitorId.Equals(row.Cells[0].Value)); if (_data == null) { this.ShowToastNotify(this, "删除失败" +"数据异常"); return; } visitor = db.FirstOrDefault("select * from pos_visitor where id = '" + _data.VisitorId + "'"); } OpenApi api = OpenApiUtils.Instance.NextApi(ApiType.Business); SortedList parameters = OpenApiUtils.Instance.NewParameters(api); parameters.Add("method", "visitor.delete"); parameters.Add("storeId", Global.Instance.Authc.StoreId); parameters.Add("id", visitor.Id); var ignore = new List(); ignore.Add("jsonString"); parameters.Add("sign", OpenApiUtils.Instance.Sign(api, parameters, ignore)); string response = HttpClientUtils.PostAsync(api, api.Url, parameters); if (Constant.IsSuccessful(response)) { var status = JsonUtils.Deserialize>(response); if (status.Status == 1) { try { using (var db = Global.Instance.OpenDataBase) { db.Execute("delete from pos_visitor where id = '" + row.Cells[0].Value + "'"); db.Execute("delete from pos_visitor_address where VisitorId = '" + row.Cells[0].Value + "'"); } } catch (Exception ex) { this.ShowToastNotify(this, "删除失败"+ex.Message); return; } VisitorUpdateForm_Load(null,null); LOGGER.Info(status.Message); this.ShowToastNotify(this, "删除成功"); return; } else { string message = string.Format("{1}", status.ErrCode, status.Message); this.ShowToastNotify(this, "删除失败" + message); return; } } else { var status = JsonUtils.Deserialize>(response); LOGGER.Info(response); this.ShowToastNotify(this, "更新失败" + status.ErrMessage); return; } } private void buttonX4_Click(object sender, EventArgs e) { if (this.Owner !=null) { this.Owner.Close(); } this.Close(); } private void controlBox_CloseClick(object sender, EventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } } }