private bool LoadData()//string FullPatch, ref List<TValue> Items { byte[] bytes; lock (Locker.Get("IO")) bytes = System.IO.File.ReadAllBytes(FullPath); if (bytes == null || bytes.Length <= 0) { return(false); } string data = Compression.UnZipString(bytes); if (System.String.IsNullOrEmpty(data)) { return(false); } XmlList <TValue> XData = Asmodat.Abbreviate.XmlSerialization.Deserialize <XmlList <TValue> >(data); lock (Locker.Get("Data")) { Data = XData.Items; } SaveTime = DateTime.Now; return(true); }
public JsonResult AddXmlFileJson(XmlListModel model) { try { XmlList <XmlListModel> Xlist = new XmlList <XmlListModel>(); string JsonConfig = System.IO.File.ReadAllText("App.json"); var list = JsonConvert.DeserializeObject <XmlList <XmlListModel> >(JsonConfig); if (list.XmlListModel != null && list.XmlListModel.Count > 0) { var maxID = list.XmlListModel.OrderByDescending(m => m.XID).FirstOrDefault().XID; model.XID = maxID + 1; } else { model.XID = 1; } Xlist.XmlListModel = new List <XmlListModel>(); list.XmlListModel.Add(model); Xlist.XmlListModel = list.XmlListModel; JsonCover(JsonConvert.SerializeObject(Xlist)); return(Json(new { code = 1 })); } catch (Exception ex) { return(Json(new { code = 0, Message = ex.ToString() })); } }
// public XmlList<PlatformCriterion> PlatformCriterions { get; set; } #endregion #region --- 构造函数 public AutoProtectionCriterions() { Name = "自动防护"; // SlopeCriterions = new XmlList <SpCriterion>(); // PlatformCriterions = new XmlList<PlatformCriterion>(); }
private void LoadSemDomTestData(string xmlSemDomData) { using (var trdr = new StringReader(xmlSemDomData)) { var loader = new XmlList(); loader.ImportList(Cache.LangProject, "SemanticDomainList", trdr, new DummyProgressDlg()); } }
private async void InitDataLocalization() { var result = await _fromXml.LoadXMLData(); if ((_listModules = _fromXml.RawModules) != null && result) { XmlList.SetXmlList(_listModules); // add all values to static list foreach (var item in _listModules) { NameModule valueEnumType; NameModuleEnum.Name.TryGetValue(item.Name, out valueEnumType); switch (valueEnumType) { case NameModule.Alias: { AlsMP.Placeholder = Loc.Localize("Alias", "Alias"); break; } case NameModule.LoginID: { IDWallet.Placeholder = Loc.Localize("IdWallet", "Id Wallet"); break; } case NameModule.PasswordFirst: { Pass1MP.Placeholder = Loc.Localize("Password", "Password"); break; } case NameModule.PasswordSecond: { Pass2MP.Placeholder = Loc.Localize("SecPassword", "Second Password"); break; } case NameModule.api_code: { ApiCodeMP.Placeholder = Loc.Localize("ApiCode", "Api Code"); break; } case NameModule.autologon: break; case NameModule.Theme: break; default: throw new NotImplementedException(); } } } WaitData(); // here method wait on data from xml file }
public TimeCard(string fullFilename) : base(new XmlDataSource(fullFilename), Resources.XMLRootNode) { //Categories = new XMLHash<Category>(XMLDataSource, Resources.XMLNodeGroup_Categories, Resources.XMLNodeName_Category); Categories = new XmlCategories(XmlDataSource, Resources.XMLNodeGroup_Categories, Resources.XMLNodeName_Category); Projects = new XmlList<Project>(XmlDataSource, Resources.XMLNodeGroup_Projects, Resources.XMLNodeName_Project); TaskMgr = new XmlList<Task>(XmlDataSource, Resources.XMLNodeGroup_Tasks, Resources.XMLNodeName_Task); TimeEntries = new XmlList<TimeEntry>(XmlDataSource, Resources.XMLNodeGroup_TimeEntries, Resources.XMLNodeName_TimeEntry); }
public Tunnel() { TunnelVertices = new XmlList <TunnelVertice>(); Segments = new XmlList <Segment>(); // SegmentNum = new int(); Radius = new double(); // ActiveTunnelForDeserialize = this; }
private bool InRangeCollection(XmlList <CriterionRange> criterions, double value) { foreach (var rg in criterions) { if (!rg.InRange(value)) { return(false); } } return(true); }
public Frame() { Beams = new XmlList <Beam>(); Columns = new XmlList <Column>(); FrameVertices = new XmlList <FrameVertice>(); // LayerHeights = new float[0]; SpanWidths = new float[0]; // ActiveFrameForDeserialize = this; }
public void TestSetup() { Cache = FdoCache.CreateCacheWithNewBlankLangProj(new TestProjectId(FDOBackendProviderType.kMemoryOnly, null), "en", "fr", "en", new DummyFdoUI(), FwDirectoryFinder.FdoDirectories, new FdoSettings()); var loader = new XmlList(); loader.ImportList(Cache.LangProject, "PartsOfSpeech", Path.Combine(FwDirectoryFinder.TemplateDirectory, "POS.xml"), new DummyProgressDlg()); // This allows tests to do any kind of data changes without worrying about starting a UOW. Cache.ActionHandlerAccessor.BeginUndoTask("Undo doing stuff", "Redo doing stuff"); }
/// <summary> /// 此构造函数可以直接声明为 private,在反序列化时 Visual Studio 仍然会将其作为 public 并执行其中的代码。 /// </summary> public DefinitionCollection() { // Materials = new XmlList <Material>(); Profiles = new XmlList <Profile>(); // 这一句必须保留,因为在序列化时会直接进行此处的 public 构造函数,而不会从 public static DefinitionCollection GetUniqueInstance() 进入。 // 此时必须通过这一句保证 _uiniqueInstance 与本全局对象的同步。 //_uiniqueInstance = this; // ActiveDefiCollForDeserialize = this; }
protected ModelBase() { ModelName = Constants.ProjectConsts.DefaultModelName; ID = Guid.NewGuid(); // Definitions = new DefinitionCollection(); SoilLayers = new XmlList <SoilLayer_Inertial>(); // ModelType = ModelType.Frame; CalculationMethod = CalculationMethod.InertialForce; }
/// <summary> 构造函数 </summary> public SocketedShaftSystem() { //// 土层集合 SoilLayers = new XmlList <SoilLayerEntity>(); //SoilLayer sl = new SoilLayer() //{ // Name = "第一层土", // CompressiveStrength = (float)2e7, //}; //SoilLayer s2 = new SoilLayer() //{ // Name = "第二层土", // CompressiveStrength = (float)123000, //}; SoilDefinitions = new List <SoilLayer>(); //SoilDefinitions.Add(sl); //SoilDefinitions.Add(s2); //SoilLayerEntity sle1 = new SoilLayerEntity() //{ // Bottom = 250, // Top = 290, // Layer = sl //}; //SoilLayerEntity sle2 = new SoilLayerEntity() //{ // Bottom = 200, // Top = 300, // Layer = s2 //}; //SoilLayers.Add(sle1); //SoilLayers.Add(sle2); //// 嵌岩桩 SocketedShaft = new SocketedShaft(); //// 桩截面集合 //ShaftSection ss1 = new ShaftSection() { Name = "截面1", BarsCount = 20, Diameter = 2 }; //ShaftSection ss2 = new ShaftSection() { Name = "截面2", BarsCount = 35, Diameter = 1.5f }; //SectionDefinitions = new List<ShaftSection> { ss1, ss2 }; SectionDefinitions = new List <ShaftSection> (); //// //ShaftSectionEntity sse1 = new ShaftSectionEntity() { Top = 20, Bottom = 10, Section = ss1 }; //ShaftSectionEntity sse2 = new ShaftSectionEntity() { Top = 10, Bottom = 5, Section = ss2 }; //XmlList<ShaftSectionEntity> xl = new XmlList<ShaftSectionEntity>() { sse1, sse2 }; //SocketedShaft.Sections = xl; //// SystemProperty = new SystemProperty(); //// _uiniqueInstance = this; }
private CriterionRangeList CloneRange(CriterionRangeList srcList) { var c = new CriterionRangeList(); var srcRange = srcList.AndRange; var r = new XmlList <CriterionRange>(); foreach (var v in srcRange) { r.Add(v.Clone() as CriterionRange); } c.AndRange = r; return(c); }
public JsonResult GetXmlListJson(int XID) { try { XmlList <XmlListModel> Xlist = new XmlList <XmlListModel>(); string JsonConfig = System.IO.File.ReadAllText("App.json"); var list = JsonConvert.DeserializeObject <XmlList <XmlListModel> >(JsonConfig); var model = list.XmlListModel.Where(m => m.XID == XID).FirstOrDefault(); return(Json(new { code = 1, data = model })); } catch (Exception ex) { return(Json(new { code = 0, data = ex.ToString() })); } }
public JsonResult DelXmlFileJson(XmlListModel model) { try { XmlList <XmlListModel> Xlist = new XmlList <XmlListModel>(); string JsonConfig = System.IO.File.ReadAllText("App.json"); var list = JsonConvert.DeserializeObject <XmlList <XmlListModel> >(JsonConfig); list.XmlListModel = list.XmlListModel.Where(m => m.XID != model.XID).ToList(); JsonCover(JsonConvert.SerializeObject(list)); return(Json(new { code = 1 })); } catch (Exception ex) { return(Json(new { code = 1, data = ex.ToString() })); } }
/// <summary> /// This property deserializes dictionary from string /// </summary> /// <param name="data"></param> /// <returns></returns> public void XmlDeserialize(string data) { lock (this) { this.Clear(); if (!System.String.IsNullOrEmpty(data)) { XmlList <XmlPair <TKey, TValue> > XList = Asmodat.Abbreviate.XmlSerialization.Deserialize <XmlList <XmlPair <TKey, TValue> > >(data); foreach (XmlPair <TKey, TValue> XKVP in XList.Items) { this.Add(XKVP.Key, XKVP.Value); } } } }
/// <summary> 土层的数量或者参数发生变化 </summary> /// <param name="layers"></param> private void OnSoilLayerChanged(IEnumerable <SoilLayerEntity> layers) { //_stationModel; var top = _model1.MethodProperty.TopElevation; var overlay = _model1.MethodProperty.OverLayingSoilHeight; top = top - overlay; // var soils = new XmlList <SoilLayer_Inertial>(); foreach (var l in layers) { soils.Add(new SoilLayer_Inertial(top: top, bottom: top - l.SoilHeight, kci0: l.Kci0)); top = top - l.SoilHeight; } // Model.SoilLayers = soils; _model1.MethodProperty.GetKc(importantSoilLayers: soils); // RefreshUI_PictureBox(Model, null); }
/// <summary> /// This property serilizes dictionary into xml string /// </summary> /// <returns></returns> public string XmlSerialize() { string data = ""; lock (this) { XmlList <XmlPair <TKey, TValue> > XList = new XmlList <XmlPair <TKey, TValue> >(); XList.Items = new List <XmlPair <TKey, TValue> >(this.Count); foreach (KeyValuePair <TKey, TValue> KVP in this) { XList.Items.Add(new XmlPair <TKey, TValue>(KVP.Key, KVP.Value)); } if (XList.Items != null && XList.Items.Count > 0) { data = Asmodat.Abbreviate.XmlSerialization.Serialize <XmlList <XmlPair <TKey, TValue> > >(XList); } } return(data); }
/// <summary> /// 根据隧道半径、管片数、材料、截面生成一个圆形隧道 /// </summary> /// <param name="radius"> 圆形隧道的半径 </param> /// <param name="segmentNum"> 管片的分块数 </param> /// <param name="defaultMat"> 管片的材料 </param> /// <param name="defaultProfile"> 管片的截面 </param> /// <returns></returns> public static Tunnel Create(double radius, int segmentNum, Material defaultMat, Profile defaultProfile) { // var tunnelVertices = new XmlList <TunnelVertice>(); var verticesColle = tunnelVertices; //构造节点系统 double[] Angles = new double[segmentNum + 1]; double _angle = 360 / segmentNum; for (int i = 0; i < segmentNum + 1; i++) { double _angleI = -90 + _angle * (i - 0.5); Angles[i] = _angleI; verticesColle.Add(new TunnelVertice(radius, _angleI)); } //根据节点对象生成管片构件 var segments = new XmlList <Segment>(); for (int i = 0; i < segmentNum; i++) { Segment _seg = new Segment(material: defaultMat, profile: defaultProfile, v1: verticesColle[i], v2: verticesColle[i + 1]); _seg.LocationTag = $"({_seg.Vertice1.Angle},{_seg.Vertice2.Angle})"; segments.Add(_seg); } return(new Tunnel() { TunnelVertices = tunnelVertices, Segments = segments, // SegmentNum = segmentNum, Radius = radius, _startAngle = -90 - 0.5 * 360 / segmentNum }); }
public bool SaveData() { XmlList <TValue> XData = new XmlList <TValue>(); if (Data == null || Data.Count == 0) { lock (Locker.Get("IO")) { FileStream FStream = System.IO.File.Create(FullPath); FStream.Close(); } } else { lock (Locker.Get("Data")) { XData.Items = new List <TValue>(Data.Count); foreach (TValue value in Data) { XData.Items.Add(value); } } string data = Asmodat.Abbreviate.XmlSerialization.Serialize <XmlList <TValue> >(XData); byte[] bytes = Compression.Zip(data); if (bytes == null) { return(false); } lock (Locker.Get("IO")) System.IO.File.WriteAllBytes(FullPath, bytes); } SaveTime = DateTime.Now; return(true); }
public JsonResult EditXmlFileJson(XmlListModel model) { try { XmlList <XmlListModel> Xlist = new XmlList <XmlListModel>(); string JsonConfig = System.IO.File.ReadAllText("App.json"); var list = JsonConvert.DeserializeObject <XmlList <XmlListModel> >(JsonConfig); foreach (var m in list.XmlListModel) { if (m.XID == model.XID) { m.XmlName = model.XmlName; m.XmlRemark = model.XmlRemark; m.XmlUrl = model.XmlUrl; } } JsonCover(JsonConvert.SerializeObject(list)); return(Json(new { code = 1 })); } catch (Exception ex) { return(Json(new { code = 1, data = ex.ToString() })); } }
public void InitDefault() { m_MyInt = 69; m_MyString = "This is a test string"; m_MyXmlString = new XmlString("Native XML string object"); m_MyFloat = 3.14f; m_MyXmlDateTime = new XmlDateTime(DateTime.Now); m_MyXmlColor = new XmlColor(Color.BurlyWood); m_MyXmlSizeF2d = new XmlSizeF2d(452.62f, 895.7989f); m_MyXmlItemKeyAndValue = new XmlItemKeyAndValue("KeyNameToUse", m_MyXmlColor); m_MyXmlTranslatorElement = new XmlTranslatorElement("MyInternalName", 0); m_MyXmlTranslatorElement.AddOrUpdate(Language.English, "My translated text", "The last modifiying person", DateTime.Now); m_MyXmlTranslatorElement.AddOrUpdate(Language.German, "My translated text in German", "The last modifiying person", DateTime.Now); m_MyXmlPen = new XmlPen(Color.Violet, 20); m_MyArrayList = new ArrayList(); m_MyArrayList.Add(this.MyInt); m_MyArrayList.Add(this.MyFloat); m_MyArrayList.Add(this.MyString); m_MyArrayList.Add(this.MyXmlString); m_MyXmlList = new XmlList(); m_MyXmlList.Add(this.MyInt); m_MyXmlList.Add(this.MyFloat); m_MyXmlList.Add(this.MyString); m_MyXmlList.Add(this.MyXmlString); m_MyXmlHashtable = new XmlHashtable(); m_MyXmlHashtable.Add("HashElement1", m_MyInt); m_MyXmlHashtable.Add("HashElement2", m_MyString); m_MyXmlHashtable.Add("HashElement3", m_MyXmlString); m_MyXmlHashtable.Add("HashElement4", m_MyFloat); m_MyXmlHashtable.Add("HashElement5", m_MyXmlList); }
/// <summary> 构造函数 </summary> public SocketedShaft() { Sections = new XmlList <ShaftSectionEntity>(); }
private void LoadSemDomTestDataFromFile(string filePath) { var loader = new XmlList(); loader.ImportList(Cache.LangProject, "SemanticDomainList", filePath, new DummyProgressDlg()); }
/// <summary> /// Check whether the anthropology list exists. If not, initialize it, popping /// up a dialog to ask the user how he wants it done. /// Returning true indicates an anthro list was actually loaded during first-time initialization. /// </summary> public bool CheckAnthroList(ILangProject proj, Form parent, int wsDefault, IHelpTopicProvider helpTopicProvider) { // Don't bother loading the list into a memory-only project. These are used for // testing, and don't want to be slowed down by disk accesses. if (proj.Cache.ProjectId.Type == FDOBackendProviderType.kMemoryOnly) { return(false); } // 1. Determine whether or not the Anthropology List has been initialized. if (proj.AnthroListOA != null && proj.AnthroListOA.Name.StringCount > 0) { if (proj.AnthroListOA.ItemClsid == 0 || proj.AnthroListOA.Depth == 0) { proj.Cache.DomainDataByFlid.BeginNonUndoableTask(); proj.AnthroListOA.ItemClsid = CmAnthroItemTags.kClassId; proj.AnthroListOA.Depth = 127; proj.Cache.DomainDataByFlid.EndNonUndoableTask(); } return(false); // The Anthropology List may still be empty, but it's initialized! } // 2. Figure out what lists are available (in {FW}/Templates/*.xml). string sFilePattern = Path.Combine(DirectoryFinder.TemplateDirectory, "*.xml"); bool fHaveOCM = false; bool fHaveFRAME = false; List <string> rgsAnthroFiles = new List <string>(); string[] rgsXmlFiles = Directory.GetFiles(DirectoryFinder.TemplateDirectory, "*.xml", SearchOption.TopDirectoryOnly); string sFile; for (int i = 0; i < rgsXmlFiles.Length; ++i) { sFile = Path.GetFileName(rgsXmlFiles[i]); if (Path.GetFileName(sFile) == "OCM.xml") { fHaveOCM = true; } else if (Path.GetFileName(sFile) == "OCM-Frame.xml") { fHaveFRAME = true; } else if (sFile != "NewLangProj.xml" && IsAnthroList(rgsXmlFiles[i])) { rgsAnthroFiles.Add(sFile); } } // 3. display a dialog for the user to select a list. sFile = null; if (fHaveOCM || fHaveFRAME || rgsAnthroFiles.Count > 0) { using (FwCheckAnthroListDlg dlg = new FwCheckAnthroListDlg()) { dlg.SetValues(fHaveOCM, fHaveFRAME, rgsAnthroFiles, helpTopicProvider); if (!String.IsNullOrEmpty(m_sDescription)) { dlg.SetDescription(m_sDescription); } //EnableRelatedWindows(hwnd, false); DialogResult res = dlg.ShowDialog(parent); //EnableRelatedWindows(hwnd, true); if (res == DialogResult.OK) { int nChoice = dlg.GetChoice(); switch (nChoice) { case FwCheckAnthroListDlg.kralUserDef: break; case FwCheckAnthroListDlg.kralOCM: sFile = Path.Combine(DirectoryFinder.TemplateDirectory, "OCM.xml"); break; case FwCheckAnthroListDlg.kralFRAME: sFile = Path.Combine(DirectoryFinder.TemplateDirectory, "OCM-Frame.xml"); break; default: Debug.Assert(nChoice >= 0 && nChoice < rgsAnthroFiles.Count); sFile = Path.Combine(DirectoryFinder.TemplateDirectory, rgsAnthroFiles[nChoice]); break; } } } } // 4. Load the selected list, or initialize properly for a User-defined (empty) list. using (new WaitCursor(parent)) { if (String.IsNullOrEmpty(sFile)) { proj.Cache.DomainDataByFlid.BeginNonUndoableTask(); proj.AnthroListOA.Name.set_String(wsDefault, FwCoreDlgs.ksAnthropologyCategories); proj.AnthroListOA.Abbreviation.set_String(wsDefault, FwCoreDlgs.ksAnth); proj.AnthroListOA.ItemClsid = CmAnthroItemTags.kClassId; proj.AnthroListOA.Depth = 127; proj.Cache.DomainDataByFlid.EndNonUndoableTask(); } else { XmlList xlist = new XmlList(); xlist.ImportList(proj, "AnthroList", sFile, null); } } // 5. create the corresponding overlays if the list is not empty. ICmOverlay over = null; foreach (ICmOverlay x in proj.OverlaysOC) { if (x.PossListRA == proj.AnthroListOA) { over = x; break; } } if (over != null) { proj.Cache.DomainDataByFlid.BeginNonUndoableTask(); foreach (ICmPossibility poss in proj.AnthroListOA.PossibilitiesOS) { over.PossItemsRC.Add(poss); AddSubPossibilitiesToOverlay(over, poss); } proj.Cache.DomainDataByFlid.EndNonUndoableTask(); } return(true); }
/// <summary> /// 根据层高与跨宽生成矩形车站框架 /// </summary> /// <param name="layerHeights">从下往上每一层的高度</param> /// <param name="spanWidths">从左往右每一跨的宽度</param> public static Frame Create(float[] layerHeights, float[] spanWidths, Material defaultMat, Profile defaultProfile) { // var frameVertices = new XmlList <FrameVertice>(); var verticesColle = frameVertices; // int spanCount = spanWidths.Length; int layerCount = layerHeights.Length; // 构造节点系统 double[] Xs = new double[spanCount + 1]; for (int i = 0; i < spanCount; i++) { Xs[i + 1] = Xs[i] + spanWidths[i]; } double[] Ys = new double[layerCount + 1]; for (int i = 0; i < layerCount; i++) { Ys[i + 1] = Ys[i] + layerHeights[i]; } // 生成结点对象 for (int c = 0; c < layerCount + 1; c++) { for (int r = 0; r < spanCount + 1; r++) { verticesColle.Add(new FrameVertice(x: Xs[r], y: Ys[c], index_x: r, index_y: c)); } } // 根据节点对象生成梁柱单元 var beams = new XmlList <Beam>(); for (int c = 0; c < layerCount + 1; c++) { for (int r = 0; r < spanCount; r++) { int leftVerticeIndex = c * (spanCount + 1) + r; Beam b = new Beam(material: defaultMat, profile: defaultProfile, v1: verticesColle[leftVerticeIndex], v2: verticesColle[leftVerticeIndex + 1]); b.LocationTag = $"({verticesColle[leftVerticeIndex].Index_X + 1},{verticesColle[leftVerticeIndex].Index_Y})"; beams.Add(b); } } var columns = new XmlList <Column>(); for (int c = 0; c < layerCount; c++) { for (int r = 0; r < spanCount + 1; r++) { int bottomVerticeIndex = c * (spanCount + 1) + r; Column col = new Column(material: defaultMat, profile: defaultProfile, v1: verticesColle[bottomVerticeIndex], v2: verticesColle[bottomVerticeIndex + spanCount + 1]); col.LocationTag = $"({verticesColle[bottomVerticeIndex].Index_X},{verticesColle[bottomVerticeIndex].Index_Y + 1})"; columns.Add(col); } } return(new Frame() { Beams = beams, Columns = columns, FrameVertices = frameVertices, // LayerHeights = layerHeights, SpanWidths = spanWidths, }); }
public XmlListParser(XmlList def, string nodeName) : base(def, nodeName) { m_xmlDef = def; }
public CriterionRangeList() { AndRange = new XmlList <CriterionRange>(); }