Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public virtual Prj_Document New_Prj_Document()
        {
            Prj_Document result = new Prj_Document();

            result.Prj_Controller_ID = this.ID;
            return(result);
        }
 /// <summary>
 /// 
 /// </summary>
 /// <returns></returns>
 public virtual Prj_Document New_Prj_Document()
 {
     Prj_Document result = new Prj_Document();
     result.Prj_Controller_ID = this.ID;
     result.Prj_Controller = this;
     this.Prj_Document_List.Add(result);
     return result;
 }
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Cld_Constant():base(){
			m_ID = -1;
			m_Name = String.Empty;
			m_X_Y = String.Empty;
			m_Prj_Sheet_ID = -1;
			m_Prj_Sheet = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			
		}
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_Constant() : base()
 {
     m_ID                = -1;
     m_Name              = String.Empty;
     m_X_Y               = String.Empty;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
 }
Example #5
0
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_Graphic() : base()
 {
     m_ID                = -1;
     m_Type              = String.Empty;
     m_Layer             = String.Empty;
     m_Data              = String.Empty;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
 }
 /// <summary>
 /// 根据ID获得Cld_FCBlock
 /// </summary>
 /// <param name="condition">ID type:int</param>
 /// <returns></returns>
 public Prj_Document GetPrj_Document_By_ID(int condition)
 {
     using (ITransaction transaction = session.BeginTransaction()){
         try{
             Prj_Document result = this.session.Get <Prj_Document>(condition);
             transaction.Commit();
             return(result);
         }catch (Exception e) {
             transaction.Rollback();
             throw e;
         }
     }
 }
Example #7
0
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Cld_Graphic():base(){
			m_ID = -1;
			m_Type = String.Empty;
			m_Layer = String.Empty;
			m_Data = String.Empty;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			m_Prj_Sheet_ID = -1;
			m_Prj_Sheet = null;
			
		}
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_FCParameter() : base()
 {
     m_ID                = -1;
     m_Name              = String.Empty;
     m_PValue            = String.Empty;
     m_Cld_FCBlock_ID    = -1;
     m_Cld_FCBlock       = null;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
 }
Example #9
0
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_Signal() : base()
 {
     m_ID                = -1;
     m_Name              = String.Empty;
     m_SignalType        = String.Empty;
     m_EntityBelongTo    = String.Empty;
     m_Data              = String.Empty;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
 }
Example #10
0
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Cld_Signal():base(){
			m_ID = -1;
			m_Name = String.Empty;
			m_SignalType = String.Empty;
			m_EntityBelongTo = String.Empty;
			m_Data = String.Empty;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			m_Prj_Sheet_ID = -1;
			m_Prj_Sheet = null;
			
		}
 public virtual bool Compare(Prj_Document doc) {
     if (this.ID != doc.ID) {
         throw new Exception("id should be equal");
     }
     if (this.DocumentName != doc.DocumentName || this.DocumentCaption != doc.DocumentCaption
         || this.CreateTime != doc.CreateTime || this.ModifyTime != doc.ModifyTime
         || this.Sequence != doc.Sequence || this.Type != doc.Type || this.TranslatorResult != doc.TranslatorResult
         || this.changed != doc.changed || this.Prj_Controller_ID != doc.Prj_Controller_ID
         )
     {
         return false;
     }
     else {
         return true;
     }
 }
Example #12
0
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_FCInput() : base()
 {
     m_ID                = -1;
     m_PinName           = String.Empty;
     m_PointName         = String.Empty;
     m_InitialValue      = String.Empty;
     m_Point             = String.Empty;
     m_Visible           = false;
     m_Description       = String.Empty;
     m_Cld_FCBlock_ID    = -1;
     m_Cld_FCBlock       = null;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
 }
