public void GetAllUnitPlaneInfo(T model) { model.selectedLayerList.Add("用地代码"); model.selectedLayerList.Add("坐标"); // 坐标点图层 特殊处理 ModelBaseMethod <ModelBase> mbm = new ModelBaseMethod <ModelBase>(); LayerModel lm = new LayerModel(); lm = mbm.GetAllLayerGemo(model, UnitPlanModel.unitPlanLineLayer); //LayerModel lm2 = new LayerModel(); //lm2 = mbm.GetAllLayerGemo(model, "控制单元范围"); if (lm.modelItemList == null) { lm.modelItemList = new List <object>(); } if (model.allLines == null) { model.allLines = new List <LayerModel>(); } model.allLines.Add(lm); //model.allLines.Add(lm2); model.attributeList = AttributeList(); model.kgGuide = ControlList(); //mbm.GetExportLayers(model); //foreach (string layer in model.LayerList) //{ // GetAttributeIndex(model, layer); //} if (model.attributeList.Columns.Count != 0) { GetAttributeIndex(model, "用地代码"); } }
internal void AutoOpenPointPlanFile(string file, string cityName, DerivedTypeEnum derivedType, List <string> failedFiles) { Document acDoc = Application.DocumentManager.Open(file, false); Database acCurDb = acDoc.Database; Editor ed = acDoc.Editor; DocumentLock docLock = acDoc.LockDocument(); try { ModelBase mb = new ModelBase(); //if (derivedType is DerivedTypeEnum.PointsPlan) //{ // mb = new PointsPlanModel(); //} //if (derivedType is DerivedTypeEnum.UnitPlan) //{ // mb = new UnitPlanModel(); //} //if (derivedType is DerivedTypeEnum.None) //{ // mb = new ModelBase(); //} // 判断是否读取布局空间(papermodel) MainForm.isOnlyModel = mb.IsOnlyModel; //MainForm.isOnlyModel = false; mb.DocName = Path.GetFileNameWithoutExtension(file); mb.projectId = cityName; // 获取图例 ModelBaseMethod <ModelBase> mbm = new ModelBaseMethod <ModelBase>(); mbm.GetAllLengedGemo(mb); mbm.GetExportLayers(mb); //// 获取特殊图层 //LayerSpecialCommand<ModelBase> layerSpecial = new LayerSpecialCommand<ModelBase>(); //layerSpecial.AddSpecialLayerModel(mb); //mb.LayerList = new List<string>{"道路中线"}; if (mb.LayerList != null) { foreach (string layer in mb.LayerList) { ModelBaseMethod <ModelBase> modelMe = new ModelBaseMethod <ModelBase>(); LayerModel lyModel = modelMe.GetAllLayerGemo(mb, layer); if (mb.allLines == null) { mb.allLines = new List <LayerModel>(); } mb.allLines.Add(lyModel); } //if (derivedType is DerivedTypeEnum.PointsPlan) //{ // PostModel.AutoPostModelBase(mb as ModelBase, failedFiles); //} //if (derivedType is DerivedTypeEnum.UnitPlan) //{ // PostModel.AutoPostModelBase(mb as ModelBase, failedFiles); //} //if (derivedType is DerivedTypeEnum.None) //{ // PostModel.AutoPostModelBase(mb as ModelBase, failedFiles); //} PostModel.AutoPostModelBase(mb as ModelBase, failedFiles); } docLock.Dispose(); acCurDb.Dispose(); acDoc.CloseAndDiscard(); acDoc.Dispose(); GC.Collect(); System.Windows.Forms.Application.DoEvents(); } catch (Exception e) { //string logFileName = @"C: \Users\Public\Documents\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log"; //using (TextWriter logFile = TextWriter.Synchronized(File.AppendText(logFileName))) //{ // logFile.WriteLine(DateTime.Now); // logFile.WriteLine(e.Message); // logFile.WriteLine("\r\n"); // logFile.Flush(); // logFile.Close(); //} System.Windows.Forms.MessageBox.Show(e.Message); docLock.Dispose(); GC.Collect(); } // 发送类型 // 发送图层数据 }