using ICSharpCode.Core; using Mesnac.Action.ChemicalWeighing.Entity; using Mesnac.Action.ChemicalWeighing.Technical.PmtRecipe.entity; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Mesnac.Action.ChemicalWeighing.MaterialManage { public partial class FrmMaterial : Form { #region 字段定义 private ActionType _actionType = ActionType.Add; //操作类型,0-为添加,1-为修改 private Base_MaterialInfo _material = null; //物料对象 #endregion public FrmMaterial() { InitializeComponent(); } /// /// 新增物料窗体的构造方法 /// /// 操作类型 0为新增 public FrmMaterial(ActionType actionType) { InitializeComponent(); this._actionType = actionType; } /// /// 修改物料信息的构造方法 /// /// 操作类型,1-为修改 /// 用户信息传入的 public FrmMaterial(ActionType actionType, Base_MaterialInfo material) { InitializeComponent(); this._actionType = actionType; this._material = material; } /// /// 物料信息 /// public Base_MaterialInfo Material { get { return this._material; } } private void FrmMaterial_Load(object sender, EventArgs e) { this.InitUI(); this.InitData(); } /// /// 初始化界面文本 /// public void InitUI() { if (this._actionType == ActionType.Add) { this.Text = StringParser.Parse(ResourceService.GetString("Menac_Action_ChemicalWeighing_MaterialManage_FrmMaterial_Text_Add")); //添加物料 } else if (this._actionType == ActionType.Modify) { this.Text = StringParser.Parse(ResourceService.GetString("Menac_Action_ChemicalWeighing_MaterialManage_FrmMaterial_Text_Modify")); //修改物料信息 } this.label1.Text = StringParser.Parse(ResourceService.GetString("Menac_Action_ChemicalWeighing_MaterialManage_FrmMaterial_label1_Text")); //物料名称: this.label2.Text = StringParser.Parse(ResourceService.GetString("Menac_Action_ChemicalWeighing_MaterialManage_FrmMaterial_label2_Text")); //物料编码: } /// /// 数据初始化 /// public void InitData() { //当操作类型为修改时,将选中行的数据填入到修改窗体的对应控件中 if (this._actionType == ActionType.Modify) { this.MNameTB.Text = _material.materialName; this.MCodeTB.Text = _material.materialId; } } private void btnOK_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(MNameTB.Text)) { MessageBox.Show("物料名不能为空!!"); this.MNameTB.Focus(); return; } if (string.IsNullOrEmpty(MCodeTB.Text)) { MessageBox.Show("物料编码不能为空!!"); this.MCodeTB.Focus(); return; } //创建对象 Base_MaterialInfo material = new Base_MaterialInfo { materialName = MNameTB.Text, materialId = MCodeTB.Text }; //获取包含所有物料对象的集合 List list = MaterialHelper.getMaterialList(); //当新增物料时 //当修改物料时 且物料名、编码都修改了 物料名和编码唯一性都需要验证 if (_actionType == ActionType.Add || (_actionType == ActionType.Modify && (_material.materialName != material.materialName && _material.materialId != material.materialId))) { //物料名唯一性验证 if (list.Exists(m => m.materialName == material.materialName)) { MessageBox.Show("物料名已存在!!请更换物料名!!"); return; } //物料编码唯一性验证 if (list.Exists(u => u.materialId == material.materialId)) { MessageBox.Show("物料编码已存在!!请更换物料编码!!"); return; } } //修改物料时 只修改了物料名 if(_actionType == ActionType.Modify && (_material.materialName != material.materialName && _material.materialId == material.materialId)) { //物料名唯一性验证 if (list.Exists(m => m.materialName == material.materialName)) { MessageBox.Show("物料名已存在!!请更换物料名!!"); return; } } //修改物料时 只修改了物料编码 if (_actionType == ActionType.Modify && (_material.materialName == material.materialName && _material.materialId != material.materialId)) { //物料编码唯一性验证 if (list.Exists(u => u.materialId == material.materialId)) { MessageBox.Show("物料编码已存在!!请更换物料编码!!"); return; } } this._material = material; this.DialogResult = System.Windows.Forms.DialogResult.OK; } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } } }