tx
2025-04-09 fa7510e1ed63df0366787fa4ed1b3db6426d2b46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using TProduct.Model;
 
namespace TProduct.WinFrmUI.Data4Factory
{
    public partial class EditProductValveDlg : DevExpress.XtraEditors.XtraForm
    {
        public EditProductValveDlg()
        {
            InitializeComponent();
            this.Text = "编辑阀门信息";
            selectProductSeriesCtrl1.SetProductType(eProductType.Valve);
            this.simpleBtnOK.SetConfirmButtonColor();
            this.simpleBtnCancel.SetCancelButtonColor();
        }
        private bool _isUpdatePart = false;
        private Model.ProductMainExValve _modelValve = null;
        //回调
        public event Action<Model.ProductMainExValve, bool> ReloadDataEvent;
        public void SetBindingData(Model.ProductMainExValve obj)
        {
            _modelValve = new Model.ProductMainExValve(obj);
            this.selectProductSeriesCtrl1.SetBindingData(obj.SeriesID);
            this.partBaseCtrl1.SetBindingData(obj.ID);
            this.TextEditCode.EditValue = _modelValve.Code;
            this.TextEditName.EditValue = _modelValve.Name;
            this.TextEditDia.EditValue = _modelValve.Dia;
            this.spinEditSortCode.EditValue = _modelValve.SortCode;
        }
        /// <summary>
        /// 验证
        /// </summary> 
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (string.IsNullOrEmpty(this.TextEditName.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.TextEditName, "必填项");
                return false;
            }
            if (string.IsNullOrEmpty(this.TextEditCode.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.TextEditCode, "必填项");
                return false;
            }
            if (string.IsNullOrEmpty(this.TextEditDia.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.TextEditDia, "必填项");
                return false;
            }
            if (_modelValve.SeriesID < 1)
            {
                XtraMessageBox.Show("您必须选择一个系列");
                return false;
            }
            return true;
 
        }
 
        private void simpleBtnOK_Click(object sender, EventArgs e)
        {
            if (!Valid())
                return;
            double dia = 0;
            if (!double.TryParse(this.TextEditDia.Text.Trim(), out dia))
            {
                XtraMessageBox.Show("请输入口径");
                return;
            }
 
            var series = this.selectProductSeriesCtrl1.SelectProductSeries;
            if (series != null)
                _modelValve.SeriesID = series.ID;
            else
                return;
 
            _modelValve.Name = this.TextEditName.Text.Trim();
            _modelValve.Dia = dia;
            _modelValve.SortCode = Convert.ToInt32(this.spinEditSortCode.EditValue);
            _modelValve.UpdateUserID = TProduct.WinFrmUI.GlobeParas.CurrentLoginUser.ID;
            _modelValve.UpdateTime = DateTime.Now;
 
            _isUpdatePart = this.partBaseCtrl1.IsUpdate;
            var partlist = this.partBaseCtrl1.GetAllPartList();
            if (partlist != null && partlist.Count > 0)
            {
                var partbll = new BLL.PartBase();
                var AddpartList = new List<Model.PartBase>();
                foreach (var item in partlist)
                {
                    if (item.ID < 1)
                    {
                        item.ProductMainID = _modelValve.ID;
                        AddpartList.Add(item);
                    }
                }
                if (AddpartList != null && AddpartList.Count > 0)
                    partbll.Inserts(AddpartList);
                _isUpdatePart = true;
            }
 
            var bll = new BLL.ProductValve();
            if (!bll.UpdateEx(_modelValve))
            {
                XtraMessageBox.Show("修改失败!");
                return;
            }
            this.ReloadDataEvent?.Invoke(_modelValve, _isUpdatePart);
 
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
 
        private void selectProductSeriesCtrl1_FocusedDataChangedEvent(ProductSeries obj)
        {
            if (obj == null)
                return;
            _modelValve.SeriesID = obj.ID;
        }
 
        private void EditProductValveDlg_Activated(object sender, EventArgs e)
        {
            this.TextEditName.Focus();
        }
    }
}