public void Execute(BasePage Context) { Dictionary <String, Object> jsonDicts = new Dictionary <String, Object>(); Int32 DynamicModuleId = WebHelper.GetIntParam(Context.Request, "DynamicModuleId", 0); QueryParam qp = new QueryParam(); qp.Where.Add(new SearchParam(Playngo_ClientZone_DynamicModule._.ID, DynamicModuleId, SearchType.Equal)); Int32 DeleteCount = Playngo_ClientZone_DynamicModule.Delete(qp); if (DeleteCount > 0) { QueryParam qpItem = new QueryParam(); qpItem.Where.Add(new SearchParam(Playngo_ClientZone_DynamicItem._.DynamicID, DynamicModuleId, SearchType.Equal)); Int32 DeleteItemCount = Playngo_ClientZone_DynamicItem.Delete(qpItem); jsonDicts.Add("DeleteItemCount", DeleteItemCount); } jsonDicts.Add("DeleteCount", DeleteCount); //转换数据为json JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); ResponseString = jsSerializer.Serialize(jsonDicts); }
public void Execute(BasePage Context) { Dictionary <String, Object> jsonDicts = new Dictionary <String, Object>(); JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); Int32 DynamicModuleId = WebHelper.GetIntParam(Context.Request, "DynamicModuleId", 0); int UpdateResult = 0; var json = WebHelper.GetStringParam(Context.Request, "json", ""); if (!String.IsNullOrEmpty(json)) { var JsonItems = jsSerializer.Deserialize <List <Dictionary <String, Int32> > >(json); if (JsonItems != null && JsonItems.Count > 0) { for (int i = 0; i < JsonItems.Count; i++) { UpdateResult += Playngo_ClientZone_DynamicItem.Update(String.Format("Sort={0}", 1 + i), String.Format("ID={0}", JsonItems[i]["id"])); } } } jsonDicts.Add("UpdateCount", UpdateResult); //转换数据为json ResponseString = jsSerializer.Serialize(jsonDicts); }
/// <summary> /// 绑定项集合到页面 /// </summary> private void BindItemsToPage(Repeater RepeaterItems, Int32 DynamicModule, out int OptionCount) { OptionCount = 0; //获取效果参数 var DynamicItems = Playngo_ClientZone_DynamicItem.FindListByFilter(DynamicModule, ModuleId); if (DynamicItems != null && DynamicItems.Count > 0) { OptionCount = DynamicItems.Count; //绑定参数项 RepeaterItems.DataSource = DynamicItems; RepeaterItems.DataBind(); } }
protected void RepeaterItems_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Playngo_ClientZone_DynamicItem DynamicItem = e.Item.DataItem as Playngo_ClientZone_DynamicItem; HyperLink hlDynamicItemEdit = e.Item.FindControl("hlDynamicItemEdit") as HyperLink; if (hlDynamicItemEdit != null) { hlDynamicItemEdit.Attributes.Add("data-href", DynamicItem_IframeUrl(DynamicItem.ID, DynamicItem.DynamicID, ((EnumDynamicItemType)DynamicItem.Type).ToString())); } Literal liItemType = e.Item.FindControl("liItemType") as Literal; if (liItemType != null) { liItemType.Text = EnumHelper.GetEnumTextVal(DynamicItem.Type, typeof(EnumDynamicItemType)); } } }
/// <summary> /// 复制动态模块 /// </summary> /// <param name="NewID">新的编号</param> /// <param name="OldID">老的编号</param> public void CopyDynamicModules(Int32 NewID, Int32 OldID) { //找到动态模块老数据 var DynamicModules = Playngo_ClientZone_DynamicModule.FindListByFilter(OldID, (Int32)EnumDynamicModuleType.GameSheet, ModuleId); if (DynamicModules != null && DynamicModules.Count > 0) { foreach (var DynamicModule in DynamicModules) { //查找动态项老数据 var DynamicItems = Playngo_ClientZone_DynamicItem.FindListByFilter(DynamicModule.ID, ModuleId); //构造新的动态模块 var DynamicModuleNew = DynamicModule.Clone() as Playngo_ClientZone_DynamicModule; DynamicModuleNew.ID = 0; DynamicModuleNew.LinkID = NewID; DynamicModuleNew.LastTime = xUserTime.UtcTime(); DynamicModuleNew.LastIP = WebHelper.UserHost; DynamicModuleNew.LastUser = UserId; DynamicModuleNew.ID = DynamicModuleNew.Insert(); if (DynamicModuleNew.ID > 0 && DynamicItems != null && DynamicItems.Count > 0) { foreach (var DynamicItem in DynamicItems) { //构造性的动态项 var DynamicItemNew = DynamicItem.Clone() as Playngo_ClientZone_DynamicItem; DynamicItemNew.ID = 0; DynamicItemNew.DynamicID = DynamicModuleNew.ID; DynamicItemNew.LastTime = xUserTime.UtcTime(); DynamicItemNew.LastIP = WebHelper.UserHost; DynamicItemNew.LastUser = UserId; DynamicItemNew.Insert(); } } } } }
/// <summary> /// 获取动态模块和动态项 /// </summary> /// <param name="Puts"></param> /// <returns></returns> public Hashtable GetDynamics(Hashtable Puts) { var DynamicModules = Playngo_ClientZone_DynamicModule.FindViewAllByFilter(DataItem.ID, (Int32)EnumDynamicModuleType.GameSheet, Settings_ModuleID, this); var DynamicItems = new List <Playngo_ClientZone_DynamicItem>(); if (DynamicModules != null && DynamicModules.Count > 0) { foreach (var DynamicModule in DynamicModules) { var minDynamicItems = Playngo_ClientZone_DynamicItem.FindListByFilter(DynamicModule.ID, Settings_ModuleID); if (minDynamicItems != null && minDynamicItems.Count > 0) { DynamicItems.AddRange(minDynamicItems); } } } Puts.Add("DynamicModules", DynamicModules); Puts.Add("DynamicItems", DynamicItems); return(Puts); }
/// <summary> /// 删除数据所关联的所有动态模块项 /// </summary> /// <param name="LinkID"></param> /// <param name="ModuleId"></param> /// <param name="DynamicType"></param> /// <returns></returns> public static Int32 DeleteAll(Int32 LinkID, Int32 ModuleId, Int32 DynamicType) { int RecordCount = 0; var DynamicModules = FindListByFilter(LinkID, DynamicType, ModuleId); if (DynamicModules != null && DynamicModules.Count > 0) { foreach (var DynamicModule in DynamicModules) { if (DynamicModule.Delete() > 0) { RecordCount++; QueryParam qp = new QueryParam(); qp.Where.Add(new SearchParam(Playngo_ClientZone_DynamicItem._.DynamicID, DynamicModule.ID, SearchType.Equal)); qp.Where.Add(new SearchParam(Playngo_ClientZone_DynamicItem._.ModuleId, ModuleId, SearchType.Equal)); RecordCount += Playngo_ClientZone_DynamicItem.Delete(qp); } } } return(RecordCount); }
/// <summary> /// 设置数据项 /// </summary> private void SetDataItem() { Dictionary <String, Object> DynamicItemJsons = new Dictionary <String, Object>(); Playngo_ClientZone_DynamicItem Dynamic = DynamicItem; List <KeyValueEntity> list = new List <KeyValueEntity>(); if (divOptions.Visible) { Dynamic.Options = SetItemSettings(ref list); } if (list.Exists(r => r.Key == "Title")) { var TitleItem = list.Find(r => r.Key == "Title"); Dynamic.Title = TitleItem.Value.ToString(); } //更新项 Dynamic.LastIP = WebHelper.UserHost; Dynamic.LastTime = xUserTime.UtcTime(); Dynamic.LastUser = UserId; if (Dynamic.ID > 0) { //更新 } else { //新增 Dynamic.ModuleId = ModuleId; Dynamic.PortalId = PortalId; Dynamic.DynamicID = DynamicID; if (ConfigName == EnumDynamicItemType.ImageText.ToString()) { Dynamic.Type = (Int32)EnumDynamicItemType.ImageText; } else if (ConfigName == EnumDynamicItemType.Video.ToString()) { Dynamic.Type = (Int32)EnumDynamicItemType.Video; } else if (ConfigName == EnumDynamicItemType.Image.ToString()) { Dynamic.Type = (Int32)EnumDynamicItemType.Image; } else if (ConfigName == EnumDynamicItemType.xFrame.ToString()) { Dynamic.Type = (Int32)EnumDynamicItemType.xFrame; } else { Dynamic.Type = (Int32)EnumDynamicItemType.Text; } QueryParam qp = new QueryParam(); qp.Where.Add(new SearchParam(Playngo_ClientZone_DynamicItem._.ModuleId, ModuleId, SearchType.Equal)); qp.Where.Add(new SearchParam(Playngo_ClientZone_DynamicItem._.DynamicID, DynamicID, SearchType.Equal)); Dynamic.Sort = Playngo_ClientZone_DynamicItem.FindCount(qp) + 10; } int ResultDynamic = 0; if (Dynamic.ID > 0) { ResultDynamic = Dynamic.Update(); DynamicItemJsons.Add("Action", "Update"); } else { ResultDynamic = Dynamic.ID = Dynamic.Insert(); DynamicItemJsons.Add("Action", "Insert"); } foreach (var Field in Playngo_ClientZone_DynamicItem.Meta.Fields) { DynamicItemJsons.Add(Field.ColumnName, Dynamic[Field.ColumnName]); } DynamicItemJsons.Add("TypeText", EnumHelper.GetEnumTextVal(Dynamic.Type, typeof(EnumDynamicItemType))); DynamicItemJsons.Add("EditUrl", DynamicItem_IframeUrl(Dynamic.ID, Dynamic.DynamicID, ((EnumDynamicItemType)Dynamic.Type).ToString())); JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); jsSerializer.MaxJsonLength = Int32.MaxValue; String JsonString = jsSerializer.Serialize(DynamicItemJsons); Response.Write(String.Format("<script>window.parent.EditDynamicItems({0});</script>", JsonString)); }