コード例 #1
0
            public static ShopEntry CreateFromXml(System.Xml.XmlElement n, IXCRMParser xcrm_parser)
            {
                ShopEntry retval = new ShopEntry();

                retval.ikey        = n.GetAttribute("ikey");
                retval.label       = n.GetAttribute("label");
                retval.description = n.GetAttribute("description");


                System.Xml.XmlElement costs_node = n.SelectSingleNode("./costs") as System.Xml.XmlElement;
                if (costs_node != null)
                {
                    retval.costs = xcrm_parser.ParseCostList(costs_node);
                }
                // else branches not necessary as costs, modifiers and requirements are INITIALISED by definition

                System.Xml.XmlElement modifiers_node = n.SelectSingleNode("./modifiers") as System.Xml.XmlElement;
                if (modifiers_node != null)
                {
                    retval.modifiers = xcrm_parser.ParseModifierList(modifiers_node);
                }

                System.Xml.XmlElement requirements_node = n.SelectSingleNode("./requirements") as System.Xml.XmlElement;
                if (requirements_node != null)
                {
                    retval.requirements = xcrm_parser.ParseRequirementList(requirements_node);
                }

                System.Xml.XmlNodeList tag_nodes = n.SelectNodes("./tags/tag");
                foreach (System.Xml.XmlElement tag_node in tag_nodes)
                {
                    retval.tags.Add(tag_node.GetAttribute("value"));
                }

                return(retval);
            }
コード例 #2
0
ファイル: SendEvent.cs プロジェクト: wyrover/ospy
        public Event CreateEvent(EventInformation eventInformation, System.Xml.XmlElement eventData)
        {
            FunctionCallDataElement el = new FunctionCallDataElement(eventData);

            uint socket = el.GetSimpleArgumentValueAsUInt(1);

            string encodedBuffer = eventData.SelectSingleNode("/event/arguments[@direction='in']/argument[2]/value/value").InnerText.Trim();

            byte[] buffer = Convert.FromBase64String(encodedBuffer);

            int flags = el.GetSimpleArgumentValueAsInt(4);

            int result = el.ReturnValueAsInt;

            return(new SendEvent(eventInformation, socket, buffer, flags, result));
        }
コード例 #3
0
            public static Task CreateFromXml(System.Xml.XmlElement n, Roar.DataConversion.IXCRMParser ixcrm_parser)
            {
                DomainObjects.Task retval = new DomainObjects.Task();

                retval.ikey  = n.GetAttribute("ikey");
                retval.label = n.SelectSingleNode("./label").GetInnerTextOrDefault(null);

                retval.description = n.SelectSingleNode("./description").GetInnerTextOrDefault(null);
                retval.location    = n.SelectSingleNode("./location").GetInnerTextOrDefault(null);

                string masteryLevelString = n.SelectSingleNode("./mastery/@level").GetValueOrDefault(null);

                if (masteryLevelString == null || masteryLevelString == "")
                {
                    retval.mastery_level = 0;
                }
                else if (!System.Int32.TryParse(masteryLevelString, out retval.mastery_level))
                {
                    throw new InvalidXMLElementException("Unable to parse mastery level to integer");
                }

                string masteryProgressString = n.SelectSingleNode("./mastery/@progress").GetValueOrDefault(null);

                if (masteryProgressString == null || masteryProgressString == "")
                {
                    retval.mastery_progress = 0;
                }
                else if (!System.Int32.TryParse(masteryProgressString, out retval.mastery_progress))
                {
                    throw new InvalidXMLElementException("Untable to parse mastery progress to integer");
                }

                retval.costs        = ixcrm_parser.ParseCostList(n.SelectSingleNode("./costs") as System.Xml.XmlElement);
                retval.rewards      = ixcrm_parser.ParseModifierList(n.SelectSingleNode("./rewards") as System.Xml.XmlElement);
                retval.requirements = ixcrm_parser.ParseRequirementList(n.SelectSingleNode("./requires") as System.Xml.XmlElement);
                retval.tags         = ixcrm_parser.ParseTagList(n.SelectSingleNode("./tags") as System.Xml.XmlElement);
                return(retval);
            }
コード例 #4
0
            public static MailPackage CreateFromXml(System.Xml.XmlElement n, Roar.DataConversion.IXCRMParser ixcrm_parser)
            {
                MailPackage retval = new MailPackage();

                retval.id          = n.GetAttribute("id");
                retval.type        = n.GetAttribute("type");
                retval.sender_id   = n.GetAttribute("sender_id");
                retval.sender_name = n.GetAttribute("sender_name");
                retval.message     = n.GetAttribute("message");
                System.Xml.XmlNodeList item_nodes = n.SelectNodes("./item");
                foreach (System.Xml.XmlElement item_node in item_nodes)
                {
                    retval.items.Add(InventoryItem.CreateFromXml(item_node, ixcrm_parser));
                }
                retval.tags      = ixcrm_parser.ParseTagList(n);
                retval.modifiers = ixcrm_parser.ParseModifierList(n.SelectSingleNode("./modifiers") as System.Xml.XmlElement);
                return(retval);
            }
コード例 #5
0
        protected void cmdComfirm_ServerClick(object sender, EventArgs e)
        {
            if (_facade == null)
            {
                _facade = new WarehouseFacade(base.DataProvider);
            }
            if (TransactionType.TRANSACTION_MAPPING == null)
            {
                try
                {
                    string strPath             = this.MapPath("TransTypeMoStock.xml");
                    System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                    doc.Load(strPath);
                    System.Xml.XmlElement eleDoc = doc.DocumentElement;
                    TransactionType.TRANSACTION_MAPPING = new Hashtable();
                    System.Xml.XmlNode elemap = eleDoc.SelectSingleNode("//TransTypeMapping");
                    if (elemap != null)
                    {
                        for (int i = 0; i < elemap.ChildNodes.Count; i++)
                        {
                            if (elemap.ChildNodes[i].NodeType == System.Xml.XmlNodeType.Element)
                            {
                                TransactionType.TRANSACTION_MAPPING.Add(elemap.ChildNodes[i].Name, elemap.ChildNodes[i].Attributes["Code"].Value);
                            }
                        }
                    }
                }
                catch
                {
                    TransactionType.TRANSACTION_MAPPING = null;
                }
            }

            bool bresult = this._facade.AdjustWarehouseCycleCount(this.txtWarehouseCode.Value, /*this.txtSegmentCode.Value,*/ this.txtFactoryCode.Value, this.GetUserCode());

            if (bresult == true)
            {
                this.ViewState["ADJUST_SUCCESS"] = "yes";
                this.cmdQuery_Click(null, null);
                this.cmdAdjust.Disabled = true;
            }
        }
コード例 #6
0
        public void ParseFromXml(System.Xml.XmlElement xmlElement)
        {
            System.Xml.XmlElement node = xmlElement;
            bool useSql           = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseSql.ToString(), "0")));
            bool useCustomElement = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseCustomElement.ToString(), "0")));

            tbUseAll.Checked = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseAll.ToString(), "0")));
            if (useSql)
            {
                tabControl.SelectedIndex = 1;
            }
            else if (useCustomElement)
            {
                tabControl.SelectedIndex = 0;
            }
            string sql = Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.tSql.ToString(), string.Empty);

            txtSql.Text = sql;
            System.Xml.XmlNodeList nodeList = node.SelectSingleNode(QuickReportCore.Controls.ucConditionTypeElementListWithFarpoint.XmlAttrDic.ConditionTypeElementList.ToString()).SelectNodes(QuickReportCore.Controls.ucConditionTypeElementListWithFarpoint.XmlAttrDic.ConditionTypeElement.ToString());
            ucConditionTypeElementListWithFarpoint.ParseFromXml(nodeList);
        }
コード例 #7
0
        /// <summary>
        /// check xmlDoc validity seeking an element
        /// </summary>
        private void checkXMLValidity()
        {
            System.Xml.XmlElement root = xmlDoc.DocumentElement;
            string s = "/root/info";

            System.Xml.XmlNode node = root.SelectSingleNode(s);
            s = GetAttributeByName(node, TAG_FILEVERSION);

            switch (s)
            {
            case "1":
                _Upgrade_1_2();
                checkXMLValidity();

                // scompattare moreinfo in pi� linee
                // aggiornare fileversion su "2"
                // modificare "newDocument" nelle risorse (fileversion=2)
                // modificare template "card-default"

                break;

            case "2":
                _Upgrade_2_3();
                checkXMLValidity();

                /// il campo "used counter" � allineato a destra
                /// con un casino di spazi davanti :)

                break;

            case "3":
                // nothing
                break;

            default:
                throw new System.Exception("checkXMLValidity: Invalid File Version");
            }
        }
コード例 #8
0
        private string GetTicketNoDisplay(WarehouseTicketDetail item)
        {
            string strTicketNo = "";
            string strHideList = ",";

            try
            {
                string strPath             = this.MapPath("TransTypeMoStock.xml");
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(strPath);
                System.Xml.XmlElement eleDoc = doc.DocumentElement;
                TransactionType.TRANSACTION_MAPPING = new Hashtable();
                System.Xml.XmlNode elemap = eleDoc.SelectSingleNode("//TransTypeMapping");
                if (elemap != null)
                {
                    for (int i = 0; i < elemap.ChildNodes.Count; i++)
                    {
                        if (elemap.ChildNodes[i].NodeType == System.Xml.XmlNodeType.Element)
                        {
                            if (elemap.ChildNodes[i].Attributes["HideTicketNo"] != null && elemap.ChildNodes[i].Attributes["HideTicketNo"].Value == "Yes")
                            {
                                strHideList += elemap.ChildNodes[i].Attributes["Code"].Value + ",";
                            }
                        }
                    }
                }
            }
            catch
            {
                strHideList = "";
            }
            if (strHideList.IndexOf("," + this.GetRequestParam("transtype") + ",") < 0 || item.TicketNo.Substring(0, 1) != "-")
            {
                strTicketNo = item.TicketNo;
            }
            return(strTicketNo);
        }
コード例 #9
0
        public void TestAppstoreShopListParseMechanics()
        {
            string xml =
                @"<roar tick=""130695522924"">
				<appstore>
					<shop_list>
						<shopitem product_identifier=""someidentifier"" label=""A label"">
							<modifiers>
								<grant_item ikey=""item_ikey_1""/>
								<grant_stat ikey=""item_stat"" type=""some type"" value=""7""/>
							</modifiers>
						</shopitem>
					</shop_list>
				</appstore>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);
            Roar.DataConversion.Responses.Appstore.ShopList shop_list_parser = new Roar.DataConversion.Responses.Appstore.ShopList();

            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>();
            shop_list_parser.ixcrm_parser = ixcrm_parser;
            IList <Roar.DomainObjects.Modifier> modifier_list = new List <Roar.DomainObjects.Modifier>();

            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./appstore/shop_list/shopitem/modifiers")).Will(Return.Value(modifier_list));

            ShopListResponse response = shop_list_parser.Build(nn);

            mockery.VerifyAllExpectationsHaveBeenMet();

            Assert.IsNotNull(response);
            Assert.AreEqual(response.shop_list.Count, 1);
            Assert.AreEqual(response.shop_list[0].product_identifier, "someidentifier");
            Assert.AreEqual(response.shop_list[0].label, "A label");
            Assert.AreEqual(response.shop_list[0].modifiers, modifier_list);
        }
