protected override XmlConfig GetXmlConfig() { if (AllXmlConfigs != null) { var SpeXmlConfigs = AllXmlConfigs.Where(p => p.ConfigType == _ConfigType); if (SpeXmlConfigs == null || SpeXmlConfigs.Count() < 1) { XmlConfig XmlConfig1 = new XmlConfig(); XmlConfig1.XmlConfigID = Guid.NewGuid(); XmlConfig1.ConfigType = _ConfigType; XElement RootNode = new XElement("ImportType"); XmlConfig1.XmlContent = RootNode; //设置编辑状态 this.EditState = TEditState.esNew; return XmlConfig1; } else { XmlConfig XmlConfig1 = (XmlConfig)SpeXmlConfigs.FirstOrDefault(); //设置编辑状态 this.EditState = TEditState.esEdit; return XmlConfig1; } } else { //设置编辑状态 this.EditState = TEditState.esNone; return null; } }
//更新XmlConfig数据到XmlConfig集合 public void UpdateXmlConfig(XmlConfig currentXmlConfig) { // _service.Update<XmlConfig>(currentXmlConfig); _service.Entry(currentXmlConfig).State = EntityState.Modified; }
/// <summary> /// 将机龄配置对象的集合转换成机龄配置XML /// </summary> /// <returns></returns> private void SaveAgeDeploXml() { //将机龄配置对象的集合转换成机龄配置XML XElement AgeDeploy = new XElement("AgeDeploy"); //机龄范围的颜色节点 XElement ColorNode = new XElement("Type", new XAttribute("TypeName", "机龄")); foreach (AgeDeploy agedeploy in AgeDeployCollection) { string name = agedeploy.StartYear + "至" + agedeploy.EndYear + "年之间"; //供应商节点 XElement ItemNode = new XElement("Item", new XAttribute("Start", agedeploy.StartYear), new XAttribute("End", agedeploy.EndYear), name); AgeDeploy.Add(ItemNode); //颜色节点 XElement ChildNode = new XElement("Item", new XAttribute("Name", name), new XAttribute("Color", agedeploy.Color)); ColorNode.Add(ChildNode); } if (this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "机龄配置") != null) { this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "机龄配置").XmlContent = AgeDeploy; } else { XmlConfig xmlconfig = new XmlConfig(); xmlconfig.XmlConfigID = Guid.NewGuid(); xmlconfig.ConfigType = "机龄配置"; xmlconfig.VersionNumber = 1; xmlconfig.XmlContent = AgeDeploy; this._service.EntityContainer.GetEntitySet<XmlConfig>().Add(xmlconfig); } XElement colorxelement = XElement.Parse(this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "颜色配置").ConfigContent); colorxelement.Descendants("Type").FirstOrDefault(p => p.Attribute("TypeName").Value == "机龄").Remove(); colorxelement.Add(ColorNode); this.ViewXmlConfig.FirstOrDefault(p => p.ConfigType == "颜色配置").XmlContent = colorxelement; this._service.SubmitChanges(CAFMStrings.SaveSuccess, CAFMStrings.SaveFail, sm => { }, null); }
//增加XmlConfig数据到XmlConfig集合 public void AddXmlConfig(XmlConfig currentXmlConfig) { _service.XmlConfigs.Add(currentXmlConfig); }