Esempio n. 1
0
        public void Diff(KXmlItem m_ChangeKXmlItem)
        {
            if (string.IsNullOrWhiteSpace(m_ChangeKXmlItem.Name))
            {
                return;
            }

            if (cv_Name != m_ChangeKXmlItem.Name)
            {
                CheckIsOK = false;
                if (string.IsNullOrWhiteSpace(cv_Change))
                {
                    cv_Change += " Name:" + m_ChangeKXmlItem.Name;
                }
            }

            if (cv_Type != m_ChangeKXmlItem.ItemType)
            {
                CheckIsOK = false;
                if (string.IsNullOrWhiteSpace(cv_Change))
                {
                    cv_Change += " ItemType:" + m_ChangeKXmlItem.ItemType;
                }
            }

            if (cv_Type == KXmlItemType.itxList)
            {
                DiffMutiVar(m_ChangeKXmlItem);
            }
            else
            {
                DiffSignleVar(m_ChangeKXmlItem);
            }
        }
Esempio n. 2
0
        public KXmlItem GetKXmlItem()
        {
            KXmlItem xml = new KXmlItem();

            xml.Text = strXml;
            return(xml);
        }
Esempio n. 3
0
        private void SendMessage_Click(object sender, RoutedEventArgs e)
        {
            ReplyBody.Text = MessageId.Text + "傳送中..." + Environment.NewLine + ReplyBody.Text;
            KXmlItem xml = new KXmlItem();

            xml.Name = @"Body";
            xml.Text = RequestBody.Text;

            SendRequest(MessageId.Text, "ISAPI_CLIENT", TargetModule.Text, ChannelId.Text, xml);
        }
Esempio n. 4
0
        private void DiffMutiVar(KXmlItem m_ChangeKXmlItem)
        {
            CheckIsOK = true;
            if (IsObject())
            {
                //Obj內容可多不可少
                foreach (var element in cv_MemberValue)
                {
                    if (element.CheckIsOK == true)
                    {
                        continue;
                    }

                    string   member_value_name = element.cv_Name;
                    KXmlItem xml_member_value  = m_ChangeKXmlItem.ItemsByLevelName[member_value_name];
                    element.Diff(xml_member_value);
                }
            }
            else
            {
                //List的數量必須相同

                if (cv_Number != m_ChangeKXmlItem.ItemNumber)
                {
                    CheckIsOK = false;
                    if (string.IsNullOrWhiteSpace(cv_Change))
                    {
                        cv_Change += " ItemNumber:" + m_ChangeKXmlItem.ItemNumber;
                    }
                }

                int size_xml = m_ChangeKXmlItem.ItemNumber;
                for (int i = 0; i < size_xml; ++i)
                {
                    foreach (var orig_element in cv_MemberValue)
                    {
                        if (orig_element.CheckIsOK == true)
                        {
                            continue;
                        }

                        KXmlItem xml_change_element = m_ChangeKXmlItem.Items[i];
                        orig_element.Diff(xml_change_element);
                    }
                }
            }

            foreach (var element in cv_MemberValue)
            {
                if (element.CheckIsOK == false)
                {
                    CheckIsOK = false;
                }
            }
        }
Esempio n. 5
0
 private void DiffSignleVar(KXmlItem m_ChangeKXmlItem)
 {
     if (cv_Xml != m_ChangeKXmlItem.Text)
     {
         CheckIsOK = false;
         if (string.IsNullOrWhiteSpace(cv_Change))
         {
             cv_Change += " Text:" + m_ChangeKXmlItem.Text;
         }
     }
     else
     {
         CheckIsOK = true;
     }
 }
Esempio n. 6
0
 private void FiddleReplyCode_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
 {
     try
     {
         string strFiddleReplyCode = FiddleReplyCode.Text;
         if (!string.IsNullOrWhiteSpace(strFiddleReplyCode))
         {
             byte[]   buffer     = SysUtils.HexToBinary(strFiddleReplyCode);
             byte[]   unzip_data = SysUtils.UnZip(buffer);
             KXmlItem xml_buffer = SysUtils.LoadXmlItemFromMemoryBuffer(unzip_data);
             DecodeToXml.Text = xml_buffer.Text;
         }
     }
     catch (Ionic.Zlib.ZlibException zipe)
     {
         string str = zipe.ToString();  //消除warning
         DecodeToXml.Text = @"無法解碼的值";
     }
 }
Esempio n. 7
0
 public KXmlItemCheckReport(KXmlItem m_OriginalKXmlItem, int m_Level = 0)
 {
     cv_Level  = m_Level;
     cv_Name   = m_OriginalKXmlItem.Name;
     cv_Type   = m_OriginalKXmlItem.ItemType;
     cv_Number = m_OriginalKXmlItem.ItemNumber;
     if (cv_Type == KXmlItemType.itxList)
     {
         int level    = cv_Level + 1;
         int size_xml = m_OriginalKXmlItem.ItemNumber;
         for (int i = 0; i < size_xml; ++i)
         {
             KXmlItemCheckReport element = new KXmlItemCheckReport(m_OriginalKXmlItem.Items[i], level);
             cv_MemberValue.Add(element);
         }
         strXml    = @"<" + cv_Name + @" KGS_TYPE=""" + cv_Type + @""" KGS_ITEM_NUMBER=""" + cv_Number + @""">";
         cv_EndXml = @"</" + cv_Name + ">";
     }
     else
     {
         strXml = m_OriginalKXmlItem.Text;
     }
 }
Esempio n. 8
0
        private void SendRequest(string m_MessageId, string m_Source, string m_Targe, string m_ChannelId, KXmlItem xml)
        {
            KFabLinkMessage message = new KFabLinkMessage();

            message.Name        = m_MessageId;
            message.Source      = m_Source;
            message.Target      = m_Targe;
            message.MessageType = KFabLinkMessageType.fmtRequest;
            message.Data        = xml;

            cv_WebEventClient.ModuleId = m_Source;
            cv_WebEventClient.SendPrimary(m_ChannelId, m_MessageId, m_Targe, message, 10000);
        }