コード例 #10
0
        private string GetTicketNoDisplay(WarehouseTicket tkt)
        {
            string strTicketNo = "";
            string strHideList = ",";

            try
            {
                string strPath             = this.MapPath("TransTypeMoStock.xml");
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(strPath);
                System.Xml.XmlElement eleDoc = doc.DocumentElement;
                TransactionType.TRANSACTION_MAPPING = new Hashtable();
                System.Xml.XmlNode elemap = eleDoc.SelectSingleNode("//TransTypeMapping");
                if (elemap != null)
                {
                    for (int i = 0; i < elemap.ChildNodes.Count; i++)
                    {
                        if (elemap.ChildNodes[i].NodeType == System.Xml.XmlNodeType.Element)
                        {
                            if (elemap.ChildNodes[i].Attributes["HideTicketNo"] != null && elemap.ChildNodes[i].Attributes["HideTicketNo"].Value == "Yes")
                            {
                                strHideList += elemap.ChildNodes[i].Attributes["Code"].Value + ",";
                            }
                        }
                    }
                }
            }
            catch
            {
                strHideList = "";
            }
            if (strHideList.IndexOf("," + tkt.TransactionTypeCode + ",") < 0 || tkt.TicketNo.Substring(0, 1) != "-")
            {
                strTicketNo = string.Format("<a href='FQueryTransDtlSP.aspx?ticketno={0}&returnurl={1}' style='color:#2f2f2f'>{0}</a>", tkt.TicketNo, "FQueryTransMP.aspx");
            }
            return(strTicketNo);
        }
コード例 #11
0
        private void _Upgrade_2_3()
        {
            // upgrade from version 2 to 3 pazWordFile
            /// il campo used count diventa "000000000000" (spazi!)
            /// la versione passa da 2 a 3

            System.Xml.XmlElement root = xmlDoc.DocumentElement;
            string s = "/root/nodes/node";

            foreach (System.Xml.XmlNode xNode in root.SelectNodes(s))
            {
                String uc = GetAttributeByName(xNode, PazDocumentLegacy.TAG_USEDCOUNTER);

                if (uc != "")
                {
                    uc = String.Format("{0,10}", uc);
                    SetAttributeByName(xNode, PazDocumentLegacy.TAG_USEDCOUNTER, uc);
                }
            }

            s = "/root/info";
            System.Xml.XmlNode node = root.SelectSingleNode(s);
            SetAttributeByName(node, TAG_FILEVERSION, "3");
        }
コード例 #12
0
        public static Boolean CmdMess(ref System.Xml.XmlDocument msgxml)
        {
            try
            {
                string str1 = "";
                System.Xml.XmlElement rrootElement = msgxml.DocumentElement;

                string msgtype = rrootElement.SelectSingleNode("MsgType").InnerText;



                switch (msgtype)
                {
                case "text":

                    System.Xml.XmlNode xml_content = rrootElement.SelectSingleNode("Content");
                    xml_content.InnerText = "rec:" + xml_content.InnerText;
                    break;
                }


                str1 = rrootElement.SelectSingleNode("FromUserName").InnerText;
                rrootElement.SelectSingleNode("FromUserName").InnerText = rrootElement.SelectSingleNode("ToUserName").InnerText;
                rrootElement.SelectSingleNode("ToUserName").InnerText   = str1;

                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                rrootElement.SelectSingleNode("CreateTime").InnerText = Convert.ToInt64(ts.TotalSeconds).ToString();

                return(true);
            }
            catch (Exception ex)
            {
                BLL.GlfFun.AddLog(ex);
                return(false);
            }
        }
コード例 #13
0
        public void TestParseFacebookShopListResponse()
        {
            string xml =
                @"<roar tick=""130695522924"">
				<facebook>\
					<shop_list>
						<fbshopitem
							ikey=""shop_item_ikey1""
							description=""Blah Blah""
							label=""label""
							price=""2""
							product_url=""http://foo.bar""
							image_url=""http://foo.bar/baz.png""
						>
							<modifiers>
								<grant_item ikey=""item_ikey_1""/>
							</modifiers>
						</fbshopitem>
						<fbshopitem
							ikey=""shop_item_ikey2""
							description=""Blah Boo""
							label=""item2""
							price=""4""
							product_url=""ABC""
							image_url=""...""
						>
							<modifiers>
								<grant_item ikey=""item_ikey_2""/>
							</modifiers>
						</fbshopitem>
					</shop_list>
				</facebook>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);
            Assert.IsNotNull(nn);

            Assert.AreEqual(2, nn.SelectNodes("./facebook/shop_list/fbshopitem").Count);

            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser    ixcrm_parser   = mockery.NewMock <Roar.DataConversion.IXCRMParser>();
            List <Roar.DomainObjects.Modifier> modifier_list  = new List <Roar.DomainObjects.Modifier>();
            List <Roar.DomainObjects.Modifier> modifier_list1 = new List <Roar.DomainObjects.Modifier>();

            System.Xml.XmlNode modifier_node0 = nn.SelectSingleNode("./facebook/shop_list/fbshopitem[1]/modifiers");
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(modifier_node0).Will(Return.Value(modifier_list));

            System.Xml.XmlNode modifier_node1 = nn.SelectSingleNode("./facebook/shop_list/fbshopitem[2]/modifiers");
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(modifier_node1).Will(Return.Value(modifier_list1));

            Roar.DataConversion.Responses.Facebook.ShopList shoplist_response_parser = new Roar.DataConversion.Responses.Facebook.ShopList();
            shoplist_response_parser.ixcrm_parser = ixcrm_parser;

            Roar.WebObjects.Facebook.ShopListResponse response = shoplist_response_parser.Build(nn);

            Assert.IsNotNull(response);
            Assert.AreEqual(2, response.shop_list.Count);
            Roar.DomainObjects.FacebookShopEntry e0 = response.shop_list[0];
            Assert.AreEqual("shop_item_ikey1", e0.ikey);
            Assert.AreEqual("Blah Blah", e0.description);
            Assert.AreEqual("label", e0.label);
            Assert.AreEqual("2", e0.price);
            Assert.AreEqual("http://foo.bar", e0.product_url);
            Assert.AreEqual("http://foo.bar/baz.png", e0.image_url);
            Assert.AreSame(modifier_list, e0.modifiers);

            Roar.DomainObjects.FacebookShopEntry e1 = response.shop_list[1];
            Assert.AreEqual("shop_item_ikey2", e1.ikey);
            Assert.AreEqual("Blah Boo", e1.description);
            Assert.AreEqual("item2", e1.label);
            Assert.AreEqual("4", e1.price);
            Assert.AreEqual("ABC", e1.product_url);
            Assert.AreEqual("...", e1.image_url);
            Assert.AreSame(modifier_list1, e1.modifiers);

            mockery.VerifyAllExpectationsHaveBeenMet();
        }
