private void Save()
        {
            txtName.Focus();
            Atend.Base.Equipment.ESelfKeeper selfKeeper = new Atend.Base.Equipment.ESelfKeeper();
            selfKeeper.Alastisity = Convert.ToDouble(txtAlsticity.Text);
            selfKeeper.Alpha      = Convert.ToDouble(txtAlpha.Text);

            selfKeeper.CrossSectionAreaConductor = Convert.ToDouble(txtCrossSectionArea.Text);

            selfKeeper.CrossSectionKeeper    = Convert.ToDouble(txtCrossSectionSelfKeeper.Text);;
            selfKeeper.Diagonal              = Convert.ToDouble(txtDiagonal.Text);
            selfKeeper.NamedVoltage          = Convert.ToDouble(txtNamedVoltage.Text);
            selfKeeper.MaterialConductorCode = Convert.ToInt32(cboMaterialConductor.SelectedValue);
            selfKeeper.MaterialDamperCode    = Convert.ToInt32(cboMaterialInsulator.SelectedValue);
            selfKeeper.MaxCurrent            = Convert.ToDouble(txtMaxCurrent.Text);
            selfKeeper.ProductCode           = Atend.Control.Common.selectedProductCode;
            selfKeeper.Reactance             = Convert.ToDouble(txtReactance.Text);
            selfKeeper.Resistance            = Convert.ToDouble(txtResistance.Text);
            selfKeeper.UTS               = Convert.ToDouble(txtUTS.Text);
            selfKeeper.Weight            = Convert.ToDouble(txtWC.Text);
            selfKeeper.GMR               = Convert.ToDouble(txtGMR.Text);
            selfKeeper.Weight            = Convert.ToDouble(txtWC.Text);
            selfKeeper.Comment           = txtComment.Text;
            selfKeeper.Name              = txtName.Text;
            selfKeeper.Capacitance       = Convert.ToDouble(txtCapacitance.Text);
            selfKeeper.IsDefault         = IsDefault;
            selfKeeper.MaxCurrent1Second = Convert.ToDouble(txtMaxCurrent1Second.Text);
            selfKeeper.Code              = Code;

            //Equipment
            ArrayList EPackageProduct = new ArrayList();

            for (int j = 0; j < gvSelectedEquipment.Rows.Count; j++)
            {
                Atend.Base.Equipment.EProductPackage _EProductPackage = new Atend.Base.Equipment.EProductPackage();
                _EProductPackage.XCode     = new Guid(gvSelectedEquipment.Rows[j].Cells[0].Value.ToString());
                _EProductPackage.Count     = Convert.ToInt32(gvSelectedEquipment.Rows[j].Cells[2].Value.ToString());
                _EProductPackage.TableType = Convert.ToInt16(gvSelectedEquipment.Rows[j].Cells[3].Value.ToString());
                EPackageProduct.Add(_EProductPackage);
            }
            selfKeeper.EquipmentList = EPackageProduct;

            //Operation
            ArrayList EOperation = new ArrayList();

            for (int i = 0; i < gvOperation.Rows.Count; i++)
            {
                Atend.Base.Equipment.EOperation _EOperation = new Atend.Base.Equipment.EOperation();
                _EOperation.ProductID = Convert.ToInt32(gvOperation.Rows[i].Cells[0].Value);
                _EOperation.Count     = Convert.ToDouble(gvOperation.Rows[i].Cells[3].Value);
                EOperation.Add(_EOperation);
            }
            selfKeeper.OperationList = EOperation;
            if (SelectConductor == Guid.Empty)
            {
                if (selfKeeper.InsertX())
                {
                    Reset();
                }
                else
                {
                    MessageBox.Show("امکان ثبت اطلاعات نمی باشد", "خطا");
                }
            }
            else
            {
                selfKeeper.XCode = SelectConductor;
                if (selfKeeper.UpdateX())
                {
                    Reset();
                }
                else
                {
                    MessageBox.Show("امکان به روز رسانی اطلاعات نمی باشد", "خطا");
                }
            }
        }