Ejemplo n.º 1
0
        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, "用地代码");
            }
        }
Ejemplo n.º 2
0
        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();
            }
            // 发送类型

            // 发送图层数据
        }