void Design(WebRequest request, Guid itemId) { var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.And().Equal(new Design_Item { Id = itemId }); Design_Item item = entity.Single(); if (item == null) { Design_Item max = entity .Where.Reset().And().Equal(new Design_Item() { design_id = Guid.Empty, for_id = Guid.Empty }) //Design_id(Utility.uuidEmpty).For_id(Utility.uuidEmpty)) .Entities.Max(new Design_Item { Seq = 0 }); max.Seq = (max.Seq ?? 0) + 1; item = max; } Design_Item fitem = item; WebMeta meta = this.AsyncDialog(g => { UIFormDialog from = new UIFormDialog(); from.Title = ("页面分类项"); from.AddText("标题", "ItemName", fitem.ItemName); from.AddNumber("顺序", "Seq", fitem.Seq); from.Submit("确认", request, "Design"); return(from); }, "Setting"); Design_Item newItem = new Design_Item() { ItemName = meta.Get("ItemName"), ModifiedDate = DateTime.Now, Seq = Utility.Parse(meta.Get("Seq"), 0) }; entity.Where.Reset().And().Equal(new Design_Item() { Id = itemId }); entity.IFF(e => e.Update(newItem) == 0, e => { newItem.design_id = Guid.Empty; newItem.for_id = Guid.Empty; newItem.Id = Guid.NewGuid(); newItem.Type = UIDesigner.StoreDesignType; e.Insert(newItem); }); this.Context.Send("Design", true); }
void Icons(Guid parentId, List <Design_Item> baners, UISection U) { List <UIEventText> list = new List <UIEventText>(); UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); foreach (Design_Item b in baners) { UIEventText slider = new UIEventText(b.ItemName); if (String.IsNullOrEmpty(b.Data) == false) { WebMeta s = UMC.Data.JSON.Deserialize <WebMeta>(b.Data); slider.Icon(s.Get("icon"), s.Get("color")); } else { slider.Src(webr.ImageResolve(b.Id.Value, "1", 4) + "?" + TimeSpan(b.ModifiedDate)); } slider.Click(this.Click(b)); list.Add(slider); } if (list.Count > 0) { var ic = new UMC.Web.UI.UIIcon(); ic.Style.Name("icon", new UIStyle().Font("wdk").Size(24)); ic.Add(list.ToArray()); //U.AddIcon(new UIStyle().Name("icon", new UIStyle().Font("wdk").Size(24)), list.ToArray()); } else if (_editer) { UIDesc desc = new UIDesc("\ue907"); desc.Desc("{desc}\r\n配置图标栏"); desc.Click(new UIClick(parentId.ToString()) .Send("Design", "Item")); desc.Style.AlignCenter().Name("desc", new UIStyle().Font("wdk").Size(38)); U.Add(desc); } }
void Seq(WebRequest request, WebResponse response, Design_Item item) { var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.And().Equal(new Design_Item() { Id = (item.Id) }); WebMeta meta = this.AsyncDialog(g => { UIFormDialog from = new UIFormDialog(); from.Title = ("调整顺序"); from.AddNumber("展示顺序", "Seq", item.Seq); return(from); }, "Setting"); entity.Update(new Design_Item() { ModifiedDate = DateTime.Now, Seq = Utility.IntParse(meta.Get("Seq"), 0) }); }
public override void ProcessActivity(WebRequest request, WebResponse response) { Guid designId = UMC.Data.Utility.Guid(this.AsyncDialog("Id", g => this.DialogValue(Guid.Empty.ToString()))).Value;//this.DialogValue(response.Ticket[AttributeNames.TICKET_STORE_ID])), true).Value; if (_isEditer) { WebMeta form = request.SendValues ?? request.Arguments; this.AsyncDialog("Model", anycId => { if (form.ContainsKey("limit") == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command, new WebMeta().Put("Id", designId)) .RefreshEvent("Design", "image") .Builder(), true); } var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.And().Equal(new Design_Item { design_id = Guid.Empty, for_id = Guid.Empty }); entity.Order.Asc(new Design_Item { Seq = 0 }); //IObjectEntity<Design_Item> entity = Database.instance().objectEntity(Design_Item.class); // entity.where().and().equal(new Design_Item().Design_id(Utility.uuidEmpty).For_id(Utility.uuidEmpty)); // entity.order().asc(new Design_Item().Seq(0)); Design_Item[] headers = entity.Query(); UISection section = UISection.Create(new UITitle("UMC")); int limit = UMC.Data.Utility.Parse(form.Get("limit"), 10); int start = UMC.Data.Utility.Parse(form.Get("start"), 0); switch (headers.Length) { case 0: break; case 1: section.Title.Title = (headers[0].ItemName); // section.title().right('\ue907', new UIClick("Id", headers[0].Id.toString(), "Model", "none").model(request.model(), request.cmd())); break; default: if (start == 0) { List <WebMeta> items = new List <WebMeta>(); foreach (Design_Item item in headers) { items.Add(new UMC.Web.WebMeta().Put("text", item.ItemName).Put("search", new WebMeta().Put("Id", item.Id))); } section.Add(UICell.Create("TabFixed", new UMC.Web.WebMeta().Put("items", items))); } break; } if (designId == Guid.Empty) { switch (headers.Length) { case 0: break; default: new UIDesigner(true).Section(section, headers[0].Id.Value); break; } } else { new UIDesigner(true).Section(section, designId); } if (section.Length == 0) { section.Add("Desc", new UMC.Web.WebMeta().Put("desc", "未有设计分类项,请添加").Put("icon", "\uEA05") , new UMC.Web.WebMeta().Put("desc", "{icon}\n{desc}"), new UIStyle().Align(1).Color(0xaaa).Padding(20, 20).BgColor(0xfff).Size(12).Name("icon", new UIStyle().Font("wdk").Size(60))); } UIFooter footer = new UIFooter(); footer.IsFixed = true;// e); switch (headers.Length) { case 0: footer.AddText(new UIEventText("添加分类项").Click(new UIClick("Model", "News", "Type", "Append").Send(request.Model, request.Command))); break; default: Guid did = designId; if (designId == Guid.Empty) { did = headers[0].Id.Value; } footer.AddIcon(new UIEventText("分类项").Icon('\uf009').Click(new UIClick("Model", "News", "Id", did.ToString()).Send(request.Model, request.Command))); footer.AddText(new UIEventText("增加UI组件").Click(new UIClick(did.ToString()).Send("Design", "Item"))); footer.AddText(new UIEventText("查看效果").Style(new UIStyle().BgColor(0xef4f4f)) .Click(new UIClick("Model", "News", "Type", "View").Send(request.Model, request.Command))); break; } section.UIFooter = (footer); response.Redirect(section); return(this.DialogValue("none")); }); String type = this.AsyncDialog("Type", g => { UIRadioDialog di = new UIRadioDialog(); di.Title = ("页面设计"); di.Options.Put("编辑分类项", "Edit"); di.Options.Put("增加分类项", "Append"); di.Options.Put("删除此分类", "Delete"); return(di); }); switch (type) { case "Edit": Design(request, designId); break; case "Append": Design(request, Guid.NewGuid()); //.randomUUID()); break; case "Delete": Delete(designId); break; case "View": if (request.IsApp) { List <WebMeta> tabs = new List <WebMeta>(); Database.Instance().ObjectEntity <Design_Item>() .Where.And().Equal(new Design_Item() { design_id = Guid.Empty, for_id = Guid.Empty }) //(Utility.uuidEmpty).For_id(Utility.uuidEmpty)) .Entities.Order.Asc(new Design_Item() { Seq = 0 }) .Entities.Query(dr => { tabs.Add(new UMC.Web.WebMeta().Put("text", dr.ItemName).Put("search", new UMC.Web.WebMeta().Put("Id", dr.Id.ToString())).Put("cmd", "Home", "model", "Design")); }); if (tabs.Count == 1) { UISectionBuilder builder = new UISectionBuilder("Design", "Home", new WebMeta().Put("Id", tabs[0].GetMeta("search").Get("Id"))); // builder.builder() this.Context.Send(builder.Builder(), true); //"Tab", new WebMeta().put("sections", tabs).put("text", "UMC界面设计"), true); } else { this.Context.Send("Tab", new WebMeta().Put("sections", tabs).Put("text", "UMC界面设计"), true); } } else { this.AsyncDialog("From", k => { UIFormDialog fm = new UMC.Web.UIFormDialog(); fm.Title = ("移动效果体验"); fm.AddImage(new Uri(UMC.Data.Utility.QRUrl("https://oss.365lu.cn/Click/Deisgn/Home/"))); fm.AddPrompt("请用支持UMC协议的APP“扫一扫”。"); return(fm); }); break; } break; } } else { if (designId == Guid.Empty) { var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.And().Equal(new Design_Item { design_id = Guid.Empty, for_id = Guid.Empty }); entity.Order.Asc(new Design_Item { Seq = 0 }); List <WebMeta> tabs = new List <WebMeta>(); entity.Query(dr => { tabs.Add(new UMC.Web.WebMeta().Put("text", dr.ItemName).Put("search", new UMC.Web.WebMeta().Put("Id", dr.Id)).Put("cmd", "UI", "model", "Design")); }); var chash = new Hashtable(); UITitle title = new UITitle("UMC移动界面"); title.Left('\uea0e', UIClick.Search()); title.Right(new UIEventText().Icon('\uf2c0').Click(new UIClick().Send("Account", "Info"))); chash.Add("sections", tabs); chash.Add("title", title); response.Redirect(chash); } else { UIDesigner designer = new UIDesigner(false); response.Redirect(designer.Section("", designId)); } } }
public override void ProcessActivity(WebRequest request, WebResponse response) { WebMeta user = this.AsyncDialog(d => { WebMeta sendValue = request.SendValues ?? request.Arguments; if (sendValue.Count > 0) { return(this.DialogValue(sendValue)); } UIFormDialog dialog = new UIFormDialog() { Title = "账户登录" }; dialog.AddText("账户", "Username", ""); dialog.AddPassword("账户密码", "Password", ""); dialog.Submit("确认登录", request, "Cashier"); return(dialog); }, "Login"); String username = user.Get("Username"); String Password = user.Get("Password"); if (String.IsNullOrEmpty(username) || String.IsNullOrEmpty(Password)) { this.Prompt("请输入用户名和密码"); } int maxTimes = 5; Membership userManager = Membership.Instance(); int times = userManager.Password(username, Password, maxTimes); switch (times) { case 0: String client = "POSClient"; if (request.IsApp) { client = "Mobile"; } Identity iden = userManager.Identity(username); System.Security.Principal.IPrincipal principal = iden; if (principal.IsInRole(UMC.Security.Membership.UserRole) == false) { this.Prompt("您不是门店内部人员,不能从此登录。"); } AccessToken.Login(iden, AccessToken.Token.Value, client, true); this.Context.OnReset(); this.Prompt("登录成功", false); WebMeta print = new UMC.Web.WebMeta(); print["Alias"] = iden.Alias; print["Src"] = Data.WebResource.Instance().ImageResolve(iden.Id.Value, "1", 5); print["type"] = "Cashier"; this.Context.Send(print, true); //this.Context.Send("Cashier", true); break; case -4: this.Prompt("您的账户已经禁用"); break; case -3: this.Prompt("无此子账户"); break; case -2: this.Prompt("您的用户已经锁定,请您联系管理员解锁"); break; case -1: this.Prompt("您的用户不存在,请确定用户名", false); break; default: this.Prompt(String.Format("您的用户和密码不正确,您还有{0}次机会", maxTimes - times), false); break; } }
void Icons(WebRequest request, Guid itemId) { var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.And().Equal(new Design_Item() { Id = itemId }); Design_Item item = entity.Single(); var webr = UMC.Data.WebResource.Instance(); WebMeta meta = this.AsyncDialog(g => { Design_Item finalItem = item; switch (item.Type ?? 0) { case UIDesigner.StoreDesignTypeItem: break; case UIDesigner.StoreDesignTypeIcons: Design_Item item2 = new Design_Item() { Id = Guid.NewGuid(), design_id = item.design_id, for_id = item.Id, ModifiedDate = DateTime.Now, Type = UIDesigner.StoreDesignTypeItem }; Design_Item max = entity .Where.And().Equal(new Design_Item() { design_id = item.design_id, for_id = item.Id }) .Entities.Max(new Design_Item() { Seq = 0 }); //.Seq+1; item2.Seq = (max.Seq ?? 0) + 1; entity.Insert(item2); finalItem = item2; request.Arguments.Put("Id", finalItem.Id); break; default: this.Prompt("类型错误"); break; } UIFormDialog from = new UIFormDialog(); from.Title = ("图标"); from.AddFile("图片", "_Image", webr.ImageResolve(finalItem.Id.Value, "1", 4)) .Command("Design", "Picture", new UMC.Web.WebMeta().Put("id", finalItem.Id).Put("seq", "1")); from.AddText("标题", "ItemName", finalItem.ItemName); from.AddNumber("顺序", "Seq", finalItem.Seq); from.Submit("确认", request, "Design"); return(from); }, "Setting"); entity.Where.Reset().And().Equal(new Design_Item() { Id = item.Id }); entity.Update(new Design_Item() { ItemName = meta.Get("ItemName"), ModifiedDate = DateTime.Now, Seq = Utility.IntParse(meta.Get("Seq"), 0) }); }
public override void ProcessActivity(WebRequest request, WebResponse response) { var user = UMC.Security.Identity.Current; String ssid = this.AsyncDialog("Id", d => this.DialogValue(user.Id.ToString())); Guid? sId = UMC.Data.Utility.Guid(ssid); String size = this.AsyncDialog("Size", g => this.DialogValue("none")); UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); var entity = Database.Instance().ObjectEntity <Design_Item>(); //entity.Where.Reset().And().Equal(new Design_Item() { Id = itemId }); Design_Item item = null;//entity.single(); if (sId.HasValue) { entity.Where.Reset().And().Equal(new Design_Item() { Id = sId }); //entity.Where.And().Equal(new Design_Item().Id(sId)); item = entity.Single(); } if (item != null && item.Type != UIDesigner.StoreDesignType) { Design_Item finalItem = item; String type = this.AsyncDialog("Type", g => { UIRadioDialog di = new UIRadioDialog(); switch (finalItem.Type) { case UIDesigner.StoreDesignTypeCustom: break; case UIDesigner.StoreDesignType: di.Title = ("页面设计"); di.Options.Put("编辑此项", "Edit"); di.Options.Put("增加新项", "Append"); di.Options.Put("删除此项", "Delete"); break; case UIDesigner.StoreDesignTypeItem: di.Title = ("单项设计"); di.Options.Put("编辑此项", "Edit"); di.Options.Put("配置参数", "Config"); di.Options.Put("增加新项", "Append"); di.Options.Put("点击到...", "Union"); di.Options.Put("删除此项", "Delete"); break; case UIDesigner.StoreDesignTypeProduct: di.Title = ("商品栏位"); di.Options.Put("调整顺序", "Seq"); di.Options.Put("配置参数", "Config"); di.Options.Put("增加商品", "Append"); di.Options.Put("删除此项", "Delete"); break; case UIDesigner.StoreDesignTypeDiscount: di.Title = ("卡券栏位"); di.Options.Put("调整顺序", "Seq"); //di.options().put("配置参数", "Config"); di.Options.Put("增加卡券", "Append"); di.Options.Put("删除此项", "Delete"); break; case UIDesigner.StoreDesignTypeCaption: di.Title = ("栏目设计"); di.Options.Put("编辑栏目", "Config"); di.Options.Put("添加横幅区", "AddBanner"); di.Options.Put("添加图标区", "AddIcon"); di.Options.Put("添加分列区", "AddItem"); di.Options.Put("添加图文区", "AddTitleDesc"); di.Options.Put("删除栏目", "Delete"); return(di); case UIDesigner.StoreDesignTypeBanners: di.Title = ("横幅栏位"); di.Options.Put("添加横幅页", "Banners"); di.Options.Put("配置参数", "Config"); di.Options.Put("删除横幅栏", "Delete"); break; case UIDesigner.StoreDesignTypeProducts: di.Title = ("商品栏位"); di.Options.Put("添加商品", "Product"); di.Options.Put("配置参数", "Config"); di.Options.Put("删除商品栏", "Delete"); break; case UIDesigner.StoreDesignTypeDiscounts: di.Title = ("卡券栏位"); di.Options.Put("添加卡券", "Discount"); //di.options().put("配置参数", "Config"); di.Options.Put("删除卡券栏", "Delete"); break; case UIDesigner.StoreDesignTypeTitleDesc: di.Title = ("图文栏位"); di.Options.Put("添加子项", "TitleDesc"); di.Options.Put("配置图文", "Config"); di.Options.Put("删除图文栏", "Delete"); break; case UIDesigner.StoreDesignTypeItems: di.Title = ("分列栏位"); di.Options.Put("添加子列", "Items"); di.Options.Put("配置参数", "Config"); di.Options.Put("删除分列栏", "Delete"); break; case UIDesigner.StoreDesignTypeIcons: di.Title = ("图标栏位"); di.Options.Put("添加子项", "Icons"); di.Options.Put("配置参数", "Config"); di.Options.Put("删除图标位", "Delete"); break; default: break; } return(di); }); switch (type) { case "Seq": Seq(request, response, item); break; case "Delete": if (item.Type == UIDesigner.StoreDesignType) { entity.Where.Reset().And().Equal(new Design_Item() { design_id = item.Id }); if (entity.Count() > 0) { this.Prompt("请先删除子项"); } entity.Where.Reset().And().Equal(new Design_Item() { Id = sId }); entity.Delete(); this.Context.Send("Design", true); } else { entity.Where.Reset().And().Equal(new Design_Item() { for_id = item.Id }); if (entity.Count() > 0) { this.Prompt("请先删除子项"); } entity.Where.Reset().And().Equal(new Design_Item() { Id = item.Id }); entity.Delete(); this.Context.Send("Design", true); } break; case "TitleDesc": this.TitleDesc(request, sId.Value); break; case "Config": this.Config(request, sId.Value); break; case "Union": response.Redirect("Design", "Click", sId.ToString(), true); break; case "Icons": Icons(request, sId.Value); break; case "Banners": Banner(request, sId.Value); break; case "Items": Items(request, sId.Value); break; case "Edit": if (item.Type == UIDesigner.StoreDesignTypeCustom) { response.Redirect("Design", "Custom", new UMC.Web.WebMeta().Put("Id", item.Id.ToString(), "Size", size), true); } else { Design_Item eitem = entity.Where.Reset().And().Equal(new Design_Item() { Id = item.for_id }).Entities.Single(); switch (eitem.Type) { case UIDesigner.StoreDesignTypeTitleDesc: TitleDesc(request, sId.Value); break; case UIDesigner.StoreDesignTypeBanners: Banner(request, sId.Value); break; case UIDesigner.StoreDesignTypeIcons: Icons(request, sId.Value); break; case UIDesigner.StoreDesignTypeItems: Items(request, sId.Value); break; } } break; case "AddCaption": this.Caption(request, response, item.design_id.Value, item.Id.Value); break; case "AddTitleDesc": case "AddProduct": case "AddItem": case "AddIcon": case "AddBanner": Design_Item item3 = new Design_Item() { Id = Guid.NewGuid(), for_id = item.Id, design_id = item.design_id }; //Design_Item item3 = new Design_Item().Id(Guid.randomGuid()).Design_id(item.design_id) // .For_id(item.Id); switch (type) { case "AddProduct": item3.Type = UIDesigner.StoreDesignTypeProducts; break; case "AddIcon": item3.Type = UIDesigner.StoreDesignTypeIcons; break; case "AddTitleDesc": item3.Type = UIDesigner.StoreDesignTypeTitleDesc; break; case "AddBanner": item3.Type = UIDesigner.StoreDesignTypeBanners; break; case "AddItem": item3.Type = UIDesigner.StoreDesignTypeItems; break; case "AddDiscount": item3.Type = UIDesigner.StoreDesignTypeDiscounts; break; } if (item3.Type != null) { Design_Item max = entity .Where.Reset().And().Equal(new Design_Item() { for_id = item.Id }) .Entities.Max(new Design_Item() { Seq = 0 }); //.Seq+1; item3.Seq = (max.Seq ?? 0) + 1; entity.Insert(item3); } break; case "Append": if (item.Type == UIDesigner.StoreDesignTypeCustom) { WebMeta meta = UMC.Data.JSON.Deserialize <WebMeta>(item.Data); response.Redirect("Design", "Custom", new UMC.Web.WebMeta().Put("Config", meta.Get("Config")).Put("Size", size), true); } Design_Item aitem = entity.Where.Reset().And().Equal(new Design_Item() { Id = item.for_id }).Entities.Single(); switch (aitem.Type) { case UIDesigner.StoreDesignTypeTitleDesc: TitleDesc(request, aitem.Id.Value); break; case UIDesigner.StoreDesignTypeBanners: Banner(request, aitem.Id.Value); break; case UIDesigner.StoreDesignTypeIcons: Icons(request, aitem.Id.Value); break; case UIDesigner.StoreDesignTypeItems: Items(request, aitem.Id.Value); break; } break; } } else { String type = this.AsyncDialog("Type", g => { UIRadioDialog di = new UIRadioDialog(); di.Title = ("界面设计"); di.Options.Put("添加标题栏", "Caption"); di.Options.Put("添加广告栏", "Banner"); di.Options.Put("添加图标栏", "Icons"); di.Options.Put("添加分块栏", "Items"); return(di); }); Design_Item item2 = new Design_Item() { Id = Guid.NewGuid(), for_id = Guid.Empty, design_id = sId }; //Id=GU.nId(Guid.randomGuid()).Design_id(sId) //.For_id(Utility.uuidEmpty); switch (type) { case "Caption": Caption(request, response, sId.Value, Guid.Empty); break; case "TitleDesc": item2.Type = UIDesigner.StoreDesignTypeTitleDesc; break; case "Products": item2.Type = UIDesigner.StoreDesignTypeProducts; break; case "Icons": item2.Type = UIDesigner.StoreDesignTypeIcons; break; case "Banner": item2.Type = UIDesigner.StoreDesignTypeBanners; break; case "Items": item2.Type = UIDesigner.StoreDesignTypeItems; break; case "Discounts": item2.Type = UIDesigner.StoreDesignTypeDiscounts; break; } if (item2.Type != null) { Design_Item max = entity .Where.Reset().And().Equal(new Design_Item { design_id = sId, for_id = Guid.Empty }) .Entities.Max(new Design_Item { Seq = 0 }); //.Seq+1; item2.Seq = (max.Seq ?? 0) + 1; entity.Insert(item2); } } this.Context.Send("Design", true); }
void Config(WebRequest request, Guid itemId) { UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.Reset().And().Equal(new Design_Item() { Id = itemId }); Design_Item item = entity.Single(); switch (item.Type ?? 0) { case UIDesigner.StoreDesignTypeItem: case UIDesigner.StoreDesignTypeProduct: item = entity.Where.Reset().And().Equal(new Design_Item() { Id = item.for_id }).Entities.Single(); break; } Design_Item finalItem = item; WebMeta meta = this.AsyncDialog(g => { WebMeta data = UMC.Data.JSON.Deserialize <WebMeta>(finalItem.Data) ?? new UMC.Web.WebMeta(); //WebMeta data = Utility.isNull(UMC.Data.JSON.deserialize(finalItem.Data, WebMeta.class), new UMC.Web.WebMeta()); UIFormDialog from = new UIFormDialog(); from.Title = ("配置"); from.AddText("缩进", "Padding", data.Get("Padding") ?? "0"); from.AddNumber("展示顺序", "Seq", finalItem.Seq); switch (finalItem.Type) { case UIDesigner.StoreDesignTypeBanners: from.Title = ("广告横幅"); break; case UIDesigner.StoreDesignTypeItems: from.Title = ("分块区配置"); from.AddRadio("风格", "Model").Put("展示标题", "Title", data.Get("Model").Equals("Title") || data.ContainsKey("Model") == false).Put("仅显示图片 ", "Image", data.Get("Model").Equals("Image")); break; case UIDesigner.StoreDesignTypeTitleDesc: from.Title = ("图文区配置"); String total = data.Get("Total") ?? "1"; // data["Total"] ??"1"; String model = data.Get("Hide") ?? ""; // data["Hide"] ??""; ; from.AddCheckBox("界面", "Hide", "T").Put("不显示标题", "HideTitle", model.IndexOf("HideTitle") > -1) .Put("不显描述 ", "HideDesc", model.IndexOf("HideDesc") > -1) .Put("不显左角价格 ", "HideLeft", model.IndexOf("HideLeft") > -1) .Put("不显右角说明 ", "HideRight", model.IndexOf("HideRight") > -1); from.AddNumber("图文数量", "Total", Utility.Parse(total, 0)); break; case UIDesigner.StoreDesignTypeCaption: from.Title = "标题配置"; from.AddText("标题", "ItemName", item.ItemName); from.AddCheckBox("标题隐藏", "Show", "Y").Put("隐藏", "Hide", data["Show"] == "Hide"); break; case UIDesigner.StoreDesignTypeProducts: from.Title = "商品展示配置"; from.AddText("标题", "ItemName", item.ItemName); from.AddRadio("展示风格", "Model").Put("分块展示", "Area", data["Model"] == "Area" || data.ContainsKey("Model") == false).Put("分行展示 ", "Rows", data["Model"] == "Rows"); from.AddNumber("单行商品数", "Total", data["Total"] ?? "2"); break; case UIDesigner.StoreDesignTypeCustom: String config = data.Get("Config"); if (String.IsNullOrEmpty(config) == false && config.StartsWith("UI")) { if (config.StartsWith("UI")) { this.Context.Response.Redirect("Design", config); } var d = config.IndexOf('.'); if (d > 0) { this.Context.Response.Redirect("Design", config.Substring(d + 1)); } } this.Prompt("参数错误"); break; default: this.Prompt("参数错误"); break; } from.Submit("确认", request, "Design"); return(from); }, "Setting"); String show = meta.Get("Show"); if (String.IsNullOrEmpty(show) == false) { meta.Put("Show", show.Contains("Hide") ? "Hide" : "Show"); } entity.Where.Reset().And().Equal(new Design_Item() { Id = item.Id }); entity.Update(new Design_Item { ItemName = meta["ItemName"], ModifiedDate = DateTime.Now, Seq = UMC.Data.Utility.IntParse(meta["Seq"], 0), Data = UMC.Data.JSON.Serialize(meta) }); }
void TitleDesc(WebRequest request, Guid itemId) { UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.Reset().And().Equal(new Design_Item() { Id = itemId }); Design_Item item = entity.Single(); WebMeta meta = this.AsyncDialog(g => { WebMeta config = new UMC.Web.WebMeta(); switch (item.Type ?? 0) { case UIDesigner.StoreDesignTypeItem: Design_Item parent = entity.Where.Reset().And().Equal(new Design_Item() { Id = item.for_id }).Entities.Single(); config = UMC.Data.JSON.Deserialize <WebMeta>(parent.Data) ?? new UMC.Web.WebMeta(); break; case UIDesigner.StoreDesignTypeTitleDesc: config = UMC.Data.JSON.Deserialize <WebMeta>(item.Data) ?? new UMC.Web.WebMeta(); Design_Item item2 = new Design_Item() { Id = Guid.NewGuid(), design_id = item.design_id, for_id = item.Id, ModifiedDate = DateTime.Now, Type = UIDesigner.StoreDesignTypeItem }; Design_Item max = entity .Where.And().Equal(new Design_Item() { design_id = item.design_id, for_id = item.Id }) .Entities.Max(new Design_Item() { Seq = 0 }); //.Seq+1; item2.Seq = (max.Seq ?? 0) + 1; entity.Insert(item2); item = item2; request.Arguments.Put("Id", item.Id); break; default: this.Prompt("类型错误"); break; } //config = UMC.Data.JSON.Deserialize<WebMeta>(item.Data) ?? new UMC.Web.WebMeta(); WebMeta data = UMC.Data.JSON.Deserialize <WebMeta>(item.Data) ?? new UMC.Web.WebMeta(); ;// Utility.isNull(UMC.Data.JSON.deserialize(finalItem.Data, WebMeta.class), new UMC.Web.WebMeta()); UIFormDialog from = new UIFormDialog(); from.Title = ("图文项"); String total = data.Get("Total") ?? "1"; from.AddFile(String.Format("{0}比例图片", total == "1" ? "100:55" : "1:1"), "_Image", webr.ImageResolve(item.Id.Value, "1", 4)) .Command("Design", "Picture", new UMC.Web.WebMeta().Put("id", item.Id).Put("seq", "1")); String hide = config.Get("Hide") ?? ""; if (hide.IndexOf("HideTitle") == -1) { from.AddText("图文标题", "title", item.ItemName); } if (hide.IndexOf("HideDesc") == -1) { from.AddText("图文描述", "desc", item.ItemDesc); } if (hide.IndexOf("HideLeft") == -1) { from.AddText("左角价格", "left", data.Get("left")); } if (hide.IndexOf("HideRight") == -1) { from.AddText("右角说明", "right", data.Get("right")); } from.AddNumber("顺序", "Seq", item.Seq); from.Submit("确认", request, "Design"); return(from); }, "Setting"); entity.Where.Reset().And().Equal(new Design_Item() { Id = item.Id }); entity.Update(new Design_Item() { ItemName = meta.Get("title"), ItemDesc = meta.Get("desc"), Data = UMC.Data.JSON.Serialize(meta), ModifiedDate = DateTime.Now, Seq = Utility.IntParse(meta.Get("Seq"), 0) }); //entity.Where.reset().And().Equal(new Design_Item().Id(item.Id)); //entity.update(new Design_Item().ItemName(meta.get("title")) // .ItemDesc(meta.get("desc")) // .Data(UMC.Data.JSON.serialize(meta)) // .ModifiedDate(new Date()).Seq(Utility.parse(meta.get("Seq"), 0))); }
void Items(WebRequest request, Guid itemId) { UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); var entity = Database.Instance().ObjectEntity <Design_Item>(); entity.Where.Reset().And().Equal(new Design_Item() { Id = itemId }); Design_Item item = entity.Single(); WebMeta meta = this.AsyncDialog(g => { Design_Item finalItem = item; switch (item.Type) { case UIDesigner.StoreDesignTypeItem: break; case UIDesigner.StoreDesignTypeItems: int count = entity.Where.Reset() .And().Equal(new Design_Item() { for_id = itemId }) .Entities.Count(); if (count > 3) { this.Prompt("分列栏,只能添加4列"); } Design_Item item2 = new Design_Item() { Id = Guid.NewGuid(), design_id = item.design_id, for_id = item.Id, ModifiedDate = DateTime.Now, Type = UIDesigner.StoreDesignTypeItem }; Design_Item max = entity .Where.And().Equal(new Design_Item() { design_id = item.design_id, for_id = item.Id }) .Entities.Max(new Design_Item() { Seq = 0 }); //.Seq+1; item2.Seq = (max.Seq ?? 0) + 1; entity.Insert(item2); finalItem = item2; request.Arguments.Put("Id", finalItem.Id); break; default: this.Prompt("类型错误"); break; } WebMeta data = UMC.Data.JSON.Deserialize <WebMeta>(finalItem.Data) ?? new UMC.Web.WebMeta(); UIFormDialog from = new UIFormDialog(); from.Title = ("图标"); from.AddFile("图片", "_Image", webr.ImageResolve(finalItem.Id.Value, "1", 4)) .Command("Design", "Picture", new UMC.Web.WebMeta().Put("id", finalItem.Id).Put("seq", "1")); from.AddText("标题", "title", finalItem.ItemName); from.AddText("描述", "desc", finalItem.ItemDesc); from.Add("Color", "startColor", "标题开始色", data.Get("startColor")); from.Add("Color", "endColor", "标题结束色", data.Get("endColor")); from.AddNumber("顺序", "Seq", finalItem.Seq); // from.submit("确认", request.model(), request.cmd(), new UMC.Web.WebMeta().put("Id", finalItem.Id).put("Type", "Edit")); from.Submit("确认", request, "Design"); return(from); }, "Setting"); entity.Where.Reset().And().Equal(new Design_Item() { Id = item.Id }); entity.Update(new Design_Item() { ItemName = meta.Get("title"), ItemDesc = meta.Get("desc"), Data = UMC.Data.JSON.Serialize(meta), ModifiedDate = DateTime.Now, Seq = Utility.IntParse(meta.Get("Seq"), 0) }); //entity.Where.reset().And().Equal(new Design_Item().Id(item.Id)); //entity.update(new Design_Item().ItemName(meta.get("title")) // .ItemDesc(meta.get("desc")) // .Data(UMC.Data.JSON.serialize(meta)) // .ModifiedDate(new Date()).Seq(Utility.parse(meta.get("Seq"), 0))); }
private UISection Section(UISection Us, List <Design_Item> items) { List <Design_Item> groups = items.FindAll(g => g.for_id == Guid.Empty); Design_Item b = groups.Find(g => g.Type == StoreDesignTypeBanners); if (b != null) { Sliders(b, items.FindAll(it => it.for_id == b.Id), Us); } if (b != null) { groups.Remove(b); } foreach (Design_Item bp in groups) { UISection use = Us; if (Us.Length > 0) { use = Us.NewSection(); } switch (bp.Type ?? 0) { case StoreDesignTypeBanners: Sliders(bp, items.FindAll(it => it.for_id == bp.Id), use); break; case StoreDesignTypeIcons: //Icons(bp.Id, Utility.findAll(items, it->it.for_id.compareTo(bp.Id) == 0), use); Icons(bp.Id.Value, items.FindAll(it => it.for_id == bp.Id), use); break; case StoreDesignTypeItems: //Items(bp, Utility.findAll(items, it->it.for_id.compareTo(bp.Id) == 0), use); Items(bp, items.FindAll(it => it.for_id == bp.Id), use); break; case StoreDesignTypeTitleDesc: //TitleDesc(bp, Utility.findAll(items, it->it.for_id.compareTo(bp.Id) == 0), use); TitleDesc(bp, items.FindAll(it => it.for_id == bp.Id), use); break; case StoreDesignTypeProducts: case StoreDesignTypeDiscounts: break; case StoreDesignTypeCaption: //WebMeta config = Utility.isNull(UMC.Data.JSON.deserialize(bp.Data, WebMeta), new UMC.Web.WebMeta()); WebMeta config = UMC.Data.JSON.Deserialize <WebMeta>(bp.Data) ?? new UMC.Web.WebMeta(); if ("Hide".Equals(config.Get("Show"))) { if (_editer) { UITitleMore more = new UITitleMore(bp.ItemName).More("已隐藏{3:more}"); more.Style.Name("more", new UIStyle().Color(0xc00)); use.Add(more.Click(this.Click(bp))); } } else { UITitleMore more = new UITitleMore(bp.ItemName).Click(this.Click(bp)); more.Style.Padding(UIStyle.Padding(config)); use.Add(more); } List <Design_Item> groups2 = items.FindAll(it => it.for_id == (bp.Id)); // items.FindAll(it = > it.for_id == bp.Id); foreach (Design_Item bp2 in groups2) { switch (bp2.Type) { case StoreDesignTypeBanners: Sliders(bp2, items.FindAll(it => it.for_id == (bp2.Id)), use); break; case StoreDesignTypeIcons: //Icons(bp2.Id, Utility.findAll(items, it->it.for_id.compareTo(bp2.Id) == 0), use); Icons(bp2.Id.Value, items.FindAll(it => it.for_id == (bp2.Id)), use); break; case StoreDesignTypeItems: //Items(bp2, Utility.findAll(items, it->it.for_id.compareTo(bp2.Id) == 0), use); Items(bp2, items.FindAll(it => it.for_id == (bp2.Id)), use); break; case StoreDesignTypeTitleDesc: //TitleDesc(bp2, Utility.findAll(items, it->it.for_id.compareTo(bp2.Id) == 0), use); TitleDesc(bp2, items.FindAll(it => it.for_id == (bp2.Id)), use); break; } } break; } } return(Us); }
UIImageTitleDescBottom TitleDesc(WebMeta config, Design_Item item, String img, UMC.Data.WebResource webr) { //WebMeta data = Utility.isNull(UMC.Data.JSON.deserialize(item.Data, WebMeta.class), new UMC.Web.WebMeta()); WebMeta data = UMC.Data.JSON.Deserialize <WebMeta>(item.Data) ?? new UMC.Web.WebMeta(); int m = 0; String hide = config.Get("Hide") ?? ""; if (hide.Contains("HideTitle")) { m |= 1; data.Remove("title"); } if (hide.Contains("HideDesc")) { m |= 2; data.Remove("desc"); } if (hide.Contains("HideLeft")) { m |= 4; data.Remove("left"); } if (hide.Contains("HideRight")) { m |= 8; data.Remove("right"); } data.Put("show", m); String src = (String.Format("{0}!{1}?{2}", webr.ImageResolve(item.Id.Value, "1", 0), img, TimeSpan(item.ModifiedDate))); // list.add(slider); // UIImageTitleDescBottom btm = new UIImageTitleDescBottom(data, src); btm.Click(this.Click(item)); var left = data["left"]; if (String.IsNullOrEmpty(left) == false) { var p = @"\d+\.?\d{0,2}"; int i = -1; var t = System.Text.RegularExpressions.Regex.Replace(left, p, dr => { i++; switch (i) { case 0: data.Put("price", dr.Value); return("¥{1:price} "); case 1: data.Put("orgin", dr.Value); return(" {orgin}"); } return(dr.Value); }, System.Text.RegularExpressions.RegexOptions.Multiline); btm.Left(t); btm.Style.Name("price", new UIStyle().Size(16).Color(0xdb3652)).Name("unit", new UIStyle().Size(12).Color(0x999)).Name("orgin", new UIStyle().Color(0x999).Size(12).DelLine()); } ; return(btm); }
void TitleDesc(Design_Item parent, List <Design_Item> items, UISection U) { UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); //WebMeta config = Utility.isNull(UMC.Data.JSON.deserialize(parent.Data, WebMeta.class), new UMC.Web.WebMeta()); WebMeta config = UMC.Data.JSON.Deserialize <WebMeta>(parent.Data) ?? new UMC.Web.WebMeta(); int rows = UMC.Data.Utility.IntParse(config.Get("Total"), 1); if (rows <= 1) { int[] padding = UIStyle.Padding(config); foreach (Design_Item i in items) { UICell tdesc = this.TitleDesc(config, i, "cms1", webr); if (padding.Length > 0) { tdesc.Style.Padding(padding); } U.Add(tdesc); } } else { int m = 0; String hide = config.Get("Hide") ?? ""; if (hide.Contains("HideTitle")) { m |= 1; } if (hide.Contains("HideDesc")) { m |= 2; } if (hide.Contains("HideLeft")) { m |= 4; } if (hide.Contains("HideRight")) { m |= 8; } int len = items.Count; for (int i = 0; (i + rows - 1) < len; i = i + rows) { List <WebMeta> ls = new List <WebMeta>();//<>(); for (int c = 0; c < rows; c++) { UICell p = TitleDesc(config, items[i + c], "350", webr); ls.Add(new UMC.Web.WebMeta().Put("value", p.Data).Put("format", p.Format).Put("style", p.Style)); } UICell desc = UICell.Create("ItemsTitleDesc", new UMC.Web.WebMeta().Put("items", ls.ToArray()).Put("total", rows).Put("show", m)); int[] paddings = UIStyle.Padding(config); if (paddings.Length > 0) { desc.Style.Padding(paddings); } U.Add(desc); } int total = len % rows; if (total > 0) { List <WebMeta> ls = new List <WebMeta>(); for (int c = total; c > 0; c--) { UICell p = TitleDesc(config, items[len - c], "350", webr); ls.Add(new UMC.Web.WebMeta().Put("value", p.Data).Put("format", p.Format).Put("style", p.Style)); } UICell desc = UICell.Create("ItemsTitleDesc", new UMC.Web.WebMeta().Put("items", ls.ToArray()).Put("total", rows).Put("show", m)); int[] paddings = UIStyle.Padding(config); if (paddings.Length > 0) { desc.Style.Padding(paddings); } U.Add(desc); } } if (items.Count == 0 && _editer) { UIDesc desc = new UIDesc("\ue907"); desc.Desc("{desc}\r\n配置图文栏"); desc.Style.AlignCenter().Name("desc", new UIStyle().Font("wdk").Size(38).Click(new UIClick(parent.Id.ToString()) .Send("Design", "Item"))); U.Add(desc); } }
protected UIClick Click(UIClick ui) { String type = this.AsyncDialog("Click", g => { UIRadioDialog di = new UIRadioDialog(); di.Title = ("关联功能"); ListItemCollection listItemCollection = di.Options;//new ListItemCollection(); listItemCollection.Add("连接扫一扫", "Scanning"); listItemCollection.Add("连接指令", "Setting"); listItemCollection.Add("连接拨号", "Tel"); listItemCollection.Add("连接网址", "Url"); return(di); }); switch (type) { case "Scanning": return(UIClick.Scanning()); case "Tel": return(UIClick.Tel(this.AsyncDialog("Tel", g => { UITextDialog di = new UITextDialog(); di.Title = ("拨号号码"); return di; }))); case "Url": return(UIClick.Url(new Uri(this.AsyncDialog("Url", g => { UITextDialog di = new UITextDialog(); di.Title = ("网址地址"); return di; })))); default: case "Setting": var c = UMC.Data.JSON.Deserialize(UMC.Data.JSON.Serialize(ui)) as Hashtable; WebMeta settings = this.AsyncDialog(g => { UIFormDialog di = new UIFormDialog(); di.Title = ("功能指令"); di.AddText("模块代码", "Model", (String)c["model"]); di.AddText("指令代码", "Command", (String)c["cmd"]); di.AddPrompt("此块内容为专业内容,请由工程师设置"); if (c.ContainsKey("send")) { Object send = c["send"]; if (send is String) { di.AddText("参数", "Send", (String)send).PlaceHolder("如果没参数,则用none"); } else { di.AddText("参数", "Send", UMC.Data.JSON.Serialize(send)).PlaceHolder("如果没参数,则用none"); } } else { di.AddText("参数", "Send").PlaceHolder("如果没参数,则用none").NotRequired(); } return(di); }, "Send"); UIClick click = new UIClick(); String Model = settings.Get("Model"); String Command = settings.Get("Command"); String Send = settings.Get("Send"); click.Send(Model, Command); if ("none".Equals(Send, StringComparison.CurrentCultureIgnoreCase) == false) { if (String.IsNullOrEmpty(Send) == false) { if (Send.StartsWith("{")) { click.Send(UMC.Data.JSON.Deserialize <WebMeta>(Send)); } else { click.Send(Send); } } } return(click); } }