Пример #1
0
        /// <summary>
        /// Формирование содержимого внутреннего объекта ParagraphAsm.
        /// </summary>
        /// <param name="pAsm">объект ParagraphAsm</param>
        /// <param name="input">текстовое содержание абзаца</param>
        /// <returns></returns>
        public void UpdateParagraph(ParagraphAsm pAsm, string input, bool IsHeader)
        {
            var ihash       = input.GetHashCode();
            int currenthash = pAsm.GetHashCode(IsHeader);
            var range       = IsHeader ? SentTypes.enstNotActualHead : SentTypes.enstNotActualBody;
            var sentlist    = pAsm.GetParagraphSents(range);

            if (ihash == currenthash && sentlist.Count == 0)
            {
                return;
            }

            var sents = this.MorphGetSeparatedSentsList(input);

            pAsm.RefreshParagraph(new ArrayList(sents), IsHeader);

            sentlist = pAsm.GetParagraphSents(range);
            if (sentlist.Count == 0)
            {
                return;
            }
            // Выполнение синтана для неактуальных предложений.
            foreach (var sent in sentlist)
            {
                var sentlistRep = this.MorphMakeSyntan(sent.Text);
                if (sentlistRep.Count > 0)
                {
                    pAsm.UpdateSentStruct(sent.Order, Map2Asm.Convert(sentlistRep[0]));
                }
            }
        }
Пример #2
0
        public AssemblyBase CreateParagraph(BlockAddress ParentID)
        {
            var asm = new ParagraphAsm();

            asm.ParentID = ParentID;
            //asm.SetValue("Name", name);
            asm.Save();
            return(asm);
        }
Пример #3
0
        private void btSavePara_Click(object sender, EventArgs e)
        {
            var aNode = treeView1.SelectedNode as AsmNode;

            if (aNode == null)
            {
                return;
            }

            var para = new ParagraphAsm(aNode.Assembly);

            aNode.Assembly = para;

            var sentlistRep = store.MorphMakeSyntan(memoInp.Text);

            if (sentlistRep == null || sentlistRep.Count == 0)
            {
                return;
            }

            var sent = Map2Asm.Convert(sentlistRep[0]);

            para.UpdateSentStruct(0, sent);

            para.Save();

            //			var para = new ParagraphAsm();
            //			store.UpdateParagraph(para, memoInp.Text, false);

            /*			var paramlist = store.SaveParagraphBD(para);
             *                      if (paramlist == null)
             *                      {
             *                              return;
             *                      }
             *
             *                      foreach (var par in paramlist)
             *                              if (par.Name == "ParagraphID")
             *                              {
             *                                      this.para.ParagraphID = Convert.ToInt32(par.Value, 10);
             *                                      break;
             *                              }
             *                      memoOut.Text = this.para.ParagraphID.ToString();*/
        }
Пример #4
0
        public FormParaEdit(AsmNode theNode, treeOper tOper)
        {
            InitializeComponent();

            this.theNode  = theNode;
            this.typeOper = tOper;

            AssemblyBase asm = null;

            switch (tOper)
            {
            case (treeOper.toEdit):
                asm = theNode.Assembly;
                break;

            case (treeOper.toAdd):
                asm = store.CreateParagraph(theNode.Assembly.BlockID);
                break;
            }
            this.paraAsm = new ParagraphAsm(asm);
        }