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 WMS.Frm.Base;
using WMS.Base.WebService;
using WMS.Model.Base;
using WMS.Common;
using System.Text.RegularExpressions;
using WMS.Ctrl;
namespace WMS.FrmBaseData
{
public partial class FrmAddressArea : FormBase
{
#region 变量声明
///
///
///
public List list;
///
/// 实体
///
public AddressAreaModel model;
///
/// 操作标志 0 新增 ,1 修改
///
public int flg = 0;
///
/// 所选择节点
///
public DevExpress.XtraTreeList.Nodes.TreeListNode tr = null;
#endregion
public FrmAddressArea()
{
InitializeComponent();
}
#region 窗体加载
///
/// 窗体加载
///
///
///
private void FrmAddressArea_Load(object sender, EventArgs e)
{
FrmSelectModle = new AddressAreaModel();
//绑定数据
BindData();
LockControl(true);
}
#endregion
#region 通用查询
///
/// 通用查询
///
///
public override void LoadListData(DataTable table)
{
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 30);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("数据查询中,请等待...");
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
list = ConvertHelper.ConvertToList(table);
BSAddressArea.DataSource = list;
this.BSAddressArea.DataSource = list;
tr_AddressArea.DataSource = list;
tr_AddressArea.ExpandAll();
tr_AddressArea.RefreshDataSource();
}
#endregion
#region 绑定数据
///
/// 绑定数据
///
public void BindData()
{
model = new AddressAreaModel();
string str = Newtonsoft.Json.JsonConvert.SerializeObject(model);
string strResult = WebLockConfig.Instance.WebAddressArea.GetAddressArea(str);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strResult);
tr_AddressArea.DataSource = list;
this.tr_AddressArea.Nodes[1].Expanded = false;
}
#endregion
#region 焦点变化
///
/// treelist焦点变化
///
///
///
private void tr_AddressArea_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
if (e.Node != null)
{
model = new AddressAreaModel();
model.Add_id = e.Node.GetValue("Add_id").ToString();//获得当前选中主键以此获得实体
string strlist = WebLockConfig.Instance.WebAddressArea.GetAddressArea(Newtonsoft.Json.JsonConvert.SerializeObject(model));
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlist);
model = list[0];
Mod();
LockControl(true);
}
}
#endregion
#region model 传值
///
/// 当前所选节点的实体赋给textbox
///
public void Mod()
{
txt_addID.Text = model.Add_id;
txt_addName.Text = model.Add_name;
txt_remark.Text = model.Remark;
}
#endregion
#region 锁定控件可操作
///
/// 锁定控件可操作 true 锁定 false 解锁
///
///
public void LockControl(bool bol)
{
txt_addID.Enabled = !bol;
txt_addName.Enabled = !bol;
txt_remark.Enabled = !bol;
}
#endregion
#region 按钮事件
#region 添加按钮
///
/// 添加按钮
///
public void Add()
{
flg = 0;//更改工作标志
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = true;
}
LockControl(false);
txt_addID.Text = "";
txt_addName.Text = "";
txt_remark.Text = "";
txt_addID.Focus();
}
#endregion
#region 删除
///
/// 删除
///
public void Del()
{
string delid = tr_AddressArea.FocusedNode.GetValue("Add_id").ToString();
if (delid == "")
{
SystemCommon.ShowErrorMessageBox("请选择要删除的节点!");
}
if (SystemCommon.ShowMessageBoxResult("确定删除此信息") == DialogResult.Yes)
{
model = new AddressAreaModel();
model.Add_pid = delid;
string strmodel = Newtonsoft.Json.JsonConvert.SerializeObject(model);
string strlist = WebLockConfig.Instance.WebAddressArea.GetAddressArea(strmodel);
list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strlist);
if (list.Count > 0)
{
SystemCommon.ShowErrorMessageBox("此节点还有下级节点无法删除!");
return;
}
int count = WebLockConfig.Instance.WebAddressArea.execAddressAreaDel(delid);
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
BindData();
LockControl(true);
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
}
#endregion
#region 刷新按钮
///
/// 刷新按钮
///
public void Refresh()
{
BindData();
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = false;
}
}
#endregion
#region 编辑按钮
///
/// 编辑按钮
///
public void Edit()
{
tr = tr_AddressArea.FocusedNode;
flg = 1;//更改工作标志
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = true;
}
LockControl(false);
Mod();
txt_addID.Enabled = false;
txt_addID.Properties.ReadOnly = true;
txt_addName.SelectAll();
txt_addName.Focus();
}
#endregion
#region 确认按钮
///
/// 确认按钮
///
public void Confirm()
{
if (txt_addName.Enabled == false)
{
SystemCommon.ShowErrorMessageBox("请选择新增或编辑操作!");
return;
}
if (txt_addID.Text.Trim() == "")
{
SystemCommon.ShowErrorMessageBox("编号不能为空!");
txt_addID.Focus();
return;
}
if (txt_addName.Text.Trim() == "")
{
SystemCommon.ShowErrorMessageBox("名称不能为空!");
txt_addName.Focus();
return;
}
Regex reg = new Regex(@"^([a-z]|[A-Z]|[0-9])+$");
if (!reg.IsMatch(this.txt_addID.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("编号只能输入字母或数字!");
this.txt_addID.Focus();
this.txt_addID.SelectAll();
return;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Confirm"))
{
frmButtonItem["Confirm"].Enabled = false;
}
if (flg == 0)//新增判断所输入编号数据库是否存在
{
AddressAreaModel _mo = new AddressAreaModel();
_mo.Add_id = txt_addID.Text.Trim();
List _list = new List();
try
{
string str_model = Newtonsoft.Json.JsonConvert.SerializeObject(_mo);
string str_list_model = WebLockConfig.Instance.WebAddressArea.GetAddressArea(str_model);
_list = Newtonsoft.Json.JsonConvert.DeserializeObject>(str_list_model); ;
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("网络连接错误!");
return;
}
if (_list.Count > 0)
{
SystemCommon.ShowErrorMessageBox("该编号已经存在!请重新输入");
txt_addID.SelectAll();
txt_addID.Focus();
return;
}
}
model.Add_id = txt_addID.Text.Trim();
model.Add_name = txt_addName.Text.Trim();
model.Remark = txt_remark.Text.Trim();
string strmodel = Newtonsoft.Json.JsonConvert.SerializeObject(model);
int count = WebLockConfig.Instance.WebAddressArea.execAddressAreaAddUpdate(strmodel, flg);
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
LockControl(true);
BindData();
if (tr != null)
{
tr_AddressArea.FocusedNode = tr;
}
}
else
SystemCommon.ShowInfoMessageBox("操作失败!");
}
#endregion
#region 导入
///
/// 导入
///
public void Import()
{
}
#endregion
#region 导出
///
/// 导出
///
public void Export()
{
SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
this.tr_AddressArea.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
#region 保存导入
///
/// 保存导入
///
public void SaveImport()
{
}
#endregion
#endregion
}
}