// // GET: /Setup/ public ActionResult Index() { ClsStatic.ValidateReferral(); ViewBag.Message = TempData["Message"]; ViewBag.IsPopup = TempData["IsPopup"]; //List<sPlsSVQHeaders_Result> rslt = con.sPlsSVQHeaders("s", null, null, null, null, null, null, User.Identity.Name).ToList(); return(View()); }
public ActionResult Delete(int?id) { ClsStatic.ValidateReferral(); dPlsUsers_Result rslt = con.dPlsUsers("d", id, null, null, null, null, null, null, null, User.Identity.Name).FirstOrDefault(); TempData["Message"] = rslt.Message; TempData["IsPopup"] = "y"; return(RedirectToAction("Index", "Users")); }
public ActionResult Questions(int?Id) { ClsStatic.ValidateReferral(); ViewBag.Message = TempData["Message"]; ViewBag.IsPopup = TempData["IsPopup"]; List <sPlsSVQQuestions_Result> rslt = con.sPlsSVQQuestions("s", null, Id, null, null, null, null, null, null, User.Identity.Name).ToList(); return(View(rslt)); }
// // GET: /Setup/ public ActionResult Index(int?Id) { // Id = Project Id ClsStatic.ValidateReferral(); ViewBag.Message = TempData["Message"]; ViewBag.IsPopup = TempData["IsPopup"]; List <sPlsSVQSections_Result> rslt = con.sPlsSVQSections("s", null, Id, null, null, null, null, User.Identity.Name).ToList(); //ViewBag.ProjectId = rslt.FirstOrDefault().Id_SVQ_Headers; ViewBag.ProjectId = Id; return(View(rslt)); }
public ActionResult ChangePassword(int?id) { ClsStatic.ValidateReferral(); string UserName = null; PasswordModel model = new PasswordModel(); if (id == null) { UserName = User.Identity.Name; } sPlsUsers_Result rslt = con.sPlsUsers("s", id, UserName, null, null, null, null, null, null, User.Identity.Name).FirstOrDefault(); model.UserName = rslt.UserName; return(View(model)); }
public ActionResult Edit(int?Id) { ClsStatic.ValidateReferral(); sPlsUsers_Result rslt = con.sPlsUsers("s", Id, null, null, null, null, null, null, null, User.Identity.Name).ToList().FirstOrDefault(); UsersModels model = new UsersModels(); model.UserId = rslt.UserId; model.UserName = rslt.UserName; model.FullName = rslt.FullName; model.Email = rslt.EmailAddress; model.MobileNo = rslt.MobileNumber; model.Status = rslt.Status; return(View(model)); }
/// <summary> /// 浏览待匹配图层 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonXBrowserTarlayer_Click(object sender, EventArgs e) { string targetFeatureclassPath = null; ZJGISOpenData.Forms.FrmOpenData frmOpenData = new ZJGISOpenData.Forms.FrmOpenData(); if (frmOpenData.ShowDialog() == DialogResult.Cancel) { return; } //sourceFeatureclass = ClsUpdateCommon.OpenSourceLayer(out sourceFeatureclassPath); Collection <object> featClsCol = new Collection <object>(); featClsCol = frmOpenData.FeatClsCollection; if (featClsCol.Count == 1) { targetFeatureClass = featClsCol[0] as IFeatureClass; } else { MessageBoxEx.Show("请加载数据源", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } targetFeatureClassName = targetFeatureClass.AliasName; targetFeatureclassPath = frmOpenData.PathName + @"\" + targetFeatureClass.AliasName; if (string.IsNullOrEmpty(targetFeatureclassPath)) { return; } IDataset pDataset = targetFeatureClass as IDataset; textBoxXTargetLayer.Text = targetFeatureclassPath; //20170515注释掉 //targeFeatureWorkspace = ClsDBInfo.SdeWorkspace as IFeatureWorkspace; FileGDBWorkspaceFactoryClass fac = new FileGDBWorkspaceFactoryClass(); targeFeatureWorkspace = (IFeatureWorkspace)fac.OpenFromFile(frmOpenData.PathName, 0); //targetFeatureClass = targeFeatureWorkspace.OpenFeatureClass(targetFeatureClassName); //targetFields = ClsUpdateCommon.GetAttribute(targetFeatureClass); wizardPage1.NextButtonEnabled = eWizardButtonState.True; targetFields = ClsStatic.GetAttribute(targetFeatureClass); }
public ActionResult Edit(int?Id, int?ProjectId) { ClsStatic.ValidateReferral(); sPlsSVQSections_Result rslt = con.sPlsSVQSections("s", Id, ProjectId, null, null, null, null, User.Identity.Name).FirstOrDefault(); SectionModels model = new SectionModels(); model.SectionId = rslt.Id; model.HeaderId = rslt.Id_SVQ_Headers; model.Section_Name = rslt.Section_Name; model.Section_Title = rslt.Section_Title; model.Section_Instructions = rslt.Section_Instructions; model.Is_Required_Section = rslt.Is_Required_Section; return(View(model)); }
public ActionResult IntvSession(InterviewModels m) { ClsStatic.ValidateReferral(); // Summary of Project disaply // section name with total number of questions List <sPlsInterviewQuestions_Result> rslt; if (m.Session_Id == null) { rslt = con.sPlsInterviewQuestions("s", m.ProjectId, m.Participant_Id, m.Session_Id, m.Section_id, m.Id_SVQ_Questions, m.Id_Option_Groups_Choices, m.Measurement_Unit, User.Identity.Name).ToList(); } else { rslt = con.sPlsInterviewQuestions("i", m.ProjectId, m.Participant_Id, m.Session_Id, m.Section_id, m.Id_SVQ_Questions, m.Id_Option_Groups_Choices, m.Measurement_Unit, User.Identity.Name).ToList(); } sPlsInterviewQuestions_Result rslt_row = rslt.FirstOrDefault(); InterviewModels model = new InterviewModels(); model.TblRecord = rslt; model.Section_id = rslt_row.Id_SVQ_Sections.ToString(); model.Id_SVQ_Questions = rslt_row.Id_SVQ_Questions; model.Session_Id = rslt_row.Session_Id; model.Id_Option_Groups = rslt_row.Id_Option_Groups; model.Measurement_Unit = rslt_row.Measurement_Unit; //m.Section_Name = rslt.Section_Name; //m.Section_Title = rslt.Section_Title; //m.Section_Instructions = rslt.Section_Instructions; //m.Question_Name = rslt.Question_Name; //m.Question_Subtext = rslt.Question_Subtext; //m.Question_Code = rslt.Question_Code; return(View(model)); }
public ActionResult Edit(int?Id) { ClsStatic.ValidateReferral(); sPlsSVQQuestions_Result rslt = con.sPlsSVQQuestions("s", Id, null, null, null, null, null, null, null, User.Identity.Name).ToList().FirstOrDefault(); QuestionModels model = new QuestionModels(); model.QuestionId = rslt.Id; model.SectionId = rslt.Id_SVQ_Sections; model.Question_Name = rslt.Question_Name; model.Question_Subtext = rslt.Question_Subtext; model.Question_Code = rslt.Question_Code; model.Measurement_Unit = rslt.Measurement_Unit.ToString(); model.Id_Option_Categories = rslt.Id_Option_Groups; model.Id_Input_Types = rslt.Id_Input_Types; return(View(model)); }
public ActionResult Edit(int?Id) { ClsStatic.ValidateReferral(); sPlsParticipants_Result rslt = con.sPlsParticipants("s", Id, null, null, null, null, null, null, null, null, User.Identity.Name).ToList().FirstOrDefault(); ParticipantsModels model = new ParticipantsModels(); model.Id = rslt.Id; model.Participant_Id = rslt.ParticipantId; model.First_Name = rslt.First_Name; model.Last_Name = rslt.Last_Name; model.Address = rslt.Address; model.Ward_No = rslt.Ward_No; model.Contact_Number = rslt.Contact_Number; model.Consent_Obtained = rslt.Consent_Obtained; model.Interview_Language = rslt.Interview_Language; return(View(model)); }
public ActionResult Index(InterviewModels model) { ClsStatic.ValidateReferral(); ViewBag.Message = TempData["Message"]; ViewBag.IsPopup = TempData["IsPopup"]; int ProjectId = model.ProjectId; sPlsParticipants_Result rslt = con.sPlsParticipants("s", null, model.Participant_Id, null, null, null, null, null, null, null, User.Identity.Name).ToList().FirstOrDefault(); if (rslt != null) { model.ProjectId = ProjectId; model.Participant_Id = rslt.ParticipantId; model.First_Name = rslt.First_Name; model.Last_Name = rslt.Last_Name; model.Address = rslt.Address; model.Ward_No = rslt.Ward_No; } return(View(model)); }
public ActionResult Delete(int Id, int?ProjectId) { int SectionId = Id; ClsStatic.ValidateReferral(); try { dPlsSVQSections_Result rslt = con.dPlsSVQSections("d", SectionId, ProjectId, null, null, null, null, User.Identity.Name).FirstOrDefault(); TempData["Message"] = rslt.Message; TempData["IsPopup"] = "y"; return(RedirectToAction("Index", "Sections", new { Id = ProjectId })); } catch { } return(View()); }
public ActionResult Delete(int?id, int?SectionId) { ClsStatic.ValidateReferral(); try { dPlsSVQQuestions_Result rslt = con.dPlsSVQQuestions("d", id, SectionId, null, null, null, null, null, null, User.Identity.Name).FirstOrDefault(); if (rslt.Code == "000") { TempData["Message"] = rslt.Message; TempData["IsPopup"] = "y"; return(RedirectToAction("Index", "Questions", new { Id = SectionId })); } } catch { ModelState.AddModelError("", "Techinical Error Occurred While Processing Your Request"); } return(View()); }
/// <summary> /// 浏览源图层 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonXBrowseLayer_Click(object sender, EventArgs e) { string sourceFeatureclassPath = null; ZJGISOpenData.Forms.FrmOpenData frmOpenData = new ZJGISOpenData.Forms.FrmOpenData(); if (frmOpenData.ShowDialog() == DialogResult.Cancel) { return; } //sourceFeatureclass = ClsUpdateCommon.OpenSourceLayer(out sourceFeatureclassPath); Collection <object> featClsCol = new Collection <object>(); featClsCol = frmOpenData.FeatClsCollection; if (featClsCol.Count == 1) { sourceFeatureclass = featClsCol[0] as IFeatureClass; } else { MessageBoxEx.Show("请加载数据源", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } sourceFeatureclassPath = frmOpenData.PathName + @"\" + sourceFeatureclass.AliasName; if (string.IsNullOrEmpty(sourceFeatureclassPath)) { return; } IDataset pDataset = sourceFeatureclass as IDataset; textBoxXLayerPath.Text = sourceFeatureclassPath; wizardPage1.NextButtonEnabled = eWizardButtonState.True; sourceFields = ClsStatic.GetAttribute(sourceFeatureclass); }
//private static IFeatureWorkspace m_FeatureWorkspace; /// <summary> /// 数据编码(自动赋值编码) /// </summary> /// <param name="source">源要素类</param> /// <param name="target">目标要素类</param> /// <param name="relation">匹配结果表</param> /// <param name="updateRela">欲更新的属性表字段</param> /// <param name="pProgressBarX"></param> /// <param name="targetFeatureWorkspace">待匹配图层路径</param> /// <returns></returns> //public static bool UpdateData(IFeatureClass sourceFcls, IFeatureClass targetFcls, ITable resultTable, Dictionary<string, string> updateRela // , ProgressBarX pProgressBarX, IFeatureWorkspace targetFeatureWorkspace) public static bool UpdateData(IFeatureClass sourceFcls, IFeatureClass targetFcls, ITable resultTable, ProgressBarX pProgressBarX, IFeatureWorkspace targetFeatureWorkspace) { ClsBarSync progressBar = new ClsBarSync(pProgressBarX); progressBar.SetStep(1); progressBar.SetMax(resultTable.RowCount(null)); //检查参数 if (sourceFcls == null || targetFcls == null || resultTable == null) { return(false); } #region 原注释 //当欲更新字段在目标要素类中不存在时,新建字段 //foreach (string item in fields) //{ // if (target.FindField(item) == -1) // { // IField addedField = source.Fields.get_Field(source.FindField(item)); // target.AddField(addedField); // } //} #endregion //20170914 注释掉 ////当欲更新字段在目标要素类中不存在时,新建字段 //foreach (KeyValuePair<string, string> item in updateRela) //{ // if (targetFcls.FindField(item.Value) == -1) // { // IField addedField = new FieldClass(); // IFieldEdit pFieldEdit = addedField as IFieldEdit; // pFieldEdit.Name_2 = item.Value; // pFieldEdit.AliasName_2 = item.Value; // pFieldEdit.Editable_2 = true; // pFieldEdit.Required_2 = false; // pFieldEdit.IsNullable_2 = true; // targetFcls.AddField(addedField); // } //} IWorkspaceEdit2 pWorkspaceEdit = targetFeatureWorkspace as IWorkspaceEdit2; pWorkspaceEdit.StartEditing(false); pWorkspaceEdit.StartEditOperation(); #region 20170515注释掉 //ClsUpdateCommon.EnableAchive(target.AliasName, targetFeatureWorkspace); //IHistoricalWorkspace pHistoricalWorkspace = targetFeatureWorkspace as IHistoricalWorkspace; //DateTime dTime=DateTime.Now; //pHistoricalWorkspace.AddHistoricalMarker(dTime.ToString(), dTime);//严格应该为数据库时间 #endregion #region 原来注释 //foreach (KeyValuePair<string, string> item in updateRela) //{ // if (target.FindField(item.Value) == -1) // { // IField addedField = new FieldClass(); // IFieldEdit pFieldEdit = addedField as IFieldEdit; // pFieldEdit.Name_2 = item.Value; // pFieldEdit.AliasName_2 = item.Value; // pFieldEdit.Editable_2 = true; // pFieldEdit.Required_2 = false; // pFieldEdit.IsNullable_2 = true; // target.AddField(addedField); // } //} #endregion //源图层要素的oid——1 int pSrcOIDIndex = resultTable.FindField("源OID"); //待匹配图层要素的oid——2 int pTarOIDIndex = resultTable.FindField("待匹配OID"); //变化标记的oid——3 int pChangeTagIndex = resultTable.FindField("变化标记"); ICursor rowCursor = resultTable.Search(null, false); IRow tempRow = null; tempRow = rowCursor.NextRow(); while (tempRow != null) { //当没有匹配的项时或者未发生变化时不做任何更改 if (tempRow.get_Value(pTarOIDIndex) == null || tempRow.get_Value(pChangeTagIndex).ToString() == "0") { progressBar.PerformOneStep(); continue; } //获取源图层要素 IFeature sourceFeature = sourceFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pSrcOIDIndex))); //变化标记字段值 string pChangeContent = tempRow.get_Value(pChangeTagIndex).ToString(); //获取源图层要素 string[] fromids = tempRow.get_Value(pTarOIDIndex).ToString().Split(';'); if (!(fromids.Length == 1 && fromids[0].Trim().Length == 0)) { //查找匹配与待匹配的要素 IFeature targetFeature = null; //点和线匹配名称 string pSourceName = sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].NameField)).ToString(); string pTargetName = string.Empty; //面匹配分类码 //string pSourceFCODE = sourceFeature.get_Value(sourceFeature.Fields.FindField("FCODE")).ToString().Trim(); string pTargetFCODE = string.Empty; //不同形状的数据 if (sourceFcls.ShapeType != targetFcls.ShapeType) { if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPoint) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: //targetFeature.Shape = sourceFeature.Shape; //plistString.Add(sourceFeature.get_Value(sourceFeature.Fields.FindField("ENTIID")).ToString()); //test targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); string test3 = ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField; pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //test string test1 = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString(); string test2 = sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID)).ToString(); if (ClsStatic.StringSameOrNot(pSourceName, pTargetName) > 1) { targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); } //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //for (int i = 0; i < fromids.Length; i++) //{ // string test = fromids[i]; // int test3 = Convert.ToInt32(fromids[i]); // targetFeature = target.GetFeature(Convert.ToInt32(fromids[i])); // pTargetName = targetFeature.get_Value(targetFeature.Fields.FindFieldByAliasName("名称")).ToString(); // //targetFeature.Shape = sourceFeature.Shape; // if (ClsStatic.StringSameOrNot(pSourceName, pTargetName) > 1) // { // if (targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID")).ToString().Trim().Length == 0) // { // targetFeature.set_Value(targetFeature.Fields.FindField("ENTIID"), sourceFeature.get_Value(sourceFeature.Fields.FindField("ENTIID"))); // targetFeature.Store(); // } // } //} //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2One: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } else if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolyline) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //targetFeature.Shape = sourceFeature.Shape; if (pSourceName == pTargetName) { targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); } //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; for (int i = 0; i < fromids.Length; i++) { string test = fromids[i]; int test2 = Convert.ToInt32(fromids[i]); targetFeature = targetFcls.GetFeature(Convert.ToInt32(fromids[i])); pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //targetFeature.Shape = sourceFeature.Shape; if (pSourceName == pTargetName) { if (targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString().Trim().Length == 0) { targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); } } } break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2One: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } else if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolygon) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); pTargetFCODE = targetFeature.get_Value(targetFeature.Fields.FindField("FCODE")).ToString().Trim(); //targetFeature.Shape = sourceFeature.Shape; //if (pSourceFCODE == pTargetFCODE) //{ targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); //} //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; //for (int i = 0; i < fromids.Length; i++) //{ // string test = fromids[i]; // int test2 = Convert.ToInt32(fromids[i]); // targetFeature = targetFcls.GetFeature(Convert.ToInt32(fromids[i])); // pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); // //targetFeature.Shape = sourceFeature.Shape; // if (pSourceName == pTargetName) // { // if (targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString().Trim().Length == 0) // { // targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); // targetFeature.Store(); // } // } //} break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2More: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } } //相同形状的数据 else { if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPoint) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: //targetFeature.Shape = sourceFeature.Shape; //plistString.Add(sourceFeature.get_Value(sourceFeature.Fields.FindField("ENTIID")).ToString()); //test targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); //string test3 = ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField; string test3 = ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField; pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //test string test1 = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString(); string test2 = sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID)).ToString(); //if (ClsStatic.StringSameOrNot(pSourceName, pTargetName) > 1) //{ targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); //} //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //for (int i = 0; i < fromids.Length; i++) //{ // string test = fromids[i]; // int test3 = Convert.ToInt32(fromids[i]); // targetFeature = target.GetFeature(Convert.ToInt32(fromids[i])); // pTargetName = targetFeature.get_Value(targetFeature.Fields.FindFieldByAliasName("名称")).ToString(); // //targetFeature.Shape = sourceFeature.Shape; // if (ClsStatic.StringSameOrNot(pSourceName, pTargetName) > 1) // { // if (targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID")).ToString().Trim().Length == 0) // { // targetFeature.set_Value(targetFeature.Fields.FindField("ENTIID"), sourceFeature.get_Value(sourceFeature.Fields.FindField("ENTIID"))); // targetFeature.Store(); // } // } //} //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2One: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } else if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolyline) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //targetFeature.Shape = sourceFeature.Shape; //if (pSourceName == pTargetName) //{ targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); //} //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; for (int i = 0; i < fromids.Length; i++) { string test = fromids[i]; int test2 = Convert.ToInt32(fromids[i]); targetFeature = targetFcls.GetFeature(Convert.ToInt32(fromids[i])); pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); //targetFeature.Shape = sourceFeature.Shape; if (pSourceName == pTargetName) { if (targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString().Trim().Length == 0) { targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); } } } break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2One: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } else if (sourceFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolygon) { //根据不同的匹配类型进行相关操作 switch (pChangeContent) { case "图形变化": //图形变化 //case "一对一": case ClsConstant.One2One: targetFeature = targetFcls.GetFeature(Convert.ToInt32(tempRow.get_Value(pTarOIDIndex))); pTargetFCODE = targetFeature.get_Value(targetFeature.Fields.FindField("FCODE")).ToString().Trim(); //targetFeature.Shape = sourceFeature.Shape; //if (pSourceFCODE == pTargetFCODE) //{ targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); targetFeature.Store(); //} //sourceFeature.set_Value(sourceFeature.Fields.FindField("ENTIID"), targetFeature.get_Value(targetFeature.Fields.FindField("ENTIID"))); break; //case "新增要素"://新添加要素 case ClsConstant.One2Zero: //新添加要素 //targetFeature = target.CreateFeature(); //targetFeature.Shape = sourceFeature.ShapeCopy; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "一对多": case ClsConstant.One2More: //MessageBox.Show("出现一对多情况,请校对匹配结果表后执行匹配", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return false; //for (int i = 0; i < fromids.Length; i++) //{ // string test = fromids[i]; // int test2 = Convert.ToInt32(fromids[i]); // targetFeature = targetFcls.GetFeature(Convert.ToInt32(fromids[i])); // pTargetName = targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].NameField)).ToString(); // //targetFeature.Shape = sourceFeature.Shape; // if (pSourceName == pTargetName) // { // if (targetFeature.get_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID)).ToString().Trim().Length == 0) // { // targetFeature.set_Value(targetFeature.Fields.FindField(ClsConfig.LayerConfigs[(targetFcls as IDataset).Name].EntityID), sourceFeature.get_Value(sourceFeature.Fields.FindField(ClsConfig.LayerConfigs[(sourceFcls as IDataset).Name].EntityID))); // targetFeature.Store(); // } // } //} break; case "属性变化": //属性变化 //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; case "属性图形变化": //都变化 //targetFeature.Shape = sourceFeature.Shape; //UpdateAttribute(sourceFeature, targetFeature, updateRela); break; //case "多对一"://多尺度更新 case ClsConstant.More2More: //多尺度更新 //targetFeature.Shape = finalGeometry; break; default: break; } } } //targetFeature.Store(); } progressBar.PerformOneStep(); tempRow = rowCursor.NextRow(); } //对待匹配图层中剩余的点()进行编码 //CreatePOICodeRest(target, "ENTIID", plistString); pWorkspaceEdit.StopEditOperation(); pWorkspaceEdit.StopEditing(true); return(true); }