Example #13
0
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Cld_FCBlock() : base()
 {
     m_ID = -1;
     m_Cld_FCInput_List     = null;
     m_Cld_FCOutput_List    = null;
     m_Cld_FCParameter_List = null;
     m_AlgName           = String.Empty;
     m_Sequence          = -1;
     m_FunctionName      = String.Empty;
     m_X_Y               = String.Empty;
     m_SymbolName        = String.Empty;
     m_Description       = String.Empty;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
     m_Prj_Sheet_ID      = -1;
     m_Prj_Sheet         = null;
 }
 public virtual bool Compare(Prj_Document doc)
 {
     if (this.ID != doc.ID)
     {
         throw new Exception("id should be equal");
     }
     if (this.DocumentName != doc.DocumentName || this.DocumentCaption != doc.DocumentCaption ||
         this.CreateTime != doc.CreateTime || this.ModifyTime != doc.ModifyTime ||
         this.Sequence != doc.Sequence || this.Type != doc.Type || this.TranslatorResult != doc.TranslatorResult ||
         this.changed != doc.changed || this.Prj_Controller_ID != doc.Prj_Controller_ID
         )
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Example #15
0
 /// <summary>
 /// 默认构造函数
 /// <summary>
 public Prj_Sheet() : base()
 {
     m_ID = -1;
     m_Cld_Constant_List    = null;
     m_Cld_FCBlock_List     = null;
     m_Cld_FCInput_List     = null;
     m_Cld_FCOutput_List    = null;
     m_Cld_FCParameter_List = null;
     m_Cld_Graphic_List     = null;
     m_Cld_Signal_List      = null;
     m_SheetName            = String.Empty;
     m_SheetNum             = -1;
     m_Sequence             = String.Empty;
     m_Width             = -1;
     m_Height            = -1;
     m_Prj_Controller_ID = -1;
     m_Prj_Controller    = null;
     m_Prj_Document_ID   = -1;
     m_Prj_Document      = null;
 }
Example #16
0
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Cld_FCInput():base(){
			m_ID = -1;
			m_PinName = String.Empty;
			m_PointName = String.Empty;
			m_InitialValue = String.Empty;
			m_Point = String.Empty;
			m_Visible = false;
			m_Description = String.Empty;
			m_Cld_FCBlock_ID = -1;
			m_Cld_FCBlock = null;
			m_Prj_Sheet_ID = -1;
			m_Prj_Sheet = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			
		}
        /// <summary>
        /// Prj_Sheet to Xml
        /// </summary>
        /// <param name="sheet"></param>
        public static void GenerateXinHuaSheets(BllManager bll, Prj_Document documet, string outPath)
        {
            string pagesPath = outPath + "\\data\\xinhua\\Pages\\";
            if (!Directory.Exists(pagesPath))
            {
                Directory.CreateDirectory(pagesPath);
            }

            if (session == null)
            {
                session = bll.manager.session;
            }

            try
            {
                // 每个Document只包含一个Sheet
                int sheetID = bll.manager.SheetCRUD.GetPrj_Sheets_By_Prj_Document_ID(documet.ID)[0].ID;
                Prj_Sheet sheet = bll.manager.SheetCRUD.Load_Sheet(sheetID);

                ArrayList symbols = new ArrayList();

                // 算法块

                foreach (Cld_FCBlock block in sheet.Cld_FCBlock_List)
                {

                    #region if(特殊块)
                    if (block.FunctionName == "XAI")
                    {
                        GenerateXAIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XAO")
                    {
                        GenerateXAOBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XDI")
                    {
                        GenerateXDIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XDO")
                    {
                        GenerateXDOBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XPI")
                    {
                        GenerateXPIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XPgAI")
                    {
                        GenerateXPgAIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XPgAO")
                    {
                        GenerateXPgAOBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XPgDI")
                    {
                        GenerateXPgDIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XPgDO")
                    {
                        GenerateXPgDOBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XNetAI")
                    {
                        GenerateXNetAIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XNetAO")
                    {
                        GenerateXNetAOBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XNetDI")
                    {
                        GenerateXNetDIBlock(block, symbols);
                    }
                    else if (block.FunctionName == "XNetDO")
                    {
                        GenerateXNetDOBlock(block, symbols);
                    }
                    #endregion
                    else
                    {
                        bll.generate_Rec_symbol(block, BllManager.rela_pos.UPLEFT);
                        GenerateCommonBlock(block, symbols);
                    }
                }

                // 文本块

                foreach (Cld_Graphic graphic in sheet.Cld_Graphic_List)
                {
                    if (graphic.Type == "Text")
                    {
                        GenerateText(graphic, symbols);
                    }
                }

                //IList constants = sheet.Cld_Constant_List;

                // 信号线

                IDictionary<string, Cld_Signal> signalTable = bll.GenerateSignalLines(sheet);
                foreach (Cld_Signal signal in signalTable.Values)
                {
                    string[] signalDataList = signal.Data.TrimEnd(' ', ';').Split(';');
                    foreach (string signalData in signalDataList)
                    {
                        LogicSignalLine signalline = new LogicSignalLine(signalData, signal.Name, signal.SignalType);
                        symbols.Add(signalline);
                    }
                }

                // 创建XmlTextWriter类的实例对象
                XmlTextWriter textWriter = new XmlTextWriter(pagesPath + documet.DocumentName.Replace('-', '_') + ".xfig", Encoding.UTF8);
                textWriter.Indentation = 4;
                textWriter.Formatting = Formatting.Indented;

                textWriter.WriteStartElement("document");
                textWriter.WriteAttributeString("Type", "BeginNode");
                textWriter.WriteAttributeString("GraphicName", documet.DocumentCaption);
                textWriter.WriteAttributeString("BackColor", "FF FF FF FF");
                textWriter.WriteAttributeString("width", Convert.ToString(sheet.Width * 10));
                textWriter.WriteAttributeString("heigth", Convert.ToString(sheet.Height * 10));

                LogicRectangle pageBounds0 = new LogicRectangle();
                pageBounds0.Location = new PointF(0, 0);
                pageBounds0.Size = new SizeF(sheet.Width, sheet.Height);
                pageBounds0.LineWidth = 1;
                pageBounds0.GetXinhuaGraphicXml(textWriter);

                LogicRectangle pageBounds1 = new LogicRectangle();
                pageBounds1.Location = new PointF(30, 30);
                pageBounds1.Size = new SizeF(sheet.Width - 60f, sheet.Height - 60f);
                pageBounds1.LineWidth = 2;
                pageBounds1.GetXinhuaGraphicXml(textWriter);

                foreach (object obj in symbols)
                {
                    ((ILogicGraphicFormat)obj).GetXinhuaGraphicXml(textWriter);
                }
                textWriter.WriteEndElement();
                textWriter.Close();
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="to_add"></param>
 public virtual void Add(Prj_Document to_add)
 {
     this.Prj_Document_List.Add(to_add);
     to_add.Prj_Controller_ID = this.ID;
     to_add.Prj_Controller    = this;
 }
Example #19
0
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Prj_Sheet():base(){
			m_ID = -1;
			m_Cld_Constant_List = null;
			m_Cld_FCBlock_List = null;
			m_Cld_FCInput_List = null;
			m_Cld_FCOutput_List = null;
			m_Cld_FCParameter_List = null;
			m_Cld_Graphic_List = null;
			m_Cld_Signal_List = null;
			m_SheetName = String.Empty;
			m_SheetNum = -1;
			m_Sequence = String.Empty;
			m_Width = -1;
			m_Height = -1;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			
		}
Example #20
0
					/// <summary>
		/// 默认构造函数
		/// <summary>
		public Cld_FCBlock():base(){
			m_ID = -1;
			m_Cld_FCInput_List = null;
			m_Cld_FCOutput_List = null;
			m_Cld_FCParameter_List = null;
			m_AlgName = String.Empty;
			m_Sequence = -1;
			m_FunctionName = String.Empty;
			m_X_Y = String.Empty;
			m_SymbolName = String.Empty;
			m_Description = String.Empty;
			m_Prj_Controller_ID = -1;
			m_Prj_Controller = null;
			m_Prj_Document_ID = -1;
			m_Prj_Document = null;
			m_Prj_Sheet_ID = -1;
			m_Prj_Sheet = null;
			
		}
 /// <summary>
 /// 
 /// </summary>
 /// <param name="to_add"></param>
 public virtual void Add(Prj_Document to_add)
 {
     this.Prj_Document_List.Add(to_add);
     to_add.Prj_Controller_ID = this.ID;
     to_add.Prj_Controller = this;
 }