private void UpdateArmorHuds(HudList hud) { try { hud.ClearRows(); HashSet<InventoryObject> SearchSet1 = new HashSet<InventoryObject>(); HashSet<InventoryObject> SearchSet2 = new HashSet<InventoryObject>(); HashSet<InventoryObject> SearchSet3 = new HashSet<InventoryObject>(); if (Search.ObjectClass != AObjectClass.Unknown) { SearchSet1 = nVenTory.GetByObjectClass(Search.ObjectClass); } if (Search.SearchSpellIds.Count > 0) { SearchSet2.UnionWith(nVenTory.GetBySpellIds(Search.SearchSpellIds)); } if (Search.SearchNames.Count > 0) foreach (string name in Search.SearchNames) { SearchSet3.UnionWith(nVenTory.GetByObjectName(@name)); } if (Search.SearchFragments.Count > 0) foreach (string fragment in Search.SearchFragments) { SearchSet3.UnionWith(nVenTory.GetByLowercaseFragment(@fragment)); } if (Search.ObjectClass != AObjectClass.Unknown && SearchSet1.Count == 0) { return; } if (Search.SearchSpellIds.Count > 0 && SearchSet2.Count == 0) { return; } if ((Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0) && SearchSet3.Count == 0) { return; } HashSet<InventoryObject> SearchInventoryItems = new HashSet<InventoryObject>(); if (Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet2); SearchInventoryItems.IntersectWith(SearchSet3); } else if (Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet2); } else if (Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet3); } else if (Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet2; SearchInventoryItems.IntersectWith(SearchSet3); } else if (Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet1; } else if (Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet2; } else if (Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet3; } if (Search.EquipSkill != 0) { SearchInventoryItems.RemoveWhere(x => x.EquipSkill != Search.EquipSkill); } if (Search.ArmorSet != 0) { SearchInventoryItems.RemoveWhere(x => x.ArmorSet != Search.ArmorSet); } if (Search.ArmorCoverage != 0) { SearchInventoryItems.RemoveWhere(x => x.Coverage != Search.ArmorCoverage); } if (Search.ArmorLevel != 0) { SearchInventoryItems.RemoveWhere(x => x.WieldReqValue != Search.ArmorLevel); } if (Search.ArmorRatings != 0) { SearchInventoryItems.RemoveWhere(x => x.aetherObject.Values((ALongValueKeys)Search.ArmorRatings) == 0); } if (Search.Material != 0) { SearchInventoryItems.RemoveWhere(x => x.Material != Search.Material); } if (SearchInventoryItems.Count == 0) { return; } HudList.HudListRowAccessor HudRow; foreach (InventoryObject io in SearchInventoryItems) { HudRow = hud.AddRow(); StringConstructor sc = new StringConstructor(io); ((HudPictureBox)HudRow[0]).Image = io.Icon + 0x6000000; ((HudStaticText)HudRow[1]).Text = sc.NameInfo; if (sc.SetInfo.Length > 1) ((HudStaticText)HudRow[2]).Text = sc.SetInfo.Substring(1); if (sc.RatingsInfo.Length > 1) ((HudStaticText)HudRow[3]).Text = sc.RatingsInfo.Substring(1); ((HudStaticText)HudRow[4]).Text = io.OwnerOrChest; ((HudStaticText)HudRow[5]).Text = sc.SpellInfo; ((HudStaticText)HudRow[6]).Text = io.Id.ToString(); } } catch (Exception ex) { LogError(ex); } }
private void UpdateInvDisplayHud(InventoryObject inv) { try { HudList.HudListRowAccessor HudRow; if (InvDisplayHudView == null) { return; } InvDisplayIcon.Image = inv.Icon + 0x6000000; StringConstructor sc = new StringConstructor(inv); foreach (string prop in sc.ReportInfo.Trim().Split(';')) { HudRow = InvDisplayList.AddRow(); ((HudStaticText)HudRow[0]).Text = prop.Trim(); } WriteToChat(sc.ReportInfo.Trim()); } catch (Exception ex) { LogError(ex); } }
/// <summary> /// ɾ³ý·ûºÏÌõ¼þµÄÉêÇ뵥ͼÏñ¼Ç¼ /// </summary> /// <param name="where"></param> /// <returns></returns> public override int Delete(string where) { return(ExecuteSql(StringConstructor.DeleteSql(TableName, where))); }
public Engine(Action <Options> options) { _executionContexts = new Stack <ExecutionContext>(); Global = GlobalObject.CreateGlobalObject(this); Object = ObjectConstructor.CreateObjectConstructor(this); Function = FunctionConstructor.CreateFunctionConstructor(this); Array = ArrayConstructor.CreateArrayConstructor(this); String = StringConstructor.CreateStringConstructor(this); RegExp = RegExpConstructor.CreateRegExpConstructor(this); Number = NumberConstructor.CreateNumberConstructor(this); Boolean = BooleanConstructor.CreateBooleanConstructor(this); Date = DateConstructor.CreateDateConstructor(this); Math = MathInstance.CreateMathObject(this); Json = JsonInstance.CreateJsonObject(this); Error = ErrorConstructor.CreateErrorConstructor(this, "Error"); EvalError = ErrorConstructor.CreateErrorConstructor(this, "EvalError"); RangeError = ErrorConstructor.CreateErrorConstructor(this, "RangeError"); ReferenceError = ErrorConstructor.CreateErrorConstructor(this, "ReferenceError"); SyntaxError = ErrorConstructor.CreateErrorConstructor(this, "SyntaxError"); TypeError = ErrorConstructor.CreateErrorConstructor(this, "TypeError"); UriError = ErrorConstructor.CreateErrorConstructor(this, "URIError"); // Because the properties might need some of the built-in object // their configuration is delayed to a later step Global.Configure(); Object.Configure(); Object.PrototypeObject.Configure(); Function.Configure(); Function.PrototypeObject.Configure(); Array.Configure(); Array.PrototypeObject.Configure(); String.Configure(); String.PrototypeObject.Configure(); RegExp.Configure(); RegExp.PrototypeObject.Configure(); Number.Configure(); Number.PrototypeObject.Configure(); Boolean.Configure(); Boolean.PrototypeObject.Configure(); Date.Configure(); Date.PrototypeObject.Configure(); Math.Configure(); Json.Configure(); Error.Configure(); Error.PrototypeObject.Configure(); // create the global environment http://www.ecma-international.org/ecma-262/5.1/#sec-10.2.3 GlobalEnvironment = LexicalEnvironment.NewObjectEnvironment(this, Global, null, false); // create the global execution context http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.1.1 EnterExecutionContext(GlobalEnvironment, GlobalEnvironment, Global); Options = new Options(); if (options != null) { options(Options); } Eval = new EvalFunctionInstance(this, new string[0], LexicalEnvironment.NewDeclarativeEnvironment(this, ExecutionContext.LexicalEnvironment), StrictModeScope.IsStrictModeCode); Global.FastAddProperty("eval", Eval, true, false, true); _statements = new StatementInterpreter(this); _expressions = new ExpressionInterpreter(this); if (Options._IsClrAllowed) { Global.FastAddProperty("System", new NamespaceReference(this, "System"), false, false, false); Global.FastAddProperty("importNamespace", new ClrFunctionInstance(this, (thisObj, arguments) => { return(new NamespaceReference(this, TypeConverter.ToString(arguments.At(0)))); }), false, false, false); } ClrTypeConverter = new DefaultTypeConverter(this); BreakPoints = new List <BreakPoint>(); DebugHandler = new DebugHandler(this); }
private void UpdateInventoryHud() { lstHudInventory.ClearRows(); HashSet<InventoryObject> SearchSet1 = new HashSet<InventoryObject>(); HashSet<InventoryObject> SearchSet2 = new HashSet<InventoryObject>(); HashSet<InventoryObject> SearchSet3 = new HashSet<InventoryObject>(); HashSet<InventoryObject> SearchInventoryItems = new HashSet<InventoryObject>(); if (Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count > 0) { int n = Search.SearchFragments.Count; SearchSet1.UnionWith(nVenTory.GetByLowercaseFragment(Search.SearchFragments[0])); SearchInventoryItems = SearchSet1; if (n == 2) { SearchSet2.UnionWith(nVenTory.GetByLowercaseFragment(Search.SearchFragments[1])); SearchInventoryItems.IntersectWith(SearchSet2); } if (n == 3) { SearchSet3.UnionWith(nVenTory.GetByLowercaseFragment(Search.SearchFragments[2])); SearchInventoryItems.IntersectWith(SearchSet3); } } else { SearchSet1.Clear(); SearchSet2.Clear(); SearchSet3.Clear(); if(Search.ObjectClass != AObjectClass.Unknown){SearchSet1 = nVenTory.GetByObjectClass(Search.ObjectClass);} if(Search.SearchSpellIds.Count > 0) {SearchSet2.UnionWith(nVenTory.GetBySpellIds(Search.SearchSpellIds));} if(Search.SearchNames.Count > 0) foreach(string name in Search.SearchNames) {SearchSet3.UnionWith(nVenTory.GetByObjectName(@name));} if(Search.SearchFragments.Count > 0) foreach(string fragment in Search.SearchFragments) {SearchSet3.UnionWith(nVenTory.GetByLowercaseFragment(@fragment));} if(Search.ObjectClass != AObjectClass.Unknown && SearchSet1.Count == 0) {return;} if(Search.SearchSpellIds.Count > 0 && SearchSet2.Count == 0) {return;} if((Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0) && SearchSet3.Count == 0) {return;} if(Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet2); SearchInventoryItems.IntersectWith(SearchSet3); } else if(Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet2); } else if(Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet1; SearchInventoryItems.IntersectWith(SearchSet3); } else if(Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet2; SearchInventoryItems.IntersectWith(SearchSet3); } else if(Search.ObjectClass != AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet1; } else if(Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count > 0 && Search.SearchNames.Count == 0 && Search.SearchFragments.Count == 0) { SearchInventoryItems = SearchSet2; } else if(Search.ObjectClass == AObjectClass.Unknown && Search.SearchSpellIds.Count == 0 && (Search.SearchNames.Count > 0 || Search.SearchFragments.Count > 0)) { SearchInventoryItems = SearchSet3; } } if (Search.EquipSkill != 0) { SearchInventoryItems.RemoveWhere(x => x.EquipSkill != Search.EquipSkill); } if (Search.DamageType != 0) { SearchInventoryItems.RemoveWhere(x => x.ElementalType != Search.DamageType); } if (Search.WeaponEmbue != 0) { SearchInventoryItems.RemoveWhere(x => x.Imbued != Search.WeaponEmbue); } if (Search.WeaponLevel > 0) { SearchInventoryItems.RemoveWhere(x => x.WieldReqValue != Search.WeaponLevel && x.EssenceLevel != Search.WeaponLevel); } if (Search.WeaponLevel < 0 ) {SearchInventoryItems.RemoveWhere(x => x.WieldReqValue != 0);} //why so painful? Per Irquk: "Just past the mastery code from //LootObject into InventoryObject then match to the mastery value." //I did it for you, it works without issues if (Search.Mastery != 0) { SearchInventoryItems.RemoveWhere(x => x.WeaponMasteryCategory != Search.Mastery);} if ( Search.ArmorSet != 0) { SearchInventoryItems.RemoveWhere(x => x.ArmorSet != Search.ArmorSet); } if (Search.ArmorCoverage != 0) { SearchInventoryItems.RemoveWhere(x => x.Coverage != Search.ArmorCoverage);} if (Search.ArmorLevel > 0) { SearchInventoryItems.RemoveWhere(x => x.WieldReqValue != Search.ArmorLevel); } if(Search.ArmorLevel < 0) { SearchInventoryItems.RemoveWhere(x => x.WieldReqValue != 0); } //This will look inside the AetherObject stored inventory object. It will cast the Search.ArmorRatings number as a longvaluekey //Next it will look up and see if the aetherobject has non-zero values on that key and remove all the items that are zero values. if (Search.ArmorRatings != 0){ SearchInventoryItems.RemoveWhere(x => x.aetherObject.Values((ALongValueKeys)Search.ArmorRatings) == 0);} if (Search.Material != 0) { SearchInventoryItems.RemoveWhere(x => x.Material != Search.Material); } if (Search.MaxSalvageWork != 0 && Search.MinSalvageWork != 0) { SearchInventoryItems.RemoveWhere(x => x.SalvageWorkmanship > Search.MaxSalvageWork); SearchInventoryItems.RemoveWhere(x => x.SalvageWorkmanship < Search.MinSalvageWork); } if (SearchInventoryItems.Count == 0) { return; } HudList.HudListRowAccessor HudRow; foreach (InventoryObject io in SearchInventoryItems.OrderBy(x => x.OwnerOrChest).ThenBy(x => x.Name)) { HudRow = lstHudInventory.AddRow(); StringConstructor sc = new StringConstructor(io); ((HudPictureBox)HudRow[0]).Image = io.Icon + 0x6000000; ((HudStaticText)HudRow[1]).Text = sc.NameInfo; if ( sc.SetInfo.Length != 0) ((HudStaticText)HudRow[2]).Text = sc.SetInfo.Substring(1); if (sc.RatingsInfo.Length != 0) ((HudStaticText)HudRow[3]).Text = sc.RatingsInfo.Substring(1); ((HudStaticText)HudRow[4]).Text = io.OwnerOrChest; ((HudStaticText)HudRow[5]).Text = io.Id.ToString(); } }
public override int AddMore(Hashtable ht2)//批量插入 { MQcRyDiagDict qcRyDiagDict = new MQcRyDiagDict(); Hashtable ht = new Hashtable(); Hashtable htstr = new Hashtable(); if (ht2.Count > 0) { for (int i = 0; i < ht2.Count; i++) { ht.Clear(); qcRyDiagDict = (MQcRyDiagDict)ht2[i]; ht.Add("CT_POSITIVE_RATE", qcRyDiagDict.CT_POSITIVE_RATE); ht.Add("DISTINCTION", qcRyDiagDict.DISTINCTION); ht.Add("DRPT_AGE", qcRyDiagDict.DRPT_AGE); ht.Add("DRPT_APP_DATE", qcRyDiagDict.DRPT_APP_DATE); ht.Add("DRPT_APPROVER", qcRyDiagDict.DRPT_APPROVER); ht.Add("DRPT_CLIN_DIAG", qcRyDiagDict.DRPT_CLIN_DIAG); ht.Add("DRPT_DESCRIPTION", qcRyDiagDict.DRPT_DESCRIPTION); ht.Add("DRPT_EXAM_ITEM", qcRyDiagDict.DRPT_EXAM_ITEM); ht.Add("DRPT_EXAM_TEC", qcRyDiagDict.DRPT_EXAM_TEC); ht.Add("DRPT_FILM_DATE", qcRyDiagDict.DRPT_FILM_DATE); ht.Add("DRPT_IMPRESSION", qcRyDiagDict.DRPT_IMPRESSION); ht.Add("DRPT_LOCAL_ID", qcRyDiagDict.DRPT_LOCAL_ID); ht.Add("DRPT_NAME", qcRyDiagDict.DRPT_NAME); ht.Add("DRPT_NUMBER", qcRyDiagDict.DRPT_NUMBER); ht.Add("DRPT_RPT_DATE", qcRyDiagDict.DRPT_RPT_DATE); ht.Add("DRPT_SEX", qcRyDiagDict.DRPT_SEX); ht.Add("DRPT_TRANSCRIBER", qcRyDiagDict.DRPT_TRANSCRIBER); ht.Add("EXAM_ACCESSION_NUM", qcRyDiagDict.EXAM_ACCESSION_NUM); ht.Add("INQ_AGE", qcRyDiagDict.INQ_AGE); ht.Add("INQ_DOCTOR", qcRyDiagDict.INQ_DOCTOR); ht.Add("INQ_EXAM_ITEM_DIAG", qcRyDiagDict.INQ_EXAM_ITEM_DIAG); ht.Add("INQ_LOCAL_ID", qcRyDiagDict.INQ_LOCAL_ID); ht.Add("INQ_NAME", qcRyDiagDict.INQ_NAME); ht.Add("INQ_NUMBER", qcRyDiagDict.INQ_NUMBER); ht.Add("INQ_OPE_DATE", qcRyDiagDict.INQ_OPE_DATE); ht.Add("INQ_OPERATION", qcRyDiagDict.INQ_OPERATION); ht.Add("INQ_PATH_DESCRIPTION", qcRyDiagDict.INQ_PATH_DESCRIPTION); ht.Add("INQ_PATH_DOCTOR", qcRyDiagDict.INQ_PATH_DOCTOR); ht.Add("INQ_PATH_NO", qcRyDiagDict.INQ_PATH_NO); ht.Add("INQ_SEX", qcRyDiagDict.INQ_SEX); ht.Add("MR_POSITIVE_RATE", qcRyDiagDict.MR_POSITIVE_RATE); ht.Add("NUMBER_KEY", qcRyDiagDict.NUMBER_KEY); ht.Add("PATIENT_ID", qcRyDiagDict.PATIENT_ID); ht.Add("PATIENT_LOCAL_ID", qcRyDiagDict.PATIENT_LOCAL_ID); ht.Add("PATIENT_NAME", qcRyDiagDict.PATIENT_NAME); ht.Add("PATIENT_SEX", qcRyDiagDict.PATIENT_SEX); ht.Add("PITCH", qcRyDiagDict.PITCH); ht.Add("QC_DATE", qcRyDiagDict.QC_DATE); ht.Add("QUALITATIVE", qcRyDiagDict.QUALITATIVE); ht.Add("STUDY_DATE_TIME", qcRyDiagDict.STUDY_DATE_TIME); ht.Add("TOTAL_SCORE", qcRyDiagDict.TOTAL_SCORE); ht.Add("XR_POSITIVE_RATE", qcRyDiagDict.XR_POSITIVE_RATE); htstr.Add(i, StringConstructor.InsertSql(TableName, ht).ToString()); } return(ExecuteNonSql(htstr)); } else { return(0); } }
public Engine(Action <Options> options) { _executionContexts = new ExecutionContextStack(); Global = GlobalObject.CreateGlobalObject(this); Object = ObjectConstructor.CreateObjectConstructor(this); Function = FunctionConstructor.CreateFunctionConstructor(this); Symbol = SymbolConstructor.CreateSymbolConstructor(this); Array = ArrayConstructor.CreateArrayConstructor(this); Map = MapConstructor.CreateMapConstructor(this); Set = SetConstructor.CreateSetConstructor(this); Iterator = IteratorConstructor.CreateIteratorConstructor(this); String = StringConstructor.CreateStringConstructor(this); RegExp = RegExpConstructor.CreateRegExpConstructor(this); Number = NumberConstructor.CreateNumberConstructor(this); Boolean = BooleanConstructor.CreateBooleanConstructor(this); // Date = DateConstructor.CreateDateConstructor(this); Math = MathInstance.CreateMathObject(this); Json = JsonInstance.CreateJsonObject(this); Error = ErrorConstructor.CreateErrorConstructor(this, "Error"); EvalError = ErrorConstructor.CreateErrorConstructor(this, "EvalError"); RangeError = ErrorConstructor.CreateErrorConstructor(this, "RangeError"); ReferenceError = ErrorConstructor.CreateErrorConstructor(this, "ReferenceError"); SyntaxError = ErrorConstructor.CreateErrorConstructor(this, "SyntaxError"); TypeError = ErrorConstructor.CreateErrorConstructor(this, "TypeError"); UriError = ErrorConstructor.CreateErrorConstructor(this, "URIError"); GlobalSymbolRegistry = new GlobalSymbolRegistry(); // Because the properties might need some of the built-in object // their configuration is delayed to a later step Global.Configure(); Object.Configure(); Object.PrototypeObject.Configure(); Symbol.Configure(); Symbol.PrototypeObject.Configure(); Function.Configure(); Function.PrototypeObject.Configure(); Array.Configure(); Array.PrototypeObject.Configure(); Map.Configure(); Map.PrototypeObject.Configure(); Set.Configure(); Set.PrototypeObject.Configure(); Iterator.Configure(); Iterator.PrototypeObject.Configure(); String.Configure(); String.PrototypeObject.Configure(); RegExp.Configure(); RegExp.PrototypeObject.Configure(); Number.Configure(); Number.PrototypeObject.Configure(); Boolean.Configure(); Boolean.PrototypeObject.Configure(); // Date.Configure(); // Date.PrototypeObject.Configure(); Math.Configure(); Json.Configure(); Error.Configure(); Error.PrototypeObject.Configure(); // create the global environment http://www.ecma-international.org/ecma-262/5.1/#sec-10.2.3 GlobalEnvironment = LexicalEnvironment.NewObjectEnvironment(this, Global, null, false); // create the global execution context http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.1.1 EnterExecutionContext(GlobalEnvironment, GlobalEnvironment, Global); Options = new Options(); options?.Invoke(Options); // gather some options as fields for faster checks _isDebugMode = Options.IsDebugMode; if (_isDebugMode) { MyAPIGateway.Utilities.ShowMessage("SpaceJS", "Debug mode enabled."); } _isStrict = Options.IsStrict; _maxStatements = Options._MaxStatements; _referenceResolver = Options.ReferenceResolver; _memoryLimit = Options._MemoryLimit; _runBeforeStatementChecks = (_maxStatements > 0 && _maxStatements < int.MaxValue) || Options._TimeoutInterval.Ticks > 0 || _memoryLimit > 0 || _isDebugMode; _referencePool = new ReferencePool(); _argumentsInstancePool = new ArgumentsInstancePool(this); _jsValueArrayPool = new JsValueArrayPool(); Eval = new EvalFunctionInstance(this, System.ArrayExt.Empty <string>(), LexicalEnvironment.NewDeclarativeEnvironment(this, ExecutionContext.LexicalEnvironment), StrictModeScope.IsStrictModeCode); Global.FastAddProperty("eval", Eval, true, false, true); _statements = new StatementInterpreter(this); _expressions = new ExpressionInterpreter(this); /* if (Options._IsClrAllowed) * { * Global.FastAddProperty("System", new NamespaceReference(this, "System"), false, false, false); * Global.FastAddProperty("importNamespace", new ClrFunctionInstance( * this, * "importNamespace", * (thisObj, arguments) => new NamespaceReference(this, TypeConverter.ToString(arguments.At(0)))), false, false, false); * } */ // ClrTypeConverter = new DefaultTypeConverter(this); }
/// <summary> /// Constructs a new engine instance and allows customizing options. /// </summary> /// <remarks>The provided engine instance in callback is not guaranteed to be fully configured</remarks> public Engine(Action <Engine, Options> options) { _executionContexts = new ExecutionContextStack(2); Global = GlobalObject.CreateGlobalObject(this); Object = ObjectConstructor.CreateObjectConstructor(this); Function = FunctionConstructor.CreateFunctionConstructor(this); _callerCalleeArgumentsThrowerConfigurable = new GetSetPropertyDescriptor.ThrowerPropertyDescriptor(this, PropertyFlag.Configurable | PropertyFlag.CustomJsValue, "'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them"); _callerCalleeArgumentsThrowerNonConfigurable = new GetSetPropertyDescriptor.ThrowerPropertyDescriptor(this, PropertyFlag.CustomJsValue, "'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them"); Symbol = SymbolConstructor.CreateSymbolConstructor(this); Array = ArrayConstructor.CreateArrayConstructor(this); Map = MapConstructor.CreateMapConstructor(this); Set = SetConstructor.CreateSetConstructor(this); Iterator = IteratorConstructor.CreateIteratorConstructor(this); String = StringConstructor.CreateStringConstructor(this); RegExp = RegExpConstructor.CreateRegExpConstructor(this); Number = NumberConstructor.CreateNumberConstructor(this); Boolean = BooleanConstructor.CreateBooleanConstructor(this); Date = DateConstructor.CreateDateConstructor(this); Math = MathInstance.CreateMathObject(this); Json = JsonInstance.CreateJsonObject(this); Proxy = ProxyConstructor.CreateProxyConstructor(this); Reflect = ReflectInstance.CreateReflectObject(this); GlobalSymbolRegistry = new GlobalSymbolRegistry(); // Because the properties might need some of the built-in object // their configuration is delayed to a later step // trigger initialization Global.GetProperty(JsString.Empty); // this is implementation dependent, and only to pass some unit tests Global._prototype = Object.PrototypeObject; Object._prototype = Function.PrototypeObject; // create the global environment http://www.ecma-international.org/ecma-262/5.1/#sec-10.2.3 GlobalEnvironment = LexicalEnvironment.NewGlobalEnvironment(this, Global); // create the global execution context http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.1.1 EnterExecutionContext(GlobalEnvironment, GlobalEnvironment); Eval = new EvalFunctionInstance(this); Global.SetProperty(CommonProperties.Eval, new PropertyDescriptor(Eval, PropertyFlag.Configurable | PropertyFlag.Writable)); Options = new Options(); options?.Invoke(this, Options); // gather some options as fields for faster checks _isDebugMode = Options.IsDebugMode; _isStrict = Options.IsStrict; _constraints = Options._Constraints; _referenceResolver = Options.ReferenceResolver; _referencePool = new ReferencePool(); _argumentsInstancePool = new ArgumentsInstancePool(this); _jsValueArrayPool = new JsValueArrayPool(); if (Options._IsClrAllowed) { Global.SetProperty("System", new PropertyDescriptor(new NamespaceReference(this, "System"), PropertyFlag.AllForbidden)); Global.SetProperty("importNamespace", new PropertyDescriptor(new ClrFunctionInstance( this, "importNamespace", (thisObj, arguments) => new NamespaceReference(this, TypeConverter.ToString(arguments.At(0)))), PropertyFlag.AllForbidden)); } ClrTypeConverter = new DefaultTypeConverter(this); }
/// <summary> /// 更新指定的检查记录 /// </summary> /// <param name="iStudy"></param> /// <param name="where"></param> /// <returns></returns> public override int Update(IModel iStudy, string where) { MStudy m = (MStudy)iStudy; Hashtable ht = new Hashtable(); ht.Add("study_key", m.STUDY_KEY); ht.Add("patient_id", m.PATIENT_ID); ht.Add("patient_name", m.PATIENT_NAME); ht.Add("patient_sex", m.PATIENT_SEX); ht.Add("patient_birth", m.PATIENT_BIRTH); //日期 ht.Add("patient_age", m.PATIENT_AGE); //N ht.Add("patient_age_unit", m.PATIENT_AGE_UNIT); ht.Add("patient_source", m.PATIENT_SOURCE); ht.Add("birth_place", m.BIRTH_PLACE); ht.Add("identity", m.IDENTITY); //ht.Add("security", "");//N ht.Add("charge_type", m.CHARGE_TYPE); ht.Add("visit_id", m.VISIT_ID);//N ht.Add("inp_no", m.INP_NO); ht.Add("bed_num", m.BED_NUM); ht.Add("zip_code", m.ZIP_CODE); ht.Add("mailing_address", m.MAILING_ADDRESS); ht.Add("telephone_number", m.TELEPHONE_NUMBER); ht.Add("study_id", m.STUDY_ID); //?? //ht.Add("study_desc", dt.Rows[0]["PATIENT_ID"].ToString());//取自DICOM文件X ht.Add("study_instance_uid", m.STUDY_INSTANCE_UID); //CreateStudy_Instance_Uid方法 ht.Add("study_date_time", m.STUDY_DATE_TIME); //日期 // ht.Add("access_no", dt.Rows[0]["PATIENT_ID"].ToString());//?X // ht.Add("body_part", dt.Rows[0]["PATIENT_ID"].ToString());//?X ht.Add("series_count", "0"); //?X ht.Add("instance_count", "0"); //?X ht.Add("modality", m.MODALITY); // ht.Add("facility", m.FACILITY); ht.Add("refer_doctor", m.REFER_DOCTOR); ht.Add("refer_dept", m.REFER_DEPT); ht.Add("req_memo", m.REQ_MEMO); ht.Add("req_dept_name", m.REQ_DEPT_NAME); ht.Add("req_date_time", m.REQ_DATE_TIME); //日期 ht.Add("scheduled_date", m.SCHEDULED_DATE); //日期 ht.Add("sch_operator", m.SCH_OPERATOR); ht.Add("exam_no", m.EXAM_NO); ht.Add("exam_accession_num", m.EXAM_ACCESSION_NUM); ht.Add("exam_class", m.EXAM_CLASS); ht.Add("exam_sub_class", m.EXAM_SUB_CLASS); ht.Add("exam_item", m.EXAM_ITEM); ht.Add("exam_mode", m.EXAM_MODE); ht.Add("exam_group", m.EXAM_GROUP); ht.Add("exam_dept_name", m.EXAM_DEPT_NAME); ht.Add("exam_doctor", m.EXAM_DOCTOR); ht.Add("exam_index", m.EXAM_INDEX); //N ht.Add("is_online", "1"); //N ht.Add("is_matched", "1"); //N ht.Add("is_packprocess", "0"); //N ht.Add("report_status", "1"); //N // ht.Add("verified","0");//N ht.Add("approver", m.APPROVER);//报告人USERIINFO ht.Add("clin_diag", m.CLIN_DIAG); ht.Add("clin_symp", m.CLIN_SYMP); ht.Add("relevant_lab_test", m.RELEVANT_LAB_TEST); ht.Add("relevant_diag", m.RELEVANT_DIAG); ht.Add("phys_sign", m.PHYS_SIGN); // ht.Add("study_path",dt.Rows[0]["PATIENT_ID"].ToString()); // ht.Add("volume_key",dt.Rows[0]["PATIENT_ID"].ToString());// 不理 ht.Add("device", m.DEVICE); return(ExecuteSql(StringConstructor.UpdateSql(TableName, ht, where).ToString())); }
public override int AddMore(Hashtable ht2)//批量插入 { MQcFilm qcFilm = new MQcFilm(); Hashtable ht = new Hashtable(); Hashtable htstr = new Hashtable(); if (ht2.Count > 0) { for (int i = 0; i < ht2.Count; i++) { ht.Clear(); qcFilm = (MQcFilm)ht2[i]; ht.Add("ADHIBIT", qcFilm.ADHIBIT); ht.Add("BASE_ASH_FOG_VALUE", qcFilm.BASE_ASH_FOG_VALUE); ht.Add("BLANK_EXPOSAL_DENSITY", qcFilm.BLANK_EXPOSAL_DENSITY); ht.Add("DIAGNOSE_AREA_VALUE", qcFilm.DIAGNOSE_AREA_VALUE); ht.Add("DIRT", qcFilm.DIRT); ht.Add("DISTINCTION", qcFilm.DISTINCTION); ht.Add("EXAM_ACCESSION_NUM", qcFilm.EXAM_ACCESSION_NUM); ht.Add("EXTERNA_SHADOW", qcFilm.EXTERNA_SHADOW); ht.Add("FINGER_MARK", qcFilm.FINGER_MARK); ht.Add("IVP_CONTRAST", qcFilm.IVP_CONTRAST); ht.Add("IVP_DEVELOP", qcFilm.IVP_DEVELOP); ht.Add("IVP_FILM_POSTURE_PLACE", qcFilm.IVP_FILM_POSTURE_PLACE); ht.Add("IVP_LETTER_ARRANGE", qcFilm.IVP_LETTER_ARRANGE); ht.Add("IVP_LETTER_NO", qcFilm.IVP_LETTER_NO); ht.Add("IVP_PHOTOGRAPHS_ENOUGH", qcFilm.IVP_PHOTOGRAPHS_ENOUGH); ht.Add("IVP_PROJECTION_CENTRAGE", qcFilm.IVP_PROJECTION_CENTRAGE); ht.Add("KNUCKLE_ARRANGEMENT_FOCUS", qcFilm.KNUCKLE_ARRANGEMENT_FOCUS); ht.Add("KNUCKLE_IMAGE_DISTORTION", qcFilm.KNUCKLE_IMAGE_DISTORTION); ht.Add("KNUCKLE_LETTER_ARRANGE", qcFilm.KNUCKLE_LETTER_ARRANGE); ht.Add("KNUCKLE_LONG_AXIS_PARALLEL", qcFilm.KNUCKLE_LONG_AXIS_PARALLEL); ht.Add("KNUCKLE_PROJECTION", qcFilm.KNUCKLE_PROJECTION); ht.Add("KNUCKLE_RESOLUTION", qcFilm.KNUCKLE_RESOLUTION); ht.Add("KNUCKLE_WRAP", qcFilm.KNUCKLE_WRAP); ht.Add("LIGHT_LEAK", qcFilm.LIGHT_LEAK); ht.Add("NICK", qcFilm.NICK); ht.Add("NUMBER_KEY", qcFilm.NUMBER_KEY); ht.Add("PATIENT_ID", qcFilm.PATIENT_ID); ht.Add("PATIENT_LOCAL_ID", qcFilm.PATIENT_LOCAL_ID); ht.Add("PATIENT_NAME", qcFilm.PATIENT_NAME); ht.Add("PATIENT_SEX", qcFilm.PATIENT_SEX); ht.Add("QC_DATE", qcFilm.QC_DATE); ht.Add("STATIC_SHADOW", qcFilm.STATIC_SHADOW); ht.Add("STERNUM_ARRANGEMENT_FOCUS", qcFilm.STERNUM_ARRANGEMENT_FOCUS); ht.Add("STERNUM_BLADEBONE", qcFilm.STERNUM_BLADEBONE); ht.Add("STERNUM_BOARD", qcFilm.STERNUM_BOARD); ht.Add("STERNUM_BREAST", qcFilm.STERNUM_BREAST); ht.Add("STERNUM_FIRST_FORTH_WHETTLE", qcFilm.STERNUM_FIRST_FORTH_WHETTLE); ht.Add("STERNUM_IMAGE_DISTORTION", qcFilm.STERNUM_IMAGE_DISTORTION); ht.Add("STERNUM_LETTER_ARRANGE", qcFilm.STERNUM_LETTER_ARRANGE); ht.Add("STERNUM_LETTER_NO", qcFilm.STERNUM_LETTER_NO); ht.Add("STUDY_DATE_TIME", qcFilm.STUDY_DATE_TIME); ht.Add("TOTAL_SCORE", qcFilm.TOTAL_SCORE); ht.Add("UGI_BLEB", qcFilm.UGI_BLEB); ht.Add("UGI_CAVITY_LINE", qcFilm.UGI_CAVITY_LINE); ht.Add("UGI_CONTRAST", qcFilm.UGI_CONTRAST); ht.Add("UGI_FLOCCULENCE", qcFilm.UGI_FLOCCULENCE); ht.Add("UGI_INDICATION_RANGE", qcFilm.UGI_INDICATION_RANGE); ht.Add("UGI_INF_CRITERION", qcFilm.UGI_INF_CRITERION); ht.Add("UGI_MUCOSAL_FOLD", qcFilm.UGI_MUCOSAL_FOLD); ht.Add("UGI_PATIENT_TYPE", qcFilm.UGI_PATIENT_TYPE); ht.Add("UGI_PHOTOGRAPHS_ENOUGH", qcFilm.UGI_PHOTOGRAPHS_ENOUGH); ht.Add("UGI_PROJECTION_CASE", qcFilm.UGI_PROJECTION_CASE); ht.Add("WATER_MARK", qcFilm.WATER_MARK); htstr.Add(i, StringConstructor.InsertSql(TableName, ht).ToString()); } return(ExecuteNonSql(htstr)); } else { return(0); } }
public ScriptEngine() { // Create the initial hidden class schema. This must be done first. this.emptySchema = HiddenClassSchema.CreateEmptySchema(); // Create the base of the prototype chain. var baseObject = ObjectInstance.CreateRootObject(this); // Create the global object. this.globalObject = new GlobalObject(baseObject); // Create the function object that second to last in the prototype chain. var baseFunction = UserDefinedFunction.CreateEmptyFunction(baseObject); // Object must be created first, then function. this.objectConstructor = new ObjectConstructor(baseFunction, baseObject); this.functionConstructor = new FunctionConstructor(baseFunction, baseFunction); // Create all the built-in objects. this.mathObject = new MathObject(baseObject); this.jsonObject = new JSONObject(baseObject); // Create all the built-in functions. this.arrayConstructor = new ArrayConstructor(baseFunction); this.booleanConstructor = new BooleanConstructor(baseFunction); this.dateConstructor = new DateConstructor(baseFunction); this.numberConstructor = new NumberConstructor(baseFunction); this.regExpConstructor = new RegExpConstructor(baseFunction); this.stringConstructor = new StringConstructor(baseFunction); // Create the error functions. this.errorConstructor = new ErrorConstructor(baseFunction, "Error"); this.rangeErrorConstructor = new ErrorConstructor(baseFunction, "RangeError"); this.typeErrorConstructor = new ErrorConstructor(baseFunction, "TypeError"); this.syntaxErrorConstructor = new ErrorConstructor(baseFunction, "SyntaxError"); this.uriErrorConstructor = new ErrorConstructor(baseFunction, "URIError"); this.evalErrorConstructor = new ErrorConstructor(baseFunction, "EvalError"); this.referenceErrorConstructor = new ErrorConstructor(baseFunction, "ReferenceError"); // Populate the instance prototypes (TODO: optimize this, currently takes about 15ms). this.globalObject.PopulateFunctions(); this.objectConstructor.PopulateFunctions(); this.objectConstructor.InstancePrototype.PopulateFunctions(); this.functionConstructor.InstancePrototype.PopulateFunctions(typeof(FunctionInstance)); this.mathObject.PopulateFunctions(); this.mathObject.PopulateFields(); this.jsonObject.PopulateFunctions(); this.arrayConstructor.PopulateFunctions(); this.arrayConstructor.InstancePrototype.PopulateFunctions(); this.booleanConstructor.InstancePrototype.PopulateFunctions(); this.dateConstructor.PopulateFunctions(); this.dateConstructor.InstancePrototype.PopulateFunctions(); this.numberConstructor.InstancePrototype.PopulateFunctions(); this.numberConstructor.PopulateFields(); this.regExpConstructor.InstancePrototype.PopulateFunctions(); this.stringConstructor.PopulateFunctions(); this.stringConstructor.InstancePrototype.PopulateFunctions(); this.errorConstructor.InstancePrototype.PopulateFunctions(); // Add them as JavaScript-accessible properties of the global instance. this.globalObject.FastSetProperty("Array", this.arrayConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Boolean", this.booleanConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Date", this.dateConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Function", this.functionConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("JSON", this.jsonObject, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Math", this.mathObject, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Number", this.numberConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("Object", this.objectConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("RegExp", this.regExpConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("String", this.stringConstructor, PropertyAttributes.NonEnumerable); // And the errors. this.globalObject.FastSetProperty("Error", this.errorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("RangeError", this.rangeErrorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("TypeError", this.typeErrorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("SyntaxError", this.syntaxErrorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("URIError", this.uriErrorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("EvalError", this.evalErrorConstructor, PropertyAttributes.NonEnumerable); this.globalObject.FastSetProperty("ReferenceError", this.referenceErrorConstructor, PropertyAttributes.NonEnumerable); }
private void ArmorAvailableHudList_Click(object sender, int row, int col) { try { HudList.HudListRowAccessor HudRow = ArmorAvailableHudList[row]; InventoryObject wos = nVenTory[Convert.ToInt32(((HudStaticText)HudRow[6]).Text)]; StringConstructor sc = new StringConstructor(wos); RenderInvDisplayHud(); UpdateInvDisplayHud(wos); } catch (Exception ex) { LogError(ex); } return; }
private void FillArmorUpdateHudList() { try { toonArmorUpdateName = AetherCharacter.CharStats.Name; myUpdateArmor = new List<InventoryObject>(); foreach (InventoryObject wos in nVenTory.Equipment.Where(x => x.EquippedSlot != 0)) { if(wos.OwnerOrChest == toonArmorUpdateName) { StringConstructor sc = new StringConstructor(wos); myUpdateArmor.Add(wos); ArmorUpdateHudListRow = ArmorUpdateHudList.AddRow(); ((HudStaticText)ArmorUpdateHudListRow[0]).Text = wos.Name; if (sc.SetInfo.Length > 1) ((HudStaticText)ArmorUpdateHudListRow[1]).Text = sc.SetInfo.Substring(1); if (sc.RatingsInfo.Length > 1) if (sc.RatingsInfo.Length > 1) ((HudStaticText)ArmorUpdateHudListRow[2]).Text = sc.RatingsInfo.Substring(1); if (sc.CoverageInfo.Length > 1) ((HudStaticText)ArmorUpdateHudListRow[3]).Text = sc.CoverageInfo.Substring(1); ((HudStaticText)ArmorUpdateHudListRow[4]).Text = sc.SpellInfo; ((HudStaticText)ArmorHudListRow[5]).Text = wos.Id.ToString(); } } }catch(Exception ex){LogError(ex);} }
private void FillArmorHudList() { try { ArmorHudList.ClearRows(); myArmor = new List<InventoryObject>(); foreach (InventoryObject wos in nVenTory.Equipment.Where(x => x.EquippedSlot != 0)) { if (wos.OwnerOrChest == toonArmorName) { myArmor.Add(wos); StringConstructor sc = new StringConstructor(wos); ArmorHudListRow = ArmorHudList.AddRow(); ((HudStaticText)ArmorHudListRow[0]).Text = wos.Name; if (sc.SetInfo.Length > 1) ((HudStaticText)ArmorHudListRow[1]).Text = sc.SetInfo.Substring(1); if (sc.RatingsInfo.Length > 1) if (sc.RatingsInfo.Length > 1) ((HudStaticText)ArmorHudListRow[2]).Text = sc.RatingsInfo.Substring(1); if (sc.CoverageInfo.Length > 1) ((HudStaticText)ArmorHudListRow[3]).Text = sc.CoverageInfo.Substring(1); //tDataTable.CoverageInvList.Where(x => x.ID == wos.Coverage).First().name; ((HudStaticText)ArmorHudListRow[4]).Text = sc.SpellInfo; ((HudStaticText)ArmorHudListRow[5]).Text = wos.Id.ToString(); } } } catch (Exception ex) { LogError(ex); } }