You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
7.8 KiB
C#
230 lines
7.8 KiB
C#
|
|
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<VisitorAddress> visitorAddressList = null;
|
|
private void VisitorUpdateForm_Load(object sender, EventArgs e)
|
|
{
|
|
visitorAddressList = new List<VisitorAddress>();
|
|
using (var db = Global.Instance.OpenDataBase)
|
|
{
|
|
visitorAddressList = db.Query<VisitorAddress>().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<Visitor>("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<string, string> 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<string>();
|
|
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<EntityResponse<UploadVisitorResult>>(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<EntityResponse<UploadVisitorResult>>(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<Visitor>("select * from pos_visitor where id = '" + _data.VisitorId + "'");
|
|
}
|
|
|
|
OpenApi api = OpenApiUtils.Instance.NextApi(ApiType.Business);
|
|
SortedList<string, string> 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<string>();
|
|
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<EntityResponse<UploadVisitorResult>>(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<EntityResponse<UploadVisitorResult>>(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();
|
|
}
|
|
}
|
|
}
|