取消挂接、删除小班方法

  //取消挂接方法
        public bool WayCancelConnect(IDataForm dataForm)
        {
            bool res = false;
            if (dataForm == null) return res;
            //获取选择的小班RowBase
            GridControlClass gridControlXBFfoster = dataForm.GetControl("GridControl_YZL_PY_FUYUXB") as GridControlClass;
            if (gridControlXBFfoster == null) return res;

            string strXBFoster = "";

            try
            {
                //获取抚林小班过滤条件
                List<RowBase> lstRBFosterGrid = gridControlXBFfoster.DataSource as List<RowBase>;
                if (lstRBFosterGrid != null && lstRBFosterGrid.Count > 0)
                {
                    foreach (var item in lstRBFosterGrid)
                    {
                        bool select = item.GetValue<bool>("SHOWCHECKBOX");
                        int sfbg = item.GetValue<int>("SFBG");
                        if (select && sfbg == 3)
                        {
                            string temp = item.GetValue<string>("XBWYBH");
                            if (temp == null) continue;
                            strXBFoster += "'" + temp + "',";
                        }
                    }
                }
                if (!string.IsNullOrWhiteSpace(strXBFoster))
                    strXBFoster = strXBFoster.Substring(0, strXBFoster.Length - 1);
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(ex.Message);
            }
            //挂接抚林小班;
            try
            {
                if (!string.IsNullOrWhiteSpace(strXBFoster))
                {
                    string sqlUpdateCreate = string.Format("UPDATE {0} SET BGJLBH='{1}',SFBG=1 WHERE XBWYBH in ({2})", TableDeclare.PY_FUYUXB, "", strXBFoster);
                    ForeStar.Data.Metadata.MetadataWorkspaceFactory.OpenMetadataWorkspace().OpenTable(TableDeclare.PY_FUYUXB).Table.Workspace.ExecuteSql(sqlUpdateCreate, new GlobalParameter("", null));
                }
                if (!string.IsNullOrWhiteSpace(strXBFoster))
                    res = true;
            }

            catch (Exception ex)
            {
                LogManage.WriteLog(ex.Message);
                res = false;
            }
            return res;
        }

        //删除小班和挂接方法
        public bool WayDeleteConnectAndXB(GridControlClass gridControlXBFfoster)
        {
            QueryFilter deleteFilter = new QueryFilter();
            string codeChange = "";
            List<RowBase> lstRBFosterGrid = gridControlXBFfoster.DataSource as List<RowBase>;
            if (lstRBFosterGrid != null && lstRBFosterGrid.Count > 0)
            {
                foreach (var item in lstRBFosterGrid)
                {
                    bool select = item.GetValue<bool>("SHOWCHECKBOX");
                    if (select)
                    {
                        string temp = item.GetValue<string>("XBWYBH");
                        if (temp == null) continue;
                        codeChange += "'" + temp + "',";
                    }
                }
            }
            if (!string.IsNullOrWhiteSpace(codeChange))
                codeChange = codeChange.Substring(0, codeChange.Length - 1);
            else return false;
            deleteFilter.WhereString = string.Format("XBWYBH in ({0}) and SFBG=2", codeChange);
            ITable tbFUYUXB = ForeStar.Data.Metadata.MetadataWorkspaceClass.GetMetadataWorkspace.OpenTable(TableDeclare.PY_FUYUXB).Table;
            IFeatureClass pFeaCls = tbFUYUXB as IFeatureClass;
            IMZDatasetVector dv = pFeaCls.InnerObject as IMZDatasetVector;
            if (dv == null) return false;
            List<RowBase> lstRowXB = tbFUYUXB.GetEntityList<RowBase>(deleteFilter);

            if (lstRowXB == null || lstRowXB.Count == 0) return false;
            try
            {
                foreach (RowBase item in lstRowXB)
                {
                    int I_Pk_UID = item.GetValue<Int32>("PK_UID");
                    dv.DeleteFeature(I_Pk_UID);
                }
                return true;
            }
            catch (Exception ex)
            {
                LogManage.WriteLog(ex.ToString());
                return false;
            }
        }

你可能感兴趣的:(C#)