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); }
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)); }
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); }
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); }
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; } }
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); }
/// <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"); } }
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); }
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); }
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); }
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"); }
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); } }
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(); }
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(); }
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); }
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; } }
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(); }
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); }
protected override string GetEntityID(System.Xml.XmlElement data) { return(data.SelectSingleNode("CourseID").InnerText); }
/// <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(); }
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
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(); } }
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())); }
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); }
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); }
} // 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
/// <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(); }