public WidgetContext(FormContext formContext) : base() { _parameters = new DynamicObj(); FormContext = formContext; IsViewMode = formContext.IsViewMode; AppContext = formContext.Context; }
/// <summary> /// 根据指定会话ID获取会话信息,如果指定会话不在,则返回空 /// </summary> /// <param name="SessionID"></param> /// <returns></returns> public string GetCookieValue(Guid CookieID) { string json = ""; RemoveExpiresCookie(); DynamicObj rec = db.GetDynamicObj(string.Format("select * from TSys_LoginUserCookie with(nolock) where CookieID='{0}'", CookieID)); if (rec != null) { json = rec.Get <string>("UserInfoEntity"); DateTime readTime = rec.Get <DateTime>("ReadTime"); DateTime Expires = rec.Get <DateTime>("Expires"); //取到两者之前间隔,则可知道Cookie保存长度 TimeSpan ts = Expires - readTime; Expires.AddTicks(ts.Ticks); //再次更新 db.ExecuteCommand(string.Format("update TSys_LoginUserCookie set ReadTime={0},Expires={1} where CookieID='{2}'", db.Function.DateTimeValue(DateTime.Now), db.Function.DateTimeValue(Expires), CookieID)); } return(json); }
public override bool OnInteraction(List <DynamicObj> ListDynamicObjs, DynamicObj target, NATURE nature) { if (target.Name == "Teleport") { g_script.AddCommand(new CommandChangeMap((target as Teleport).sMApName, (target as Teleport).fMapPosX, (target as Teleport).fMapPosY)); } // flyttad till quest //if (target.Name == "bob") //{ // // då vill man att nåt ska hända, typ rita dialog // //var listLines = new List<string>() // //{ // // "bob säger hallo" // //}; // //Command.g_engine.ShowDialog(listLines); // // Typ funkar, spagetti som fan. I för att aktivera och space för att lämna så som hantera knappar ser ut. // g_script.AddCommand(new CommandShowDialog(new List<string>() // { // "bob säger hallo" // })); //} return(false); }
// target x and y position in world space, duration hur fort det ska gå public CommandMoveTo(DynamicObj myObject, float x, float y, float duration = 0.0f) { TargetPosX = x; TargetPosY = y; TimeSoFar = 0.0f; Duration = Math.Max(duration, 0.001f); this.myObject = myObject; }
/// <summary> /// 获取保存在当前库 /// </summary> /// <returns></returns> public IUserSession <T> GetUserSession(AppSession <T> appSession) { string CookieValue = GetCookies(Options.SessionCookieName); if (CookieValue.IsWhiteSpace()) //找不到Cookie,则表示过期了 { return(null); } DynamicObj cookie = LibHelper.JSON.DeserializeDynamicObj(CookieValue.Decrypt()); Guid SessionID = cookie.Get <Guid>("SessionID"); //再次从会话Session中查找,找到,就直接返回,没找到,则从Cookie中加载 IUserSession <T> u = appSession.GetUserSession(SessionID); if (u != null) { return(u); } string User; if (Options.IsSqlSaveCookie) { User = App.GetAppService <ICookieService>().GetCookieValue(SessionID).Decrypt(); } else { User = cookie.Get <string>("User"); } try { u = LibHelper.JSON.Deserialize <UserSession <T> >(User); if (u != null) { Func <string, IAppUser> parseUser = Options.ParseUser; if (parseUser != null && u.ExtendInfo.IsNotWhiteSpace()) //还原真实的用户信息 { IAppUser au = parseUser(u.ExtendInfo); if (au != null) { u.User = au; } else { u.User = null;//则当前操作者并没有用户信息,视为游客 } u.ExtendInfo = ""; } } } catch (Exception ex) { Loger.Error("读取Cookie用户信息出错误" + ex.Message); } return(u); }
public override bool OnUse(DynamicObj myobject) { if (myobject != null) { Creature dyn = (Creature)myobject; dyn.Health = Math.Min(dyn.Health + 10, dyn.MaxHealth); // inte mer än max } return(true); // försvinner }
public object ConvertFromDictionary(IDictionary dict, Func <object, object> valueConverter) { DynamicObj dynamicObj = new DynamicObj(); foreach (string key in dict.Keys) { dynamicObj.Put(key, valueConverter(dict[key])); } return(dynamicObj); }
public void Run() { var obj = new DynamicObj(); obj.Add("Name", "Xyz"); obj.Add("Age", 10); obj.Add("Price", 2000.0); //var exp = "(Age + 11)"; }
public override bool OnUse(DynamicObj myobject) { if (myobject != null) { Creature dyn = (Creature)myobject; dyn.MaxHealth += 10; dyn.Health = dyn.MaxHealth; } return(true); // Remove from inventory }
/// <summary> /// 将指定对象类型转为 /// </summary> /// <param name="type"></param> /// <returns></returns> public static DynamicObj GetObjectPropertys(Type type) { DynamicObj obj = new DynamicObj(); PropertyInfo[] ps = type.GetProperties(); foreach (PropertyInfo p in ps) { obj.Set(p.Name, p); } return(obj); }
public override bool OnInteraction(List <DynamicObj> ListDynamicObjs, DynamicObj target, NATURE nature) { if (target.Name == "Teleport") { g_script.AddCommand(new CommandChangeMap((target as Teleport).sMApName, (target as Teleport).fMapPosX, (target as Teleport).fMapPosY)); } return(false); }
public static DynamicObj ReadAsDynamicObj(this IDataRecord reader) { var d = new DynamicObj(); for (int i = 0; i < reader.FieldCount; i++) { d.Add(reader.GetName(i), reader.GetValue(i)); } return(d); }
protected virtual void OnRenderComplete() { var pageTitle = new DynamicObj(); var entity = this.FormContext.Entity; if (entity != null) { pageTitle.Add(ViewConstant.PageTitle, entity.Text); } View.PageTitle = pageTitle; }
public IDictionary ConvertToDictionary(object obj, Func <object, object> valueConverter) { DynamicObj dynamicObj = obj as DynamicObj; IDictionary dictionary = new Dictionary <string, object>(); string[] keys = dynamicObj.Keys; foreach (string text in keys) { dictionary.Add(text, valueConverter(dynamicObj.GetValue(text))); } return(dictionary); }
public override bool OnInteraction(List <DynamicObj> vecDynobs, DynamicObj target, NATURE nature) { if (target.Name == "sarah") { //g_script.AddCommand(new CommandShowDialog(new List<string>() //{ // "Sarah" //})); //X(ShowDialog({ "[Sarah]", "You have no additional", "quests!" })); //if (g_engine.HasItem(Assets.Instance.GetItem("Health Boost"))) if (g_engine.HasItem(Assets.Instance.GetItem("healthboost"))) // healthboost { //X(ShowDialog({ "[Sarah]", "Woooooow! You have a health", "boost!" })); g_script.AddCommand(new CommandShowDialog(new List <string>() { "Woooooow! You have a health boost!" })); } else { //X(ShowDialog({ "[Sarah]", "Boooooo! You dont have a health", "boost!" })); g_script.AddCommand(new CommandShowDialog(new List <string>() { "Boooooo! You dont have a health boost!" })); } } if (target.Name == "bob") { //X(ShowDialog({ "[Bob]", "I need you to do", "something for me!" })); //X(ShowDialog({ "[Bob]", "Predictably, there are", "rats in my basement!"})); g_script.AddCommand(new CommandShowDialog(new List <string>() { "I need you to do", "something for me!" })); //X(AddQuest(new cQuest_BobsQuest())); //g_script.AddQuest(new cQuest_BobsQuest()); g_engine.AddQuest(new cQuest_BobsQuest()); } return(false); }
private static void InitEntity(int itemTyp, DBEntity ent) { DynamicObj dataParam = new DynamicObj(); dataParam.Add("DEFAULTLAYOUT", itemTyp); foreach (var fieldK in ent.Fields) { fieldK.Value.ControlType = GetDefaultControl(fieldK.Value.Type); fieldK.Value.Init(); } ent.Init(dataParam); }
protected override void OnPrepareRow(DataListContext context, DataListDefinition defn, DynamicObj row, DbObject dataRow) { var pickerContext = context as PickerListContext; if (pickerContext.FormModelMapping != null) { var mapping = new DynamicObj(); foreach (var c in pickerContext.FormModelMapping) { mapping.Add(c.Key, dataRow.Get <object>(c.Value.ToString(), null)); } row.Add("_ModelMapping", mapping); } }
public virtual void Init(DynamicObj dataParam) { if (_isInit) { return; } InitRelations(); DefaultItemTypeId = dataParam.Get("DEFAULTLAYOUT", 0); BuildDefaultQueries(); PrepareComputeOrderSeq(); _isInit = true; }
private static List <DynamicObj> PrepareButtonNLinks(StackAppContext appContext, IDBEntity entity) { var actions = EntityActionService.GetActions(appContext, entity.EntityId, EntityLayoutType.View); var coll = new List <DynamicObj>(); foreach (var f in actions) { var d = new DynamicObj(); d.Add("Id", f.Id); d.Add("Text", f.Text); coll.Add(d); } return(coll); }
public override bool OnInteraction(List <DynamicObj> vecDynobs, DynamicObj target, NATURE nature) { if (target.Name == "sarah") { //X(ShowDialog({ "[Sarah]", "You are doing Bob's", "quest!" })); g_script.AddCommand(new CommandShowDialog(new List <string>() { "bobs quest " })); return(true); } return(false); }
public void AddFieldProps(string fieldId, string propName, object value) { if (FieldValues == null) { FieldValues = new DynamicObj(); } var data = FieldValues.Get <DynamicObj>(fieldId, null); if (data == null) { data = new DynamicObj(); } data.Add(propName, value, true); FieldValues.Add(fieldId, data, true); }
public MainForm() { InitializeComponent(); CreateStandardControls(); UIProject.Instance().openDefaultProject(); DynamicObj.initDynamic(); m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString); vS2012ToolStripExtender1.DefaultRenderer = _system; vS2012ToolStripExtender1.VS2012Renderer = _custom; EventManager.RegisterAudience(Constant.OpenLayoutEvent, new EventHandler <object>(this.OpenRender)); EventManager.RegisterAudience(Constant.StatusInfoChange, new EventHandler <object>(this.StatusInfoChange)); EventManager.RegisterAudience(Constant.ProjectChange, new EventHandler <object>(this.ProjectChange)); }
/// <summary> /// 保存Cookie信息,并得到ID /// 注意,这里不能使用事务锁 /// </summary> /// <param name="session"></param> /// <returns></returns> public JsonReturn SaveCookie(Guid CookieID, string CookieName, string CookieValue, DateTime ExpireTime) { DateTime today = DateTime.Now; if (ExpireTime < today) { return(JsonReturn.RunFail("无法存储Cookie信息:该Cookie已失效")); } //先检测是否存在该CookieID if (CookieID != Guid.Empty) //当前该Cookie还保存,可能是存放的另外一个 { //删除现有保存的Cookie db.ExecuteCommand(string.Format("delete from TSys_LoginUserCookie where CookieID='{0}'", CookieID)); } else { CookieID = Guid.NewGuid();//创建一个新的CookieID,用于标识该Cookie } try { DynamicObj Cookie = new DynamicObj(); Cookie.Set("CookieID", CookieID); Cookie.Set("UserInfoEntity", CookieValue); Cookie.Set("Expires", ExpireTime); Cookie.Set("CookieName", CookieName); Cookie.Set("ReadTime", DateTime.Now); //仅为单表,暂不进行事务处理 if (db.SaveNewObject(Cookie, "TSys_LoginUserCookie")) { return(JsonReturn.RunSuccess(CookieID)); } else { return(JsonReturn.RunFail("无法存储Cookie信息")); } } catch { return(JsonReturn.RunFail("存储Cookie信息时出现异常")); } }
protected override void BuildDataRowActions(DataListContext context, DynamicObj row) { var rowId = row.Get(ViewConstant.RowId, 0); var actions = new List <ActionInfo>(); if (context.Context.UserInfo.HasAccess(context.SourceEntityId, AccessType.Update)) { var actionContext = new ActionContext(null, ActionType.Edit, "BTN_EDIT"); actionContext.Query = new RequestQueryString(); actionContext.Query.EntityId = context.SourceEntityId; actionContext.Query.ItemId = rowId; var ac = PageActionCreator.Create(actionContext); ac.LinkTarget = "POPUP"; actions.Add(ac); } row.Add("_RowActions", actions); }
private static List <DynamicObj> PrepareFieldList(IDBEntity entity) { var fields = entity.GetLayoutFields(EntityLayoutType.None); var coll = new List <DynamicObj>(); foreach (var f in fields) { var d = new DynamicObj(); d.Add("Name", f.Name); d.Add("Text", f.Text); d.Add("Type", f.Type); d.Add("WidgetType", f.ControlType); d.Add("Isrequired", f.IsRequired); d.Add("ShouldFullRow", EntityLayoutService.IsWidgetOnFullRow(f.ControlType)); coll.Add(d); } return(coll); }
protected DynamicObj PrepareRowData(DbObject dataRow, DataListContext context, DataListDefinition defn) { var row = new DynamicObj(); row.Add(ViewConstant.RowId, dataRow.Get(context.DbQuery.ItemIdField, 0)); foreach (var field in context.DbQuery.Fields) { var val = field.Field.ResolveDbValue(dataRow); if (context.Fields.Keys.Contains(field.FieldName)) { row.Add(context.Fields[field.FieldName].WidgetId, OnPrepareCell(context, defn, field.FieldName, val, row), true); } else { row.Add(field.FieldName, val); } } OnPrepareRow(context, defn, row, dataRow); return(row); }
public static T CreateObject <T>(DbDataReader dr, DynamicObj ps, Dictionary <string, string> FieldMap2Property) where T : new() { T entity = new T(); for (int i = 0; i < dr.FieldCount; i++) { string fn = dr.GetName(i); if (FieldMap2Property.ContainsKey(fn)) { fn = FieldMap2Property[fn]; } PropertyInfo p = ps.Get(fn) as PropertyInfo; if (p != null && p.CanWrite) { object v = dr.GetValue(i); p.SetValue(entity, v.GetObjectValue(p.PropertyType), null); } } return(entity); }
internal static T CreateObjectRec <T>(DbDataReader dr, DynamicObj ps, Action <DbDataReader> OtherSetMethod) where T : new() { T entity = new T(); for (int i = 0; i < dr.FieldCount; i++) { string fn = dr.GetName(i); PropertyInfo p = ps.Get(fn) as PropertyInfo; if (p != null && p.CanWrite) { object v = dr.GetValue(i); p.SetValue(entity, v.GetObjectValue(p.PropertyType), null); } if (OtherSetMethod != null) { OtherSetMethod(dr); } } return(entity); }
public IActionResult StackScriptFunction([FromQuery] int id, [FromBody] string scr) { var args = new Dictionary <string, object>(); // FieldRequestInfo requestInfo = new FieldRequestInfo(); // requestInfo.Value = id; // args.Add("input", requestInfo); // FieldActionResponse output = new FieldActionResponse(null); // var sts = new StackErp.StackScript.StackScriptExecuter().ExecuteFunction(appContext, scr, args, output); ///////////////////////////////////////////////////////////////////// var d = StackErp.Core.EntityMetaData.Get(99).GetSingle(appContext, id); args.Add("model", d); DynamicObj output = new DynamicObj(); var sts = new StackErp.StackScript.StackScriptExecuter().ExecuteFunction(appContext, scr, args, output); return(Json(new { sts, output })); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.TokenType == JsonToken.Null) { return(null); } var token = JToken.Load(reader); // if (!(token is JValue)) // throw new JsonSerializationException("Token was not a primitive"); //string s = (string)reader.Value; var d = DynamicObj.Parse(token.ToString()); if (objectType != typeof(DynamicObj)) { var i = Activator.CreateInstance(objectType); objectType.GetField("_d").SetValue(i, d._d); return(i); } return(d); }
public bool Save(string objectName, DynamicObj obj) { DateTime _date = DateTime.Now; dynamic dyna = obj; dyna.system_last_updated_time = _date.ToString("yyyMMddHHmmss"); dyna.system_last_updated_date = _date.ToString("yyyMMdd"); return SaveDocument(objectName, dyna.ToBsonDocument()); }
public bool SaveUpdate(string objectName, DynamicObj obj) { dynamic dyna = obj; return SaveDocument(objectName, dyna.ToBsonDocument()); }
public void Create(string objectName, DynamicObj obj, IMongoQuery query) { CreateDocument(objectName, obj.ToBsonDocument(), query); }
public long GetNextSquence(string SequenceName) { try { MongoCollection sequenceCollection = Database.GetCollection("counters"); FindAndModifyArgs args = new FindAndModifyArgs(); args.Query = Query.EQ("_id", SequenceName); args.Update = MongoDB.Driver.Builders.Update.Inc("seq", 1); FindAndModifyResult result = sequenceCollection.FindAndModify(args); return result.ModifiedDocument.GetElement("seq").Value.ToInt64(); } catch { dynamic bs = new DynamicObj(); bs._id = SequenceName; bs.seq = 2; Insert("counters", bs); return 1; } }