Exemplo n.º 1
0
        void Save()
        {
            string skillCode = this.ucSkill.txtSkillCode.Text.Trim();
            string nSkillId  = this.ucSkill.txtSKillId.Text.Trim();

            if (string.IsNullOrEmpty(skillCode))
            {
                SharedLogic.ShowMessage("技能Code不可为空");
                return;
            }
            var rows = _bindData.Select(SkillItemData.COLSkillCode + "='" + skillCode + "'");

            if (skillCode != this._editCode && null != rows && rows.Length > 0)
            {
                SharedLogic.ShowMessage("该技能Code已存在");
                this.ucSkill.txtSkillCode.Focus();
                return;
            }
            rows = _bindData.Select(SkillItemData.COLSkillId + "='" + nSkillId.TrimStart('0') + "'");
            if (null != rows)
            {
                foreach (var dr in rows)
                {
                    if (dr[SkillItemData.COLSkillCode].ToString() != _editCode)
                    {
                        SharedLogic.ShowMessage("该技能Id已存在");
                        this.ucSkill.txtSKillId.Focus();
                        return;
                    }
                }
            }
            var nXml = this.ucSkill.GetValue();

            if (null == nXml)
            {
                SharedLogic.ShowMessage("构造XML失败");
                return;
            }
            this._editXml.RemoveAll();
            this._editXml.Add(nXml.Attributes());
            this._editXml.Add(nXml.Nodes());
            var obj = new SkillItemData();

            SharedLogic.TryGetBindSkillItem(nXml, obj);
            if (this.OpState != OperationState.Edit)
            {
                this._rootXml.Add(this._editXml);
                this._bindData.Rows.Add(obj.Values);
                if (this.OpState == OperationState.New)
                {
                    this.OpState   = OperationState.Edit;
                    this._editCode = skillCode;
                }
                else if (this.OpState == OperationState.Renew || this.OpState == OperationState.CopyNew)
                {
                    this._editXml = new XElement(SharedLogic.KEYSkill);
                    this.ucSkill.txtSkillCode.Text = "";
                    this.ucSkill.txtSkillCode.Focus();
                }
                this._bindData.TableName = skillCode;
            }
            else
            {
                var editRows = _bindData.Select(SkillItemData.COLSkillCode + "='" + this._editCode + "'");
                if (null == editRows || editRows.Length == 0)
                {
                    SharedLogic.ShowMessage("未找到编辑的行");
                    return;
                }
                editRows[0][SkillItemData.COLSkillId]      = obj.SkillId;
                editRows[0][SkillItemData.COLSkillName]    = obj.SkillName;
                editRows[0][SkillItemData.COLSkillSrcType] = obj.SkillType;
                editRows[0][SkillItemData.COLModelId]      = obj.ModelId;
                editRows[0][SkillItemData.COLOpenClipId]   = obj.OpenClipId;
                editRows[0][SkillItemData.COLClipId]       = obj.ClipId;
                editRows[0][SkillItemData.COLMemo]         = obj.Memo;
            }
            this._bindData.AcceptChanges();
            SharedLogic.ShowMessage("保存成功");
        }