コード例 #14
0
        public void TestListShopXmlParsesCorrectly_System()
        {
            string xml =
                @"<roar tick=""135562028150"">
				<shop>
					<list status=""ok"">
						<shopitem ikey=""rocket_fuel"" label=""Rocket Fuel"" description="""">
							<costs>
								<stat_cost type=""currency"" ikey=""gamecoins"" value=""10"" ok=""true""/>
							</costs>
							<modifiers>
								<grant_stat type=""currency"" ikey=""rocket_fuel"" value=""100""/>
							</modifiers>
							<tags/>
						</shopitem>
						<shopitem ikey=""neil_armstrong"" label=""Neil Armstrong"" description=""Best copilot in the world"">
							<costs>
								<stat_cost type=""currency"" ikey=""premium_currency"" value=""15"" ok=""false"" reason=""Insufficient Premium Currency""/>
							</costs>
							<modifiers>
								<grant_item ikey=""npc_armstrong""/>
							</modifiers>
							<tags>
								<tag value=""copilot""/>
							</tags>
						</shopitem>
						<shopitem ikey=""starter_space_pack"" label=""Starter Space Pack"" description=""Get going!"">
							<costs>
								<stat_cost type=""currency"" ikey=""gamecoins"" value=""20"" ok=""true""/>
							</costs>
							<modifiers>
								<grant_stat type=""currency"" ikey=""rocket_fuel"" value=""30""/>
								<grant_item ikey=""regular_space_helmet""/>
								<grant_item ikey=""rocket_ship""/>
							</modifiers>
							<tags>
								<tag value=""pack""/>
							</tags>
						</shopitem>
					</list>
				</shop>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);
            Assert.IsNotNull(nn);

            System.Xml.XmlNode c1 = nn.SelectSingleNode("./shop/list/shopitem[1]/costs");
            System.Xml.XmlNode c2 = nn.SelectSingleNode("./shop/list/shopitem[2]/costs");
            System.Xml.XmlNode c3 = nn.SelectSingleNode("./shop/list/shopitem[3]/costs");
            Assert.IsNotNull(c1);
            Assert.IsNotNull(c2);
            Assert.IsNotNull(c3);
            Assert.AreEqual("gamecoins", (c1.SelectSingleNode("./stat_cost") as System.Xml.XmlElement).GetAttribute("ikey"));
            Assert.AreEqual("premium_currency", (c2.SelectSingleNode("./stat_cost") as System.Xml.XmlElement).GetAttribute("ikey"));
            Assert.AreEqual("gamecoins", (c3.SelectSingleNode("./stat_cost") as System.Xml.XmlElement).GetAttribute("ikey"));


            IList <Roar.DomainObjects.Cost> cl1 = new List <Roar.DomainObjects.Cost>();
            IList <Roar.DomainObjects.Cost> cl2 = new List <Roar.DomainObjects.Cost>();
            IList <Roar.DomainObjects.Cost> cl3 = new List <Roar.DomainObjects.Cost>();

            System.Xml.XmlNode m1 = nn.SelectSingleNode("./shop/list/shopitem[1]/modifiers");
            System.Xml.XmlNode m2 = nn.SelectSingleNode("./shop/list/shopitem[2]/modifiers");
            System.Xml.XmlNode m3 = nn.SelectSingleNode("./shop/list/shopitem[3]/modifiers");
            Assert.IsNotNull(m1);
            Assert.IsNotNull(m2);
            Assert.IsNotNull(m3);
            IList <Roar.DomainObjects.Modifier> ml1 = new List <Roar.DomainObjects.Modifier>();
            IList <Roar.DomainObjects.Modifier> ml2 = new List <Roar.DomainObjects.Modifier>();
            IList <Roar.DomainObjects.Modifier> ml3 = new List <Roar.DomainObjects.Modifier>();


            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>();

            Expect.Once.On(ixcrm_parser).Method("ParseCostList").With(new SystemXmlMatcher(c1 as System.Xml.XmlElement)).Will(Return.Value(cl1));
            Expect.Once.On(ixcrm_parser).Method("ParseCostList").With(new SystemXmlMatcher(c2 as System.Xml.XmlElement)).Will(Return.Value(cl2));
            Expect.Once.On(ixcrm_parser).Method("ParseCostList").With(new SystemXmlMatcher(c3 as System.Xml.XmlElement)).Will(Return.Value(cl3));

            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(new SystemXmlMatcher(m1 as System.Xml.XmlElement)).Will(Return.Value(ml1));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(new SystemXmlMatcher(m2 as System.Xml.XmlElement)).Will(Return.Value(ml2));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(new SystemXmlMatcher(m3 as System.Xml.XmlElement)).Will(Return.Value(ml3));



            Roar.DataConversion.Responses.Shop.List shoplist_response_parser = new Roar.DataConversion.Responses.Shop.List();
            shoplist_response_parser.ixcrm_parser = ixcrm_parser;

            Roar.WebObjects.Shop.ListResponse response = shoplist_response_parser.Build(nn);

            Assert.IsNotNull(response);

            mockery.VerifyAllExpectationsHaveBeenMet();
        }
コード例 #15
0
        public void TestWhatCanISendParseMechanics()
        {
            string xml =
                @"<roar tick=""12835555872"">
				<mail>
					<what_can_i_send status=""ok"">
						<mailable id=""3467"" type=""gift"" label=""a label"">
							<requirements>
								<friends_requirement required=""5"" ok=""false"" reason=""Insufficient friends""/>
								<level_requirement level=""3"" ok=""true"" reason=""requires level 3""/>
							</requirements>
							<costs>
								<item_cost ikey=""mariner"" number_required=""3"" ok=""false"" reason=""requires mariner(3)""/>
								<stat_cost type=""currency"" ikey=""premium_currency"" value=""477"" ok=""true""/>
							</costs>
							<on_accept>
								<grant_item ikey=""your_gift_item_ikey""/>
							</on_accept>
							<on_give>
								<grant_xp value=""500""/>
							</on_give>
							<tags>
								<tag value=""tag 1""/>
								<tag value=""tag 2""/>
							</tags>
						</mailable>
					</what_can_i_send>
				</mail>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);
            Roar.DataConversion.Responses.Mail.WhatCanISend what_can_i_send_parser = new Roar.DataConversion.Responses.Mail.WhatCanISend();

            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>();
            what_can_i_send_parser.ixcrm_parser = ixcrm_parser;

            IList <Roar.DomainObjects.Requirement> requirement_list = new List <Roar.DomainObjects.Requirement>();
            IList <Roar.DomainObjects.Cost>        cost_list        = new List <Roar.DomainObjects.Cost>();
            IList <Roar.DomainObjects.Modifier>    accept_list      = new List <Roar.DomainObjects.Modifier>();
            IList <Roar.DomainObjects.Modifier>    give_list        = new List <Roar.DomainObjects.Modifier>();
            IList <string> tag_list = new List <string>();

            Expect.Once.On(ixcrm_parser).Method("ParseRequirementList").With(nn.SelectSingleNode("./mail/what_can_i_send/mailable/requirements")).Will(Return.Value(requirement_list));
            Expect.Once.On(ixcrm_parser).Method("ParseCostList").With(nn.SelectSingleNode("./mail/what_can_i_send/mailable/costs")).Will(Return.Value(cost_list));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./mail/what_can_i_send/mailable/on_accept")).Will(Return.Value(accept_list));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./mail/what_can_i_send/mailable/on_give")).Will(Return.Value(give_list));
            Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./mail/what_can_i_send/mailable/tags")).Will(Return.Value(tag_list));

            Roar.WebObjects.Mail.WhatCanISendResponse response = what_can_i_send_parser.Build(nn);

            mockery.VerifyAllExpectationsHaveBeenMet();

            Assert.IsNotNull(response.mailables);
            Assert.AreEqual(response.mailables.Count, 1);
            Assert.AreEqual(response.mailables[0].id, "3467");
            Assert.AreEqual(response.mailables[0].type, "gift");
            Assert.AreEqual(response.mailables[0].label, "a label");
            Assert.AreEqual(response.mailables[0].requirements, requirement_list);
            Assert.AreEqual(response.mailables[0].costs, cost_list);
            Assert.AreEqual(response.mailables[0].on_accept, accept_list);
            Assert.AreEqual(response.mailables[0].on_give, give_list);
            Assert.AreEqual(response.mailables[0].tags, tag_list);
        }
コード例 #16
0
ファイル: frmDBStructCreate.cs プロジェクト: siszoey/geosufan
        private void btnOk_Click(object sender, EventArgs e)
        {
            btnOk.Enabled = false;
            try
            {
                #region 检查设置是否完备

                if (comBoxType.SelectedIndex == 1)
                {
                    if (txtServer.Text.Length == 0 || txtInstance.Text.Length == 0 || txtUser.Text.Length == 0 || txtPassWord.Text.Length == 0 || txtVersion.Text.Length == 0)
                    {
                        labelXErr.Text = "请完整设置SDE服务器访问参数!";
                        btnOk.Enabled  = true;
                        return;
                    }
                }
                else
                {
                    if (txtDataBase.Text.Length == 0)
                    {
                        labelXErr.Text = "请完整设置本地数据库路径!";
                        btnOk.Enabled  = true;
                        return;
                    }
                }

                if (txtProjFilePath.Text.Length == 0 || textRuleFilePath.Text.Length == 0)
                {
                    labelXErr.Text = "请完整设置空间参考与库体配置文件访问路径!";
                    btnOk.Enabled  = true;
                    return;
                }
                #endregion

                SysCommon.Gis.ICreateGeoDatabase pCreateGeoDatabase = new SysCommon.Gis.CreateArcGISGeoDatabase();

                if (!pCreateGeoDatabase.LoadDBShecmaDocument(textRuleFilePath.Text))
                {
                    SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "读取库体配置文件失败,请检查配置文件是否正确!");
                    return;
                }
                pCreateGeoDatabase.LoadSpatialReference(txtProjFilePath.Text);

                #region 设置数据库连接

                List <string> Pra = new List <string>();

                if (this.comBoxType.SelectedIndex == 2)    //PDB库体
                {
                    pCreateGeoDatabase.SetDestinationProp("PDB", txtDataBase.Text, "", "", "", "");
                    Pra.Add("PDB");
                    Pra.Add(txtDataBase.Text);
                }
                else if (this.comBoxType.SelectedIndex == 1)    //SDE库体
                {
                    pCreateGeoDatabase.SetDestinationProp("SDE", txtServer.Text, txtInstance.Text, txtUser.Text, txtPassWord.Text, txtVersion.Text);
                    Pra.Add("SDE");
                    Pra.Add(txtServer.Text);
                    Pra.Add(txtInstance.Text);
                    Pra.Add(txtUser.Text);
                    Pra.Add(txtVersion.Text);
                }
                else if (this.comBoxType.SelectedIndex == 0)   //GDB库体
                {
                    pCreateGeoDatabase.SetDestinationProp("GDB", txtDataBase.Text, "", "", "", "");
                    Pra.Add("GDB");
                    Pra.Add(txtDataBase.Text);
                }
                #endregion

                //**********************************************
                //guozheng added System Function log
                Pra.Add(this.txtProjFilePath.Text);
                Pra.Add(this.textRuleFilePath.Text);
                if (ModData.SysLog != null)
                {
                    ModData.SysLog.Write("构建空间数据库库体", Pra, DateTime.Now);
                }
                else
                {
                    ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                    ModData.SysLog.Write("构建空间数据库库体", Pra, DateTime.Now);
                }
                //*********************************************

                List <string> DSName = new List <string>();
                if (!pCreateGeoDatabase.CreateDBStruct(DSName))
                {
                    return;
                }

                string pDSName = DSName[0];


                //================================================================================================================
                //创建远程日志表

                Exception err = null;
                labelXErr.Text = "创建远程日志表....";
                string mDbType = "";
                if (this.comBoxType.SelectedIndex == 2)
                {
                    mDbType = "PDB";
                }
                else if (this.comBoxType.SelectedIndex == 1)
                {
                    mDbType = "SDE";
                }
                else if (this.comBoxType.SelectedIndex == 0)
                {
                    mDbType = "GDB";
                }
                if (!pCreateGeoDatabase.CreateSQLTable(mDbType, out err))//!CreateTable(pTagetWorkspace,out err)
                {
                    SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "创建远程日志表失败!\n" + err.Message);
                    btnOk.Enabled = true;
                    return;
                }

                ///将现势库信息写入配置文件(bin目录下的Admin.xml)

                ///
                DevComponents.AdvTree.Node pCurNode = m_Hook.ProjectTree.SelectedNode; ///获得树图上选择的工程节点

                string pProjectname = pCurNode.Text;

                System.Xml.XmlNode    Projectnode        = m_Hook.DBXmlDocument.SelectSingleNode("工程管理/工程[@名称='" + pProjectname + "']");
                System.Xml.XmlElement ProjectNodeElement = Projectnode as System.Xml.XmlElement;

                System.Xml.XmlElement ProjectConnEle = ProjectNodeElement.SelectSingleNode(".//现势库/连接信息") as System.Xml.XmlElement;
                ///设置数据库连接类型

                ///
                if (this.comBoxType.SelectedIndex == 2)
                {
                    ProjectConnEle.SetAttribute("类型", "PDB");
                    ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
                }
                else if (this.comBoxType.SelectedIndex == 0)
                {
                    ProjectConnEle.SetAttribute("类型", "GDB");
                    ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
                }
                else if (this.comBoxType.SelectedIndex == 1)
                {
                    ProjectConnEle.SetAttribute("类型", "SDE");
                    ProjectConnEle.SetAttribute("服务器", txtServer.Text);
                    ProjectConnEle.SetAttribute("服务名", txtInstance.Text);
                    ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
                    ProjectConnEle.SetAttribute("用户", txtUser.Text);
                    ProjectConnEle.SetAttribute("密码", txtPassWord.Text);
                    ProjectConnEle.SetAttribute("版本", txtVersion.Text);
                }

                ///设置数据集名称

                ///
                System.Xml.XmlElement ProjectUserDSEle = ProjectConnEle.SelectSingleNode(".//库体") as System.Xml.XmlElement;
                ProjectUserDSEle.SetAttribute("名称", pDSName);

                m_Hook.DBXmlDocument.Save(ModData.v_projectXML);

                labelXErr.Text = "创建完成!";

                SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "创建库体成功!");
                this.Close();

                return;
            }
            catch (Exception ex)
            {
                //labelXErr.Text = "发生错误!"+ex.Message;

                //*******************************************************************
                //guozheng added
                if (ModData.SysLog != null)
                {
                    ModData.SysLog.Write(ex, null, DateTime.Now);
                }
                else
                {
                    ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                    ModData.SysLog.Write(ex, null, DateTime.Now);
                }
                //********************************************************************

                SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "发生错误!" + ex.Message);
                btnOk.Enabled = true;
                return;
            }
        }
コード例 #17
0
        protected override void ProcessConversation(Conversation conversation)
        {
            List <RequestResponsePair> filteredList = conversation.GetMessages(
                ContentType.Http).Where(item => item.GetRequest <HttpMessage>().ContainsTag(
                                            "LockDownReleaseDoor")).ToList();

            AffectedPairs.AddRange(filteredList);

            if (0 == filteredList.Count)
            {
                throw new TestNotSupportedException(
                          "Conversation does not contain <LockDownReleaseDoor> messages");
            }
            // TODO replace hardcoded values

            BeginStep("Client request message is a well-formed SOAP request");
            foreach (RequestResponsePair pair in filteredList)
            {
                if (ValidationStatus.Failed == pair.Request.ValidationStatus)
                {
                    // SOAP Validation failed == step failed
                    StepFailed(pair, pair.Request.ValidationError);
                    break;
                }
            }
            StepCompleted();

            BeginStep("Client request contains \"<LockDownReleaseDoor>\" tag");
            StepCompleted();

            BeginStep("\"<LockDownReleaseDoor>\" includes tag \"<Token>\"");
            foreach (RequestResponsePair pair in filteredList)
            {
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.LoadXml(pair.GetRequest <HttpMessage>().GetXmlString(
                                XmlNamespaceOption.IgnoreNamespaces));
                System.Xml.XmlElement docElem   = doc.DocumentElement;
                System.Xml.XmlNode    nodeToken = docElem.SelectSingleNode(
                    "Body/LockDownReleaseDoor/Token");
                if (nodeToken == null)
                {
                    StepFailed(pair, "Request's \"<LockDownReleaseDoor>\" does not" +
                               " include tag \"<Token>\"");
                    break;
                }
            }
            StepCompleted();

            BeginStep("Device response contains \"HTTP/* 200 OK\"");
            foreach (RequestResponsePair pair in filteredList)
            {
                if ("200" != pair.GetResponse <HttpResponse>().StatusCode)
                {
                    StepFailed(pair, "Response does not contain 200 OK");
                    break;
                }
            }
            StepCompleted();

            BeginStep("Device response contains \"<LockDownReleaseDoorResponse>\" tag");
            foreach (RequestResponsePair pair in filteredList)
            {
                if (!pair.GetResponse <HttpMessage>().ContainsTag(
                        "LockDownReleaseDoorResponse"))
                {
                    StepFailed(pair, "<LockDownReleaseDoorResponse> tag is absent");
                    break;
                }
            }
            StepCompleted();

            BeginStep("Device response does NOT contain \"<SOAP-ENV:Fault*\" tag");
            foreach (RequestResponsePair pair in filteredList)
            {
                if (pair.GetResponse <HttpMessage>().ContainsTag(SoapOptions.FAULT_TAG))
                {
                    StepFailed(pair, "SOAP fault detected");
                    break;
                }
            }
            StepCompleted();
        }
コード例 #18
0
        public void TestViewPlayerParseMechanics()
        {
            string xml =
                @"<roar tick=""125555206993"">
				<admin>
					<view_player status=""ok"">
						<attribute ikey=""id"" value=""2059428086"" type=""special""/>
						<attribute ikey=""xp"" value=""0"" type=""special""/>
						<attribute ikey=""level"" value=""1"" type=""special""/>
						<attribute ikey=""facebook_uid"" value=""0"" type=""special""/>
						<attribute ikey=""name"" value=""foo"" type=""special""/>
						<attribute ikey=""attack"" value=""10"" type=""core"" label=""Attack""/>
						<attribute ikey=""defence"" value=""10"" type=""core"" label=""Core Defence""/>
						<attribute ikey=""hit"" value=""10"" type=""core"" label=""Hit Power""/>
						<attribute ikey=""avoid"" value=""10"" type=""core"" label=""avoid""/>
						<attribute ikey=""health"" value=""100"" type=""resource"" max=""123"" min=""0"" regen_every=""1000"" label=""Health""/>
						<attribute ikey=""energy"" value=""20"" type=""resource"" max=""123"" min=""0"" regen_every=""1000"" label=""Energy""/>
						<attribute ikey=""stamina"" value=""5"" type=""resource"" max=""123"" min=""0"" regen_every=""1000"" label=""Stamina""/>
						<attribute ikey=""profile_points"" value=""0"" type=""currency"" label=""Monkey Power Points""/>
						<attribute ikey=""cash"" value=""100"" type=""currency"" lable=""cash""/>
						<attribute ikey=""premium_currency"" value=""5"" type=""currency"" label=""Bear Dollars""/>
						<items>
							<item id=""1001"" ikey=""item_ikey"" count=""1"" label=""A Label"" type=""thing"" description=""A thing"" consumable=""false"" sellable=""true"" equipped=""false"">
								<stats>
									<equip_attribute ikey=""health_max"" value=""100""/>
									<grant_stat ikey=""cash"" value=""100""/>
									<grant_stat ikey=""energy"" value=""-5""/>
								</stats>
								<properties>
									<property ikey=""size"" value=""3""/>
								</properties>
								<tags>
									<tag value=""weapon""/>
								</tags>
							</item>
						</items>
					</view_player>
				</admin>
			</roar>"            ;

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);

            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>();

            Roar.DataConversion.Responses.Admin.ViewPlayer view_player_parser = new Roar.DataConversion.Responses.Admin.ViewPlayer();
            view_player_parser.ixcrm_parser = ixcrm_parser;

            List <Roar.DomainObjects.ItemStat> stat_list     = new List <Roar.DomainObjects.ItemStat>();
            List <Roar.DomainObjects.Modifier> modifier_list = new List <Roar.DomainObjects.Modifier>();
            List <string> tag_list = new List <string>();

            Expect.Once.On(ixcrm_parser).Method("ParseItemStatList").With(nn.SelectSingleNode("./admin/view_player/items/item/stats")).Will(Return.Value(stat_list));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./amdin/view_player/items/item/price")).Will(Return.Value(modifier_list));
            Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./admin/view_player/items/item/tags")).Will(Return.Value(tag_list));

            ViewPlayerResponse response = view_player_parser.Build(nn);

            mockery.VerifyAllExpectationsHaveBeenMet();

            Assert.AreEqual(response.player.id, "2059428086");
            Assert.AreEqual(response.player.name, "foo");
            Assert.AreEqual(response.player.xp.value, 0);
            Assert.AreEqual(response.player.level, 1);
            Assert.AreEqual(response.player.attributes.Count, 11);
            Assert.AreEqual(response.player.attributes["facebook_uid"].value, "0");
            Assert.AreEqual(response.player.attributes["facebook_uid"].type, "special");
            Assert.AreEqual(response.player.attributes["hit"].label, "Hit Power");
            Assert.AreEqual(response.items.Count, 1);
            Assert.AreEqual(response.items[0].stats, stat_list);
            Assert.AreEqual(response.items[0].price, modifier_list);
            Assert.AreEqual(response.items[0].tags, tag_list);
        }
コード例 #19
0
ファイル: CourseTagRecord.cs プロジェクト: ischoolinc/JHCore
 protected override string GetEntityID(System.Xml.XmlElement data)
 {
     return(data.SelectSingleNode("CourseID").InnerText);
 }
コード例 #20
0
        /// <summary>
        /// 确定,开始执行创建辅助库操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonXOK_Click(object sender, EventArgs e)
        {
            this._DesDSName = comboBoxEx2.Text;

            #region 创建辅助库的表对象


            if (comboBoxEx1.SelectedIndex == 0)   //本地辅助库
            {
                if (textBoxXServer.Text == "")
                {
                    SysCommon.Error.ErrorHandle.ShowInform("提示", "请设置辅助库连接!");
                    return;
                }
                if (textBoxXInstance.Text.Trim() == "")
                {
                    SysCommon.Error.ErrorHandle.ShowInform("提示", "请设置实例名称!");
                    return;
                }
                //初始化更新辅助库体结构和辅助要素类以及图幅结合表
                GOFuzingTables InitTable = new GOFuzingTables(textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".mdb");
                InitTable.CreateDefaultFeatureClass("ice_CaseScope", false);
                InitTable.CreateDefaultTables(false, true);
                InitTable.CreateDefaultFeatureClass("ice_Map", true);
                InitTable.Dispose();
            }
            else if (comboBoxEx1.SelectedIndex == 1)    //远程辅助库
            {
                if (textBoxXServer.Text == "" || textBoxXInstance.Text == "" || textBoxXUser.Text == "" || textBoxXPassword.Text == "")
                {
                    SysCommon.Error.ErrorHandle.ShowInform("提示", "请设置辅助库连接!");
                    return;
                }
                IPropertySet pPropertySet = new PropertySetClass();
                pPropertySet.SetProperty("SERVER", textBoxXServer.Text);
                pPropertySet.SetProperty("INSTANCE", textBoxXInstance.Text);
                pPropertySet.SetProperty("USER", textBoxXUser.Text);
                pPropertySet.SetProperty("PASSWORD", textBoxXPassword.Text);
                pPropertySet.SetProperty("VERSION", "SDE.DEFAULT");

                //初始化更新辅助库体结构和辅助要素类以及图幅结合表
                GOFuzingTables InitTable = new GOFuzingTables(pPropertySet);
                InitTable.CreateDefaultFeatureClass("ice_CaseScope", false);
                InitTable.CreateDefaultTables(false, true);
                InitTable.CreateDefaultFeatureClass("ice_Map", true);
                InitTable.Dispose();
            }
            #endregion


            ///根据指定的更新目标的库体结构
            ///创建更新外部库表结构
            ///
            #region 根据指定的目标库体创建工作库体结构

            if (comboBoxEx1.SelectedIndex == 0)   //本地外部库
            {
                GOFuzingSpatialTables InitTable = null;

                if (comBoxType.SelectedIndex == 2)   //更新目标位PDB
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("DATABASE", txtDataBase.Text);

                    InitTable = new GOFuzingSpatialTables(textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".gdb", "PDB", pPropertySet);
                }
                else if (comBoxType.SelectedIndex == 0)  //更新目标为GDB
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("DATABASE", txtDataBase.Text);
                    InitTable = new GOFuzingSpatialTables(textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".gdb", "GDB", pPropertySet);
                }
                else if (comBoxType.SelectedIndex == 1)  //更新目标位SDE
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("SERVER", txtServer.Text);
                    pPropertySet.SetProperty("INSTANCE", txtInstance.Text);
                    pPropertySet.SetProperty("USER", txtUser.Text);
                    pPropertySet.SetProperty("PASSWORD", txtPassWord.Text);
                    pPropertySet.SetProperty("VERSION", txtVersion.Text);
                    InitTable = new GOFuzingSpatialTables(textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".gdb", "SDE", pPropertySet);
                }

                if (comboBoxEx2.Text == string.Empty)    //如果没有指定数据集
                {
                    ArrayList FCName = null;;
                    GetFCname("", out FCName);

                    foreach (string var in FCName)
                    {
                        InitTable.CreateDefaultFeatureClass(var, false);
                        InitTable.CreateDefaultFeatureClass(var + "_t", false, true);
                        InitTable.CreateDefaultFeatureClass(var + "_GOH", false, true);
                    }



                    //string[] strFCName=FCName.ToArray();
                    //for (int i = 0; i < strFCName.Length-1; i++)
                    //{

                    //    InitTable.CreateDefaultFeatureClass(strFCName[i], false);
                    //    InitTable.CreateDefaultFeatureClass(strFCName[i]+"_1", false);
                    //}
                }
                else   //如果指定了数据集
                {
                    ArrayList FCName = null;
                    GetFCname(comboBoxEx2.Text, out FCName);

                    Int32 i = 0;
                    foreach (string var in FCName)
                    {
                        if (i > 0)
                        {
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, false);
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, false, "_t");
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, false, "_GOH", true);
                        }
                        else
                        {
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, true);
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, true, "_t");
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, true, "_GOH", true);
                            i = i + 1;
                        }
                    }

                    //string[] strFCName=FCName.ToArray();

                    //for (int i = 0; i < strFCName.Length-1; i++)
                    //{
                    //    InitTable.CreateFeatureClassUnderDS(strFCName[i], comboBoxEx2.Text, false);
                    //    InitTable.CreateFeatureClassUnderDS(strFCName[i] + "_1", comboBoxEx2.Text + "_1", false);

                    //}
                }
                InitTable.Dispose();
            }
            else if (comboBoxEx1.SelectedIndex == 1)    //远程外部库
            {
                GOFuzingSpatialTables InitTable = null;

                if (comBoxType.SelectedIndex == 2)   //更新目标位PDB
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("DATABASE", txtDataBase.Text);

                    ///外部库在SDE上时
                    IPropertySet pOutPropertySet = new PropertySetClass();
                    pOutPropertySet.SetProperty("SERVER", textBoxXServer.Text);
                    pOutPropertySet.SetProperty("INSTANCE", textBoxXInstance.Text);
                    pOutPropertySet.SetProperty("USER", textBoxXUser.Text);
                    pOutPropertySet.SetProperty("PASSWORD", textBoxXPassword.Text);
                    pOutPropertySet.SetProperty("VERSION", "SDE.DEFAULT");


                    InitTable = new GOFuzingSpatialTables(pOutPropertySet, "PDB", pPropertySet);
                }
                else if (comBoxType.SelectedIndex == 0)  //更新目标为GDB
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("DATABASE", txtDataBase.Text);


                    ///外部库在SDE上时
                    IPropertySet pOutPropertySet = new PropertySetClass();
                    pOutPropertySet.SetProperty("SERVER", textBoxXServer.Text);
                    pOutPropertySet.SetProperty("INSTANCE", textBoxXInstance.Text);
                    pOutPropertySet.SetProperty("USER", textBoxXUser.Text);
                    pOutPropertySet.SetProperty("PASSWORD", textBoxXPassword.Text);
                    pOutPropertySet.SetProperty("VERSION", "SDE.DEFAULT");

                    InitTable = new GOFuzingSpatialTables(pOutPropertySet, "GDB", pPropertySet);
                }
                else if (comBoxType.SelectedIndex == 1)  //更新目标位SDE
                {
                    IPropertySet pPropertySet = new PropertySetClass();
                    pPropertySet.SetProperty("SERVER", txtServer.Text);
                    pPropertySet.SetProperty("INSTANCE", txtInstance.Text);
                    pPropertySet.SetProperty("USER", txtUser.Text);
                    pPropertySet.SetProperty("PASSWORD", txtPassWord.Text);
                    pPropertySet.SetProperty("VERSION", txtVersion.Text);

                    ///外部库在SDE上时
                    IPropertySet pOutPropertySet = new PropertySetClass();
                    pOutPropertySet.SetProperty("SERVER", textBoxXServer.Text);
                    pOutPropertySet.SetProperty("INSTANCE", textBoxXInstance.Text);
                    pOutPropertySet.SetProperty("USER", textBoxXUser.Text);
                    pOutPropertySet.SetProperty("PASSWORD", textBoxXPassword.Text);
                    pOutPropertySet.SetProperty("VERSION", "SDE.DEFAULT");

                    InitTable = new GOFuzingSpatialTables(pOutPropertySet, "SDE", pPropertySet);
                }

                if (comboBoxEx2.Text == string.Empty)    //如果没有指定数据集
                {
                    ArrayList FCName = null;;
                    GetFCname("", out FCName);

                    foreach (string var in FCName)
                    {
                        InitTable.CreateDefaultFeatureClass(var, false);
                        InitTable.CreateDefaultFeatureClass(var + "_t", false);
                    }



                    //string[] strFCName=FCName.ToArray();
                    //for (int i = 0; i < strFCName.Length-1; i++)
                    //{

                    //    InitTable.CreateDefaultFeatureClass(strFCName[i], false);
                    //    InitTable.CreateDefaultFeatureClass(strFCName[i]+"_1", false);
                    //}
                }
                else   //如果指定了数据集
                {
                    ArrayList FCName = null;
                    GetFCname(comboBoxEx2.Text, out FCName);

                    Int32 i = 0;
                    foreach (string var in FCName)
                    {
                        if (i > 0)
                        {
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, false);
                            InitTable.CreateFeatureClassUnderDS(var + "_t", comboBoxEx2.Text + "_t", false, false);
                        }
                        else
                        {
                            InitTable.CreateFeatureClassUnderDS(var, comboBoxEx2.Text, false, true);
                            InitTable.CreateFeatureClassUnderDS(var + "_t", comboBoxEx2.Text + "_t", false, true);
                            i = i + 1;
                        }
                    }

                    //string[] strFCName=FCName.ToArray();

                    //for (int i = 0; i < strFCName.Length-1; i++)
                    //{
                    //    InitTable.CreateFeatureClassUnderDS(strFCName[i], comboBoxEx2.Text, false);
                    //    InitTable.CreateFeatureClassUnderDS(strFCName[i] + "_1", comboBoxEx2.Text + "_1", false);

                    //}
                }
                InitTable.Dispose();
            }
            #endregion

            ///将更新环境数据库访问方式写入xml文档对象
            ///
            DevComponents.AdvTree.Node pCurNode = m_Hook.ProjectTree.SelectedNode; ///获得树图上选择的工程节点

            string pProjectname = pCurNode.Name;

            System.Xml.XmlNode    Projectnode        = m_Hook.DBXmlDocument.SelectSingleNode("工程管理/工程[@名称='" + pProjectname + "']");
            System.Xml.XmlElement ProjectNodeElement = Projectnode as System.Xml.XmlElement;

            System.Xml.XmlElement ProjectAidConnEle = ProjectNodeElement.SelectSingleNode(".//更新库/配置库/连接信息") as System.Xml.XmlElement;
            ///设置数据库连接类型

            ///
            if (comboBoxEx1.SelectedIndex == 0)
            {
                ProjectAidConnEle.SetAttribute("类型", "Access");
            }
            else if (comboBoxEx1.SelectedIndex == 1)
            {
                ProjectAidConnEle.SetAttribute("类型", "Oracle");
            }

            ///设置具体连接方式
            ///
            if (comboBoxEx1.SelectedIndex == 0)
            {
                string text = textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".mdb";
                ProjectAidConnEle.SetAttribute("数据库", text);
            }
            else if (comboBoxEx1.SelectedIndex == 1)
            {
                ProjectAidConnEle.SetAttribute("数据库", textBoxXServer.Text);
                ProjectAidConnEle.SetAttribute("用户", textBoxXUser.Text);
                ProjectAidConnEle.SetAttribute("密码", textBoxXPassword.Text);
            }

            System.Xml.XmlElement ProjectTempDBConnEle = ProjectNodeElement.SelectSingleNode(".//更新库/数据库/连接信息") as System.Xml.XmlElement;

            ProjectTempDBConnEle.SetAttribute("类型", "GDB");
            ProjectTempDBConnEle.SetAttribute("数据库", textBoxXServer.Text + "\\" + textBoxXInstance.Text + ".gdb");

            System.Xml.XmlElement CurDBEle = ProjectTempDBConnEle.SelectSingleNode("库体[@类型='现势']") as System.Xml.XmlElement;
            CurDBEle.SetAttribute("名称", comboBoxEx2.Text);
            System.Xml.XmlElement TempDBEle = ProjectTempDBConnEle.SelectSingleNode("库体[@类型='工作']") as System.Xml.XmlElement;
            TempDBEle.SetAttribute("名称", comboBoxEx2.Text + "_t");
            System.Xml.XmlElement HisDBEle = ProjectTempDBConnEle.SelectSingleNode("库体[@类型='历史']") as System.Xml.XmlElement;
            HisDBEle.SetAttribute("名称", comboBoxEx2.Text + "_GOH");

            m_Hook.DBXmlDocument.Save(ModData.v_projectXML);


            //释放类成员

            if (_UpadateDesWorkspace != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(_UpadateDesWorkspace);
            }

            SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "更新环境初始化完成!");
            this.Close();
        }
コード例 #21
0
        static void OldMain()
        {
            bool b = false; // Remove "Unreachable Code" warning

            if (b)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            } // End if (false)


            string strPath = @"S:\StefanSteiger\COR_Basic\";

            //string strReport = "GM_Gebaeudestammdaten.rdl";
            string strReport = "GM_Gebaeudestammdaten_ML.rdl";

            strReport = "AL_Anlageninventar_ML.rdl";
            strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl";
            strReport = "FM_NutzungsartenDIN_277_Wincasa_ML.rdl";
            strReport = "KU_Kunstinventar_ML.rdl";

            string FILE_NAME = System.IO.Path.Combine(strPath, strReport);

            // AddProc(FILE_NAME);
            // AddMandant(FILE_NAME);

            // ReadUsingReportViewer(FILE_NAME);
            //Select the cd node with the matching title
            System.Xml.XmlDocument doc = XmlTools.File2XmlDocument(FILE_NAME);



            string strXML = @"
<result>
    <relatedProducts>
        <item>
            <id>123foo</id>
            <name>foo</name>
            <text>Foobar</text>
        </item>
        <item>
            <id>hello</id>
            <name>bye</name>
            <text>ciao</text>
        </item>
        <item>
            <id></id>
            <name></name>
            <text></text>
        </item>
    </relatedProducts>
</result>
";

            System.Xml.XmlDocument mydoc = new System.Xml.XmlDocument();
            mydoc.LoadXml(strXML);

            //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[text()"); // Should be: mydoc.SelectNodes("//*/*[text()");
            //System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(text(), 'foo')]");
            System.Xml.XmlNodeList x = mydoc.SelectNodes("//*[contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜÉÈÊÀÁÂÒÓÔÙÚÛÇÅÏÕÑŒ', 'abcdefghijklmnopqrstuvwxyzäöüéèêàáâòóôùúûçåïõñœ'),'foo')]"); // Should be: mydoc.SelectNodes("//*/*[text()");
            Console.WriteLine(x.Count);



            //Select the cd node with the matching title
            System.Xml.XmlElement          root  = doc.DocumentElement;
            System.Xml.XmlNamespaceManager nsmgr = ReportServerTools.GetReportNamespaceManager(doc);


            //System.Xml.XmlNodeList xxx = oldCd.SelectNodes("xpath");

            //System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()=\"String\"]", nsmgr);
            System.Xml.XmlNodeList xxx = root.SelectNodes("//*/dft:*[text()]", nsmgr);
            Console.WriteLine(xxx.Count);



            System.Xml.XmlNode oldCd = root.SelectSingleNode("/dft:Report/dft:DataSources/dft:DataSource[@Name=\"COR_Basic\"]", nsmgr);


            // System.Xml.XmlNode RepParams = root.SelectSingleNode("/dft:Report/dft:ReportParameters", nsmgr);
            // System.Xml.XmlNodeList AllParams = RepParams.SelectNodes("//dft:ReportParameter", nsmgr);



            // http://stackoverflow.com/questions/3655549/xpath-containstext-some-string-doesnt-work-when-used-with-node-with-more
            //System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter", nsmgr);
            System.Xml.XmlNodeList AllParams = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter/dft:Prompt[contains(text(),\"Liegenschaft\")]", nsmgr);
            Console.WriteLine(AllParams.Count);



            Console.WriteLine(" ----------------------------------------- ");


            foreach (System.Xml.XmlNode ThisParameter in AllParams)
            {
                // XmlAttribute a = doc.SelectSingleNode("/reply/@success");
                Console.WriteLine(ThisParameter.Attributes["Name"].Value);

                System.Xml.XmlNode ParamDataType = ThisParameter.SelectSingleNode("//dft:DataType", nsmgr);
                Console.WriteLine(ParamDataType.FirstChild.Value);
            } // Next ThisParameter

            System.Xml.XmlNodeList stichtage = root.SelectNodes("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr);
            System.Xml.XmlNode     stichtag  = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]", nsmgr);

            System.Xml.XmlNode stichtagvalue = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_stichtag\"]/dft:DefaultValue/dft:Values/dft:Value", nsmgr);

            Console.WriteLine(stichtagvalue.FirstChild.Value);


            // /dft:Report/dft:ReportParameters/dft:ReportParameter[@Name="in_gebaeude"]



            System.Xml.XmlNode datasetname = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_gebaeude\"]/dft:DefaultValue/dft:DataSetReference/dft:DataSetName", nsmgr);
            string             dataset     = datasetname.FirstChild.Value;

            System.Xml.XmlNode dsn = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]", nsmgr);


            System.Xml.XmlNode dsn3 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query", nsmgr);

            System.Xml.XmlNode commandtextnode = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:CommandText", nsmgr);
            string             commandText     = commandtextnode.FirstChild.Value;

            Console.WriteLine(commandText);


            System.Xml.XmlNodeList AllDatasetParams = root.SelectNodes("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr);
            Console.WriteLine(AllDatasetParams.Count);

            Console.WriteLine(" ----------------------------------------- ");
            foreach (System.Xml.XmlNode DataSetParameter in AllDatasetParams)
            {
                string strName = DataSetParameter.Attributes["Name"].Value;
                string lala    = DataSetParameter.FirstChild.FirstChild.Value;
                Console.WriteLine(lala);

                Console.WriteLine(strName);
            } // Next DataSetParameter


            System.Xml.XmlNode dsn5 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters", nsmgr);
            System.Xml.XmlNode dsn6 = root.SelectSingleNode("/dft:Report/dft:DataSets/dft:DataSet[@Name=\"SEL_Gebaeude\"]/dft:Query/dft:QueryParameters/dft:QueryParameter", nsmgr);


            System.Xml.XmlNodeList embeddedImages = root.SelectNodes("/dft:Report/dft:EmbeddedImages/dft:EmbeddedImage", nsmgr);


            System.Xml.XmlNode stao = root.SelectSingleNode("/dft:Report/dft:ReportParameters/dft:ReportParameter[@Name=\"in_standort\"]", nsmgr);
            if (stao != null)
            {
                Console.WriteLine("Has stao");
            }


            Console.WriteLine(stichtag);

            // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Value[text()="=Convert.FromBase64String(Parameters!def_logo.Value)"]
            // /dft:Report/dft:PageHeader/dft:ReportItems/dft:Image/dft:Visibility/dft:Hidden[text()="=CBool(Parameters!def_HideLogo.Value)"]



            // System.Xml.XmlElement newCd = doc.CreateElement("cd");
            // newCd.SetAttribute("country", "country.Text");

            // newCd.InnerXml = "<title>" + this.comboBox1.Text + "</title>" + "<artist>" + artist.Text + "</artist>" + "<price>" + price.Text + "</price>";

            // root.ReplaceChild(newCd, oldCd);

            //save the output to a file
            //doc.Save(FILE_NAME);


            Console.WriteLine(Environment.NewLine);
            Console.WriteLine(" --- Press any key to continue --- ");
            Console.ReadKey();
        } // End Sub Main
コード例 #22
0
        protected override void ProcessConversation(Conversation conversation)
        {
            var startStreamingList =
                conversation.GetMessages(ContentType.Http)
                .Where(item => item.GetRequest <HttpMessage>().ContainsTag("StartMulticastStreaming"))
                .ToList();

            var stopStreamingList =
                conversation.GetMessages(ContentType.Http)
                .Where(item => item.GetRequest <HttpMessage>().ContainsTag("StopMulticastStreaming"))
                .ToList();

            AffectedPairs.AddRange(startStreamingList);
            AffectedPairs.AddRange(stopStreamingList);

            bool fS1Printed                 = false;
            bool fS1PrintedSOAP             = false;
            bool fS2Printed                 = false;
            bool fS3Printed                 = false;
            bool fS4Printed                 = false;
            bool fS6Printed                 = false;
            bool fS6PrintedSOAP             = false;
            bool fS7Printed                 = false;
            bool fS8Printed                 = false;
            bool fS9Printed                 = false;
            int  nBestStep                  = 0;
            int  nBestIdx                   = 0;
            List <RequestResponsePair> msgs = conversation.GetMessages(ContentType.Http);
            int idx = -1;

            while (idx + 1 < msgs.Count && (idx = msgs.FindIndex(idx + 1,
                                                                 item => ContentType.Http == item.ContentType &&
                                                                 item.GetRequest <HttpMessage>().ContainsTag(
                                                                     "StartMulticastStreaming"))) != -1)
            {
                if (!fS1Printed)
                {
                    BeginStep("Client request contains <StartMulticastStreaming> tag", startStreamingList);
                    StepCompleted();
                    fS1Printed = true;
                }
                if (nBestStep == 0)
                {
                    nBestStep = 1;
                    nBestIdx  = idx;
                }
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.LoadXml(msgs[idx].GetRequest <HttpMessage>().GetXmlString(
                                XmlNamespaceOption.IgnoreNamespaces));
                System.Xml.XmlElement docElem          = doc.DocumentElement;
                System.Xml.XmlNode    nodeProfileToken =
                    docElem.SelectSingleNode(
                        "Body/StartMulticastStreaming/ProfileToken");
                if (nodeProfileToken != null)
                {
                    if (!fS2Printed)
                    {
                        BeginStep("<StartMulticastStreaming> includes tag " +
                                  "<ProfileToken>", startStreamingList);
                        StepCompleted();
                        fS2Printed = true;
                    }
                    if (nBestStep < 2)
                    {
                        nBestStep = 2;
                        nBestIdx  = idx;
                    }

                    if ("200" == msgs[idx].GetResponse <HttpResponse>().StatusCode)
                    {
                        if (!fS3Printed)
                        {
                            BeginStep("Device response contains \"HTTP/* 200 OK\"", startStreamingList, MessageType.Response);
                            StepCompleted();
                            fS3Printed = true;
                        }
                        if (nBestStep < 3)
                        {
                            nBestStep = 3;
                            nBestIdx  = idx;
                        }
                        if (msgs[idx].GetResponse <HttpMessage>().ContainsTag(
                                "StartMulticastStreamingResponse"))
                        {
                            if (!fS4Printed)
                            {
                                BeginStep(
                                    "Device response contains " +
                                    "<StartMulticastStreamingResponse> tag", startStreamingList, MessageType.Response);
                                StepCompleted();
                                fS4Printed = true;
                            }
                            if (nBestStep < 4)
                            {
                                nBestStep = 4;
                                nBestIdx  = idx;
                            }
                            if (idx + 1 < msgs.Count &&
                                ValidationStatus.Failed !=
                                msgs[idx + 1].Request.ValidationStatus)
                            {
                                if (msgs[idx + 1].GetRequest <HttpMessage>().ContainsTag(
                                        "StopMulticastStreaming"))
                                {
                                    if (!fS6Printed)
                                    {
                                        BeginStep("Client request contains " +
                                                  "<StopMulticastStreaming> tag", stopStreamingList);
                                        StepCompleted();
                                        fS6Printed = true;
                                    }
                                    if (nBestStep < 6)
                                    {
                                        nBestStep = 6;
                                        nBestIdx  = idx;
                                    }
                                    doc.LoadXml(msgs[idx + 1].GetRequest <HttpMessage>().
                                                GetXmlString(XmlNamespaceOption.IgnoreNamespaces));
                                    docElem          = doc.DocumentElement;
                                    nodeProfileToken = docElem.SelectSingleNode(
                                        "Body/StopMulticastStreaming/ProfileToken");
                                    if (nodeProfileToken != null)
                                    {
                                        if (!fS7Printed)
                                        {
                                            BeginStep("<StopMulticastStreaming> includes tag " +
                                                      "<ProfileToken>", stopStreamingList);
                                            StepCompleted();
                                            fS7Printed = true;
                                        }
                                        if (nBestStep < 7)
                                        {
                                            nBestStep = 7;
                                            nBestIdx  = idx;
                                        }

                                        if ("200" == msgs[idx + 1].GetResponse <HttpResponse>().StatusCode)
                                        {
                                            if (!fS8Printed)
                                            {
                                                BeginStep("Device response contains \"HTTP/* 200 OK\"", stopStreamingList, MessageType.Response);
                                                StepCompleted();
                                                fS8Printed = true;
                                            }
                                            if (nBestStep < 8)
                                            {
                                                nBestStep = 8;
                                                nBestIdx  = idx;
                                            }
                                            if (msgs[idx + 1].GetResponse <HttpMessage>().ContainsTag(
                                                    "StopMulticastStreamingResponse"))
                                            {
                                                if (!fS9Printed)
                                                {
                                                    BeginStep(
                                                        "Device response contains " +
                                                        "<StopMulticastStreamingResponse> tag", stopStreamingList, MessageType.Response);
                                                    StepCompleted();
                                                    fS9Printed = true;
                                                }
                                                if (nBestStep < 9)
                                                {
                                                    nBestStep = 9;
                                                    nBestIdx  = idx;
                                                }
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            RequestResponsePair pair = null;

            if (msgs.Count != 0)
            {
                pair = msgs[nBestIdx];
            }
            if (!fS1Printed)
            {
                BeginStep("Client request contains <StartMulticastStreaming> tag", startStreamingList);
                throw new TestNotSupportedException("Conversation does not contain requests with <StartMulticastStreaming> tag");
                StepCompleted();
            }
            if (!fS2Printed)
            {
                BeginStep("<StartMulticastStreaming> includes tag <ProfileToken>", startStreamingList);
                StepFailed("<ProfileToken> tag is missing");
                StepCompleted();
            }
            if (!fS3Printed)
            {
                BeginStep("Device response contains \"HTTP/* 200 OK\"", startStreamingList, MessageType.Response);
                StepFailed("Response does not contain 200 OK");
                StepCompleted();
            }
            if (!fS4Printed)
            {
                BeginStep("Device response contains " +
                          "<StartMulticastStreamingResponse> tag", startStreamingList, MessageType.Response);
                StepFailed("<StartMulticastStreamingResponse> tag is missing");
                StepCompleted();
            }

            if (msgs.Count != 0 && nBestIdx + 1 < msgs.Count)
            {
                pair = msgs[nBestIdx + 1];
            }
            if (!fS6Printed)
            {
                BeginStep("Client request contains " +
                          "<StopMulticastStreaming> tag", stopStreamingList);
                StepFailed("<StopMulticastStreaming> tag is missing");
                StepCompleted();
            }
            if (!fS7Printed)
            {
                BeginStep("<StopMulticastStreaming> includes tag " +
                          "<ProfileToken>", stopStreamingList);
                StepFailed("<ProfileToken> tag is missing");
                StepCompleted();
            }
            if (!fS8Printed)
            {
                BeginStep("Device response contains \"HTTP/* 200 OK\"", stopStreamingList, MessageType.Response);
                StepFailed("Response does not contain 200 OK");
                StepCompleted();
            }
            if (!fS9Printed)
            {
                BeginStep("Device response contains " +
                          "<StopMulticastStreamingResponse> tag", stopStreamingList, MessageType.Response);
                StepFailed("<StopMulticastStreamingResponse> tag is missing");
                StepCompleted();
            }
        }
コード例 #23
0
        public void InitValue(QuickReportCore.Objects.Condition condition)
        {
            comboBox.Items.Clear();
            System.Xml.XmlElement node = condition.ConditionType.Content;
            if (node == null)
            {
                return;
            }
            bool   useSql           = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseSql.ToString(), "0")));
            bool   useCustomElement = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseCustomElement.ToString(), "0")));
            bool   useAll           = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.bUseAll.ToString(), "0")));
            string sql = Managers.Functions.GetNodeAttrValue(node, Forms.frmToolBoxConditionTypeEditor.XmlAttrDic.tSql.ToString(), string.Empty);

            if (useSql)
            {
                sql = Managers.Functions.TranslateTextWithSystemValue(sql);
                int i = qr.ExecQuery(sql);
                if (i < 0)
                {
                    return;
                }
                try
                {
                    while (qr.Reader.Read())
                    {
                        Objects.Condition c = new QuickReportCore.Objects.Condition();
                        c.ID   = qr.Reader[0].ToString();
                        c.Name = qr.Reader[1].ToString();
                        comboBox.Items.Add(c);
                    }
                }
                catch
                {
                    return;
                }
                finally
                {
                    qr.Reader.Close();
                }
                if (condition.ConditionSetting == null)
                {
                    return;
                }
            }
            else if (useCustomElement)
            {
                System.Xml.XmlNodeList nodeList = node.SelectSingleNode(ucConditionTypeElementListWithFarpoint.XmlAttrDic.ConditionTypeElementList.ToString()).SelectNodes(ucConditionTypeElementListWithFarpoint.XmlAttrDic.ConditionTypeElement.ToString());
                if (nodeList != null && nodeList.Count > 0)
                {
                    for (int i = 0; i < nodeList.Count; i++)
                    {
                        Objects.Condition c = new QuickReportCore.Objects.Condition();
                        c.ID   = Managers.Functions.GetNodeAttrValue(nodeList[i], ucConditionTypeElementListWithFarpoint.XmlAttrDic.tCode.ToString(), string.Empty);
                        c.Name = Managers.Functions.GetNodeAttrValue(nodeList[i], ucConditionTypeElementListWithFarpoint.XmlAttrDic.tName.ToString(), string.Empty);
                        comboBox.Items.Add(c);
                    }
                }
            }
            if (useAll)
            {
                comboBox.Items.Add(new Objects.Condition("ALL", "全部"));
            }
            if (condition.ConditionSetting == null)
            {
                return;
            }
            ParseFromXml(condition.ConditionSetting.SelectNodes(XmlAttrDic.ConditionValueCustomComboBox.ToString()));
        }
コード例 #24
0
ファイル: FrmCreateRasterDB.cs プロジェクト: siszoey/geosufan
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.OK;
            Exception err = null;

            #region 检查设置是否完备
            //服务器连接设置检查
            if (comBoxType.SelectedIndex == 1)
            {
                if (txtUser.Text.Length == 0 || txtPassWord.Text.Length == 0)
                {
                    labelXErr.Text = "请完整设置SDE服务器访问参数!";
                    return;
                }
            }
            else
            {
                if (txtDataBase.Text.Length == 0)
                {
                    labelXErr.Text = "请完整设置本地数据库路径!";
                    return;
                }
            }

            //判断数据库是否已经存在
            if (comBoxType.Text.Trim().ToUpper() == "PDB")
            {
                if (File.Exists(txtDataBase.Text.Trim()))
                {
                    MessageBox.Show("数据库'" + txtDataBase.Text.Trim().Substring(txtDataBase.Text.Trim().LastIndexOf('\\') + 1) + "'已经存在,请检查!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
            else if (comBoxType.Text.Trim().ToUpper() == "GDB")
            {
                if (Directory.Exists(txtDataBase.Text.Trim()))
                {
                    MessageBox.Show("数据库'" + txtDataBase.Text.Trim().Substring(txtDataBase.Text.Trim().LastIndexOf('\\') + 1) + "'已经存在,请检查!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }

            if (rbdataset.Checked)// cmbRasterType.Text.Trim() == "栅格数据集")
            {
                //栅格数据集设置检查
                if (cmbCompression.Text.Trim() == "")
                {
                    MessageBox.Show("请选择压缩类型!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (cmbResampleType.Text.Trim() == "")
                {
                    MessageBox.Show("请选择重采样类型!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                try
                {
                    if (txtPyramid.Text.Trim() != "")
                    {
                        Convert.ToInt32(txtPyramid.Text.Trim());
                    }

                    Convert.ToInt32(tileH.Text.Trim());
                    Convert.ToInt32(tileW.Text.Trim());
                    Convert.ToInt32(txtBand.Text.Trim());
                }
                catch (System.Exception ex)
                {
                    //*******************************************************************
                    //guozheng added
                    if (ModData.SysLog != null)
                    {
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    else
                    {
                        ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    //********************************************************************

                    MessageBox.Show("请填写有效的数字!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    //labelXErr.Text = "请填写有效的数字!";
                    return;
                }
            }

            if (txtRasterName.Text == "")
            {
                labelXErr.Text = "请设置栅格编目名称或栅格数据集名称!";
                return;
            }

            #endregion


            #region 设置数据库连接
            //SysCommon.Gis.SysGisDataSet pSysDT = new SysCommon.Gis.SysGisDataSet();
            if (this.comBoxType.SelectedIndex == 2)    //PDB库体
            {
                //pSysDT.SetWorkspace(txtDataBase.Text.Trim(),SysCommon.enumWSType.PDB,out err);
                SetDestinationProp("PDB", txtDataBase.Text, "", "", "", "");
            }
            else if (this.comBoxType.SelectedIndex == 1)    //SDE库体
            {
                //pSysDT.SetWorkspace(txtServer.Text, txtInstance.Text, "", txtUser.Text, txtPassWord.Text, txtVersion.Text, out err);
                SetDestinationProp("SDE", txtServer.Text, txtInstance.Text, txtUser.Text, txtPassWord.Text, txtVersion.Text);
            }
            else if (this.comBoxType.SelectedIndex == 0)   //GDB库体
            {
                //pSysDT.SetWorkspace(txtDataBase.Text.Trim(), SysCommon.enumWSType.GDB, out err);
                SetDestinationProp("GDB", txtDataBase.Text, "", "", "", "");
            }
            if (err != null)
            {
                MessageBox.Show("连接数据库出错!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //pworkSpace=pSysDT.WorkSpace;
            #endregion

            //创建库体
            //ISpatialReference pGeoSpaRef = GetSpatialRef(cmbGeoSpaRef.Text.Trim());
            //ISpatialReference pRasterSpaRef = GetSpatialRef(cmbRasterSpaRef.Text.Trim());

            //几何空间参考
            ISpatialReference pGeoSpaRef = GetSpatialRef(txtGeoSpati.Text.Trim(), out err);
            if (err != null)
            {
                return;
            }
            //栅格空间参考
            ISpatialReference pRasterSpaRef = GetSpatialRef2(txtRasterSpati.Text.Trim(), out err);
            if (err != null)
            {
                return;
            }

            rstPixelType pPixelType = GetPixelType();
            //栅格数据工作空间
            IRasterWorkspaceEx pRasterWSEx = pworkSpace as IRasterWorkspaceEx;
            if (pRasterWSEx == null)
            {
                labelXErr.Text = "数据库连接出错!";
                return;
            }

            if (rbcatalog.Checked)
            {
                //首先判断栅格目录是否存在
                try
                {
                    IRasterCatalog tempRasterCatalog = pRasterWSEx.OpenRasterCatalog(txtRasterName.Text.Trim());
                    if (tempRasterCatalog != null)
                    {
                        MessageBox.Show("栅格数据'" + txtRasterName.Text.Trim() + "'已经存在,请检查!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                catch (System.Exception ex)
                {
                    //*******************************************************************
                    //guozheng added
                    if (ModData.SysLog != null)
                    {
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    else
                    {
                        ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    //********************************************************************
                }
                //创建栅格目录
                //*********************************************************
                //guozheng added CreateCatalog Log
                List <string> Pra = new List <string>();
                Pra.Add(txtRasterName.Text.Trim());
                if (ModData.SysLog != null)
                {
                    ModData.SysLog.Write("创建栅格目录", Pra, DateTime.Now);
                }
                else
                {
                    ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                    ModData.SysLog.Write("创建栅格目录", Pra, DateTime.Now);
                }
                //*********************************************************
                //创建栅格目录
                CreateCatalog(pRasterWSEx, txtRasterName.Text.Trim(), "Raster", "Shape", pRasterSpaRef, pGeoSpaRef, "", true, out err);
            }
            else if (rbdataset.Checked)
            {
                //首先判断栅格目录是否存在
                try
                {
                    IRasterDataset tempRasterDataset = pRasterWSEx.OpenRasterDataset(txtRasterName.Text.Trim());
                    if (tempRasterDataset != null)
                    {
                        MessageBox.Show("栅格数据'" + txtRasterName.Text.Trim() + "'已经存在,请检查!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                catch (System.Exception ex)
                {
                    //*******************************************************************
                    //guozheng added
                    if (ModData.SysLog != null)
                    {
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    else
                    {
                        ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                        ModData.SysLog.Write(ex, null, DateTime.Now);
                    }
                    //********************************************************************
                }
                //创建栅格数据集
                //*********************************************************
                //guozheng added CreateRasterDataset Log
                List <string> Pra = new List <string>();
                Pra.Add(txtRasterName.Text.Trim());
                if (ModData.SysLog != null)
                {
                    ModData.SysLog.Write("创建栅格数据集", Pra, DateTime.Now);
                }
                else
                {
                    ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                    ModData.SysLog.Write("创建栅格数据集", Pra, DateTime.Now);
                }
                //*********************************************************
                //创建栅格数据集
                CreateRasterDataset(pRasterWSEx, txtRasterName.Text.Trim(), Convert.ToInt32(txtBand.Text.Trim()), pPixelType, pRasterSpaRef, pGeoSpaRef, null, null, "", out err);
            }
            else
            {
                MessageBox.Show("请选择栅格数据库的类型!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (err != null)
            {
                MessageBox.Show(err.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //labelXErr.Text = err.Message;
                return;
            }


            ///将现势库信息写入配置文件(res\\schema)
            ///
            DevComponents.AdvTree.Node pCurNode = m_Hook.ProjectTree.SelectedNode; ///获得树图上选择的工程节点
            string pProjectname = pCurNode.Name;

            System.Xml.XmlNode    Projectnode        = m_Hook.DBXmlDocument.SelectSingleNode("工程管理/工程[@名称='" + pProjectname + "']");
            System.Xml.XmlElement ProjectNodeElement = Projectnode as System.Xml.XmlElement;

            //设置存储类型,栅格目录,栅格数据集
            System.Xml.XmlElement DbTypeEle = ProjectNodeElement.SelectSingleNode(".//栅格数据库") as System.Xml.XmlElement;
            if (rbcatalog.Checked)
            {
                DbTypeEle.SetAttribute("存储类型", "栅格编目");
            }
            else if (rbdataset.Checked)
            {
                DbTypeEle.SetAttribute("存储类型", "栅格数据集");
            }

            System.Xml.XmlElement ProjectConnEle = ProjectNodeElement.SelectSingleNode(".//栅格数据库/连接信息") as System.Xml.XmlElement;

            ///设置数据库连接类型
            if (this.comBoxType.SelectedIndex == 2)
            {
                ProjectConnEle.SetAttribute("类型", "PDB");
                ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
            }
            else if (this.comBoxType.SelectedIndex == 0)
            {
                ProjectConnEle.SetAttribute("类型", "GDB");
                ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
            }
            else if (this.comBoxType.SelectedIndex == 1)
            {
                ProjectConnEle.SetAttribute("类型", "SDE");
                ProjectConnEle.SetAttribute("服务器", txtServer.Text);
                ProjectConnEle.SetAttribute("服务名", txtInstance.Text);
                ProjectConnEle.SetAttribute("数据库", txtDataBase.Text);
                ProjectConnEle.SetAttribute("用户", txtUser.Text);
                ProjectConnEle.SetAttribute("密码", txtPassWord.Text);
                ProjectConnEle.SetAttribute("版本", txtVersion.Text);
            }

            ///设置数据集名称
            ///
            System.Xml.XmlElement ProjectUserDSEle = ProjectConnEle.SelectSingleNode(".//库体") as System.Xml.XmlElement;
            ProjectUserDSEle.SetAttribute("名称", txtRasterName.Text.Trim());

            //设置栅格数据参数
            System.Xml.XmlElement rasterParaEle = ProjectNodeElement.SelectSingleNode(".//栅格数据库/参数设置") as System.Xml.XmlElement;
            rasterParaEle.SetAttribute("重采样类型", cmbResampleType.Text.Trim());
            rasterParaEle.SetAttribute("压缩类型", cmbCompression.Text.Trim());
            rasterParaEle.SetAttribute("金字塔", txtPyramid.Text.Trim());
            rasterParaEle.SetAttribute("瓦片高度", tileH.Text.Trim());
            rasterParaEle.SetAttribute("瓦片宽度", tileW.Text.Trim());
            rasterParaEle.SetAttribute("波段", txtBand.Text.Trim());


            m_Hook.DBXmlDocument.Save(ModData.v_projectXML);

            MessageBox.Show("创建成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
コード例 #25
0
        public void TestItemsSellXmlParseMechanics()
        {
            string xml =
                @"<roar tick=""135572003492"">
				<items>
					<sell status=""ok"">
						<effect>
							<costs/>
							<modifiers>
								<modifier type=""removed_items"" ikey=""talisman"" count=""34""/>
								<modifier type=""stat_change"" ikey=""premium_currency"" value=""67""/>
								<modifier type=""stat_change"" ikey=""premium_currency"" value=""9""/>
								<modifier type=""add_xp"" value=""876""/>
								<modifier type=""add_xp"" value=""6""/>
								<modifier type=""add_item"" ikey=""talisman"" item_id=""1458454945""/>
								<modifier type=""stat_change"" ikey=""premium_currency"" value=""88""/>
								<modifier type=""add_xp"" value=""66""/>
								<modifier type=""add_xp"" value=""77""/>
							</modifiers>
						</effect>
						<item id=""275012935"" ikey=""ring"" count=""1"" label=""Ring"" type=""item"" description=""Magic ring for protection and strength"" consumable=""true"" sellable=""true"">
							<stats>
								<equip_attribute ikey=""premium_currency"" value=""67""/>
								<collect_stat ikey=""premium_currency"" value=""45"" every=""600000"" window=""234"" collect_at=""0""/>
								<regen_stat_limited ikey=""premium_currency"" value=""345"" repeat=""12"" times_used=""0""/>
								<regen_stat ikey=""premium_currency"" value=""44"" every=""600000""/>
								<grant_stat ikey=""premium_currency"" value=""566""/>
							</stats>
							<properties>
								<property ikey=""sonda"" value=""extra""/>
								<property ikey=""mariner"" value=""505""/>
							</properties>
							<tags>
								<tag value=""magic""/>
								<tag value=""magicitem""/>
								<tag value=""protection""/>
							</tags>
							<price>
								<remove_items/>
								<grant_stat type=""currency"" ikey=""premium_currency"" value=""67""/>
								<grant_stat_range type=""currency"" ikey=""premium_currency"" min=""8"" max=""9""/>
								<grant_xp value=""876""/>
								<grant_xp_range min=""6"" max=""7""/>
								<grant_item ikey=""talisman""/>
								<random_choice>
									<choice weight=""67"">
										<modifier>
											<grant_stat type=""currency"" ikey=""premium_currency"" value=""88""/>
										</modifier>
										<requirement>
											<true_requirement ok=""true""/>
										</requirement>
									</choice>
								</random_choice>
								<grant_xp value=""66""/>
								<if_then_else>
									<if>
										<true_requirement ok=""true""/>
									</if>
									<then>
										<grant_xp value=""77""/>
									</then>
									<else>
										<grant_xp value=""88""/>
									</else>
								</if_then_else>
							</price>
						</item>
					</sell>
				</items>
				<server>
					<item_lose item_id=""180846839"" item_ikey=""talisman""/>
					<item_add item_id=""1458454945"" item_ikey=""talisman""/>
					<item_lose item_id=""275012935"" item_ikey=""ring""/>
					<update type=""currency"" ikey=""premium_currency"" value=""32987""/>
					<update type=""xp"" ikey=""xp"" value=""16807""/>
					<inventory_changed/>
				</server>
			</roar>"            ;

            Mockery mockery = new Mockery();

            Roar.DataConversion.IXCRMParser  ixcrm_parser = mockery.NewMock <Roar.DataConversion.IXCRMParser>();
            Roar.DomainObjects.InventoryItem item_data    = new Roar.DomainObjects.InventoryItem();

            System.Xml.XmlElement nn = RoarExtensions.CreateXmlElement(xml);
            Roar.DataConversion.Responses.Items.Sell sell_parser = new Roar.DataConversion.Responses.Items.Sell();
            sell_parser.ixcrm_parser = ixcrm_parser;

            Expect.Once.On(ixcrm_parser).Method("ParseItemStatList").With(nn.SelectSingleNode("./items/sell/item/stats")).Will(Return.Value(item_data.stats));
            Expect.Once.On(ixcrm_parser).Method("ParseModifierList").With(nn.SelectSingleNode("./items/sell/item/price")).Will(Return.Value(item_data.price));
            Expect.Once.On(ixcrm_parser).Method("ParseTagList").With(nn.SelectSingleNode("./items/sell/item/tags")).Will(Return.Value(item_data.tags));

            SellResponse response = sell_parser.Build(nn);

            mockery.VerifyAllExpectationsHaveBeenMet();

            Assert.IsNotNull(response.item);
            Assert.AreEqual(response.item.id, "275012935");
            Assert.AreEqual(response.item.ikey, "ring");
            Assert.AreEqual(response.item.count, 1);
            Assert.AreEqual(response.item.label, "Ring");
            Assert.AreEqual(response.item.type, "item");
            Assert.AreEqual(response.item.description, "Magic ring for protection and strength");
            Assert.IsTrue(response.item.consumable);
            Assert.IsTrue(response.item.sellable);
            Assert.AreEqual(response.item.stats, item_data.stats);
            Assert.AreEqual(response.item.price, item_data.price);
            Assert.AreEqual(response.item.tags, item_data.tags);
        }
コード例 #26
0
        } //  readUserSetting

        public void WriteUserSetting(string SectionName, string EntryName, string EntryValue)
        {
            //  Make sure all of the necessary information was passed to this routine before attempting to write to
            //  the Settings File.
            if (SectionName == null || SectionName == "" || EntryName == null || EntryName == "" || EntryValue == "")
            {
                //  Exit the Method.
                return;
            }


            try
            {
                // If the value is null, remove the entry
                if (EntryValue == null)
                {
                    RemoveUserSetting(SectionName, EntryValue);
                    return;
                }

                //  Verify that the file is available for reading and that the XML Section and Entry Name values are valid.
                VerifyNotReadOnly();
                string section = SectionName;
                VerifyAndAdjustSection(ref section);
                string entry = EntryName;
                VerifyAndAdjustEntry(ref entry);


                //  If the File does not exist, create it.
                if (System.IO.File.Exists(_filePath))
                {
                    System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(_filePath, System.Text.Encoding.UTF8);
                    writer.Formatting = System.Xml.Formatting.Indented;
                    writer.WriteStartDocument();
                    writer.WriteStartElement("profile");
                    writer.WriteStartElement("section");
                    writer.WriteAttributeString("name", null, section);
                    writer.WriteStartElement("entry");
                    writer.WriteAttributeString("name", null, entry);
                    writer.WriteString(EntryValue);
                    writer.WriteEndElement();
                    writer.WriteEndElement();
                    writer.WriteEndElement();
                    writer.Close();

                    //  Exit the method now that the file has been created.
                    return;
                }


                // The file exists, edit it
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(_filePath);
                System.Xml.XmlElement root = doc.DocumentElement;

                // Get the section element and add it if it's not there
                System.Xml.XmlNode sectionNode = root.SelectSingleNode(GetSectionsPath(section));
                if (sectionNode == null)
                {
                    System.Xml.XmlElement   element   = doc.CreateElement("section");
                    System.Xml.XmlAttribute attribute = doc.CreateAttribute("name");
                    attribute.Value = section;
                    element.Attributes.Append(attribute);
                    sectionNode = root.AppendChild(element);
                }

                // Get the entry element and add it if it's not there
                System.Xml.XmlNode entryNode = sectionNode.SelectSingleNode(GetEntryPath(entry));
                if (entryNode == null)
                {
                    System.Xml.XmlElement   element   = doc.CreateElement("entry");
                    System.Xml.XmlAttribute attribute = doc.CreateAttribute("name");
                    attribute.Value = entry;
                    element.Attributes.Append(attribute);
                    entryNode = sectionNode.AppendChild(element);
                }

                // Add the value and save the file
                entryNode.InnerText = EntryValue;
                doc.Save(_filePath);
            }
            catch
            {
                //  Exit this Method.
                return;
            }
        } //  WriteUserSetting
コード例 #27
0
        /// <summary>
        /// 创建FID表填充信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonXGenerateFID_Click(object sender, EventArgs e)
        {
            this._DesDSName = comboBoxEx2.Text;

            //构建FID
            if (comboBoxEx1.SelectedIndex == 0)   //本地辅助库
            {
                if (File.Exists(textBoxXServer.Text))
                {
                    SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "数据文件已存在!\n" + textBoxXServer.Text);
                    return;
                }
                //创建mdb文件
                ADOX.Catalog AdoxCatalog = new ADOX.Catalog();
                AdoxCatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBoxXServer.Text + ";");
                ADOX.TableClass tbl = new ADOX.TableClass();
                tbl.ParentCatalog   = AdoxCatalog;
                tbl.Name            = "FID记录表";

                ADOX.ColumnClass col = new ADOX.ColumnClass();
                col.ParentCatalog    = AdoxCatalog;
                col.Type             = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
                col.Name             = "GOFID";
                col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                col.Properties["AutoIncrement"].Value = true;
                tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);

                col = new ADOX.ColumnClass();
                col.ParentCatalog = AdoxCatalog;
                col.Type          = ADOX.DataTypeEnum.adLongVarWChar;
                col.Name          = "FCNAME";
                col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);

                col = new ADOX.ColumnClass();//增加一个本地OID字段
                col.ParentCatalog = AdoxCatalog;
                col.Type          = ADOX.DataTypeEnum.adInteger;
                col.Name          = "OID";
                col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);
                AdoxCatalog.Tables.Append(tbl);

                string        pConn      = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBoxXServer.Text + ";Persist Security Info=False;";
                GeoFIDCreator FIDCreator = new GeoFIDCreator(this._UpadateDesWorkspace, pConn, FIDDBType.access);
                FIDCreator.DatasetName = this._DesDSName;
                if (FIDCreator.CreateFID("FID记录表") == false)
                {
                    SysCommon.Error.ErrorHandle.ShowInform("提示", "创建业务信息表失败!");
                    return;
                }
            }
            else if (comboBoxEx1.SelectedIndex == 1)    //远程辅助库
            {
                string        Conn       = "Data Source=" + textBoxXServer.Text + ";User Id=" + textBoxXUser.Text + ";Password="******";";
                GeoFIDCreator FIDCreator = new GeoFIDCreator(this._UpadateDesWorkspace, Conn, FIDDBType.oracle);
                FIDCreator.DatasetName = this._DesDSName;
                if (FIDCreator.CreateFID("FID记录表") == false)
                {
                    SysCommon.Error.ErrorHandle.ShowInform("提示", "创建业务信息表失败!");
                    return;
                }
            }

            ///将FID记录表的访问方式写入xml文档对象
            ///
            DevComponents.AdvTree.Node pCurNode = m_Hook.ProjectTree.SelectedNode; ///获得树图上选择的工程节点
            string pProjectname = pCurNode.Name;

            System.Xml.XmlNode    Projectnode        = m_Hook.DBXmlDocument.SelectSingleNode("工程管理/工程[@名称='" + pProjectname + "']");
            System.Xml.XmlElement ProjectNodeElement = Projectnode as System.Xml.XmlElement;

            System.Xml.XmlElement ProjectConnEle = ProjectNodeElement.SelectSingleNode(".//FID记录表/连接信息") as System.Xml.XmlElement;

            System.Xml.XmlElement ProjectDBDSConnEle = ProjectNodeElement.SelectSingleNode(".//现势库/连接信息/库体") as System.Xml.XmlElement;
            ProjectDBDSConnEle.SetAttribute("名称", comboBoxEx2.Text);

            ///设置数据库连接类型
            ///
            if (this.comboBoxEx1.SelectedIndex == 0)
            {
                ProjectConnEle.SetAttribute("类型", "Access");
            }
            else if (this.comboBoxEx1.SelectedIndex == 1)
            {
                ProjectConnEle.SetAttribute("类型", "Oracle");
            }

            ///设置具体连接方式
            ///
            if (this.comboBoxEx1.SelectedIndex == 0)
            {
                string text = textBoxXServer.Text;
                ProjectConnEle.SetAttribute("数据库", text);
            }
            else if (this.comboBoxEx1.SelectedIndex == 1)
            {
                ProjectConnEle.SetAttribute("数据库", textBoxXServer.Text);
                ProjectConnEle.SetAttribute("用户", textBoxXUser.Text);
                ProjectConnEle.SetAttribute("密码", textBoxXPassword.Text);
            }

            m_Hook.DBXmlDocument.Save(ModData.v_projectXML);

            //释放类成员
            if (_UpadateDesWorkspace != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(_UpadateDesWorkspace);
            }


            SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "业务维护信息初始化完成!");
            this.Close();
        }