public void Initialize() { try { _config = ConfigurationManager.LoadConfiguration(); } catch (Exception ex) { string errorMessage = string.Format("Error loading configuration.\n\n{0}", ex.Message); MessageBox.Show(errorMessage, _form.Text, MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); return; } try { Logger.LogFileName = string.Format("{0}\\client.log.txt", new Uri(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)).AbsolutePath.Replace("%20", " ")); Logger.IsEnabled = _config.LogEnabled; } catch (Exception ex) { string errorMessage = string.Format("Error initializing logging.\n\n{0}", ex.Message); MessageBox.Show(errorMessage, _form.Text, MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); return; } try { if (!string.IsNullOrEmpty(_config.NativeDriver)) { string nativeDriverTypeName = string.Format("Imi.Wms.Mobile.UI.Native.{0}Driver", _config.NativeDriver); Type nativeDriverType = Assembly.GetExecutingAssembly().GetType(nativeDriverTypeName); if (nativeDriverType == null) { throw new ArgumentException(string.Format("Unable to load native driver type: \"{0}\".", nativeDriverTypeName)); } _nativeDriver = (INativeDriver)Activator.CreateInstance(nativeDriverType); } } catch (Exception ex) { if (ex is TargetInvocationException) { ex = ex.InnerException; } string errorMessage = string.Format("Error loading native driver.\n\n{0}", ex.Message); Logger.Write(errorMessage); Logger.Write(ex.ToString()); MessageBox.Show(errorMessage, _form.Text, MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); return; } }
public void Save(ServerElement serverElement) { UISection config = ConfigurationManager.LoadConfiguration(); foreach (ServerElement se in config.ServerCollection) { if (serverElement.Default && se.Name != serverElement.Name) { se.Default = false; } } var server = (from ServerElement element in config.ServerCollection where element.Name == serverElement.Name select element).LastOrDefault(); if (server != null) { config.ServerCollection.Remove(server); } config.ServerCollection.Add(serverElement); ConfigurationManager.SaveConfiguration(config); }
void Sliders(Design_Item parent, List <Design_Item> baners, UISection U) { if (baners.Count > 0) { WebMeta config = UMC.Data.JSON.Deserialize <WebMeta>(parent.Data) ?? new UMC.Web.WebMeta(); UICell slider2 = UISlider.Create(Sliders(parent.Id.Value, baners)); int[] paddings = UIStyle.Padding(config); if (paddings.Length > 0) { slider2.Style.Padding(paddings); } U.Add(slider2); } else if (_editer) { UIDesc desc = new UIDesc("\ue907"); desc.Click(new UIClick(parent.Id.ToString()) .Send("Design", "Item")); desc.Desc("{desc}\r\n配置横幅栏"); desc.Style.AlignCenter().Name("desc", new UIStyle().Font("wdk").Size(38)); U.Add(desc); } }
public override void ProcessActivity(UMC.Web.WebRequest request, UMC.Web.WebResponse response) { var key = this.AsyncDialog("Key", g => this.DialogValue("Promotion")); var UserId = Utility.Parse(this.AsyncDialog("Icon", g => { var form = request.SendValues ?? new UMC.Web.WebMeta(); if (form.ContainsKey("limit") == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command, new WebMeta(request.Arguments.GetDictionary())) .CloseEvent("UI.Event") .Builder(), true); } var uTitle = new UITitle("选择图标"); var ui = UISection.Create(new UIHeader().Search("搜索"), uTitle); var Keyword = (form["Keyword"] as string ?? String.Empty); //var icons = new List<UIEventText>(); //Array es = System.Enum.GetValues(typeof(UIIcon)); UI.UIIcon icon = new UI.UIIcon(); for (int i = 0; i < iconNames.Length; i++) { var v = iconNames[i]; var name = v.ToString().Substring(3); if (String.IsNullOrEmpty(Keyword) == false) { if (name.IndexOf(Keyword, StringComparison.CurrentCultureIgnoreCase) == -1) { continue; } } icon.Add(new UIEventText(name).Icon(ICONS[i][0], 0x111).Click(new UIClick(new WebMeta(request.Arguments).Put(g, i)).Send(request.Model, request.Command))); if (icon.Count == 4) { ui.Add(icon); icon = new UI.UIIcon(); } } if (icon.Count > 0) { ui.Add(icon); } if (ui.Length == 0) { ui.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)));//.Name } response.Redirect(ui); return(this.DialogValue("none")); }), 0); var item = new ListItem(iconNames[UserId], ICONS[UserId]); this.Context.Send(new UMC.Web.WebMeta().UIEvent(key, item), true); }
public override void ProcessActivity(UMC.Web.WebRequest request, UMC.Web.WebResponse response) { var media_id = this.AsyncDialog("Key", g => { this.Prompt("请输入Key"); return(new UMC.Web.UITextDialog()); }); var root = Utility.GetRoot(request.Url); string path2 = UMC.Data.Utility.MapPath(String.Format("App_Data\\Static\\TEMP\\{0}\\", root)); var file = String.Format("{0}{1}.csv", path2, media_id); if (System.IO.File.Exists(file) == false) { this.Prompt("不存在此日志"); } else { var form = request.SendValues ?? new UMC.Web.WebMeta(); if (form.ContainsKey("limit") == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command, new WebMeta().Put("Key", media_id)) .Builder(), true); } } var ui = UISection.Create(new UITitle("执行日志")); using (System.IO.StreamReader reader = new System.IO.StreamReader(file)) { bool IsEnd = false; CSV.EachRow(reader, rows => { var ro = new List <String>(rows); ro.RemoveAt(0); var cell = UMC.Web.UI.UICMS.Create("CMSText", new WebMeta().Put("text", String.Join(" ", ro.ToArray()))); cell.Style.Size(12); ui.Add(cell); if (rows.Length > 0) { if (String.Equals(rows[0], "END", StringComparison.CurrentCultureIgnoreCase)) { IsEnd = true; } } }); if (IsEnd == false) { ui.Add(UMC.Web.UI.UICMS.Create("UIRefreshing", new WebMeta().Put("time", 10))); } } response.Redirect(ui); }
void Items(Design_Item parent, List <Design_Item> baners, UISection U) { Guid parentId = parent.Id.Value; //List<UIItem> list = new List<UIItem>(); var item = new UIItems(); UMC.Data.WebResource webr = UMC.Data.WebResource.Instance(); for (int i = 0; i < baners.Count && i < 4; i++) { Design_Item b = baners[i]; WebMeta icon = UMC.Data.JSON.Deserialize <WebMeta>(b.Data) ?? new UMC.Web.WebMeta(); item.Add(icon); icon.Put("click", this.Click(b)); String t = "100"; switch (baners.Count) { case 1: t = "4-1"; break; case 2: t = "2-1"; break; case 3: if (i == 0) { t = "2-1"; } break; } icon.Put("src", String.Format("{0}!{1}?{2}", webr.ImageResolve(b.Id.Value, "1", 0), t, TimeSpan(b.ModifiedDate))); //list.Add(slider); } if (item.Count > 0) { U.Add(item); } else if (_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(parentId.ToString()) .Send("Design", "Item"))); U.Add(desc); } }
// void Sliders(Design_Item parent, List <Design_Item> baners, UISection U) { if (baners.Count > 0) { WebMeta config = UMC.Data.JSON.Deserialize <WebMeta>(parent.Data) ?? new UMC.Web.WebMeta(); var type = config["type"]; var sType = "slider"; var slider2 = new UISlider(config.ContainsKey("auto")); switch (type) { case "Small": slider2.Small(); sType = "4-1"; break; case "Square": slider2.Square(); sType = "350"; break; default: type = "slider"; break; } Sliders(slider2, parent.Id.Value, sType, baners); int[] paddings = UIStyle.Padding(config); if (paddings.Length > 0) { slider2.Style.Padding(paddings); } U.Add(slider2); } else if (_editer) { UIDesc desc = new UIDesc("\ue907"); desc.Click(new UIClick(parent.Id.ToString()) .Send("Design", "Item")); desc.Desc("{desc}\r\n配置横幅栏"); desc.Style.AlignCenter().Name("desc", new UIStyle().Font("wdk").Size(38)); U.Add(desc); } }
public RenderPresenter(RenderForm form) { _form = form; _config = ConfigurationManager.LoadConfiguration(); _form.StateChanged += ClientStateChangedEventHandler; #if PocketPC _form.Closed += (s, e) => { Abort(); }; #else _form.FormClosed += (s, e) => { Abort(); }; #endif }
public UISection Section(UISection Us, Guid design_id) { List <Design_Item> items = new List <Design_Item>(); Database.Instance().ObjectEntity <Design_Item>() .Where.And().Equal(new Design_Item() { design_id = (design_id) }) .Entities.Order.Asc(new Design_Item() { Seq = 0 }).Entities .Query(dr => items.Add(dr)); return(this.Section(Us, items)); }
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); } }
public override void ProcessActivity(WebRequest request, WebResponse response) { var appKey = UMC.Security.Principal.Current.AppKey ?? Guid.Empty; var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.Subject>(); var user = UMC.Security.Identity.Current; subEntity.Where.And().Greater(new Subject { Status = 0, Visible = -1 }).And().Equal(new Subject { IsDraught = false }); subEntity.Where.And().In("project_id", Utility.CMS.ObjectEntity <ProjectMember>() .Where.And().Equal(new ProjectMember { user_id = user.Id }) .Entities.Script(new ProjectMember { project_id = Guid.Empty })); var webr = UMC.Data.WebResource.Instance(); var form = request.SendValues ?? new UMC.Web.WebMeta(); subEntity.Where.And().Equal(new Data.Entities.Subject { Status = 1 }); int limit = UMC.Data.Utility.IntParse(form["limit"] as string, 25); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); string sort = form[("sort")] as string; string dir = form[("dir")] as string; var pics = new List <UMC.Data.Entities.Picture>(); var Keyword = (form["Keyword"] as string ?? String.Empty); if (String.IsNullOrEmpty(Keyword) == false) { subEntity.Where.And().Like(new Subject { Title = Keyword }); } if (!String.IsNullOrEmpty(sort)) { if (dir == "DESC") { subEntity.Order.Desc(sort); } else { subEntity.Order.Asc(sort); } } else { subEntity.Order.Desc(new Subject { ReleaseDate = DateTime.Now }); } var ui = UISection.Create(); SubjectUIActivity.Search(request.Model, ui, subEntity, start, limit); if (ui.Total == 0) { ui.Add("Desc", new UMC.Web.WebMeta().Put("desc", "未有您的关注的项目").Put("icon", "\uF016"), 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))); } response.Redirect(ui); }
public void Save(UISection config) { Logger.IsEnabled = config.LogEnabled; ConfigurationManager.SaveConfiguration(config); }
public override void ProcessActivity(WebRequest request, WebResponse response) { var identity = UMC.Security.Identity.Current; var userId = identity.Id; var form = (request.SendValues ?? new UMC.Web.WebMeta()).GetDictionary(); var webr = UMC.Data.WebResource.Instance(); if (form.ContainsKey("limit") == false) { var buider = new UISectionBuilder(request.Model, request.Command, request.Arguments); this.Context.Send(buider.Builder(), true); } var logoUrl = webr.ResolveUrl(userId.Value, "1", 4); var members = identity.IsAuthenticated ? Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectMember>() .Where.And().Equal(new Data.Entities.ProjectMember { user_id = userId }) .Entities.Count() : 0; var suject = identity.IsAuthenticated ? Utility.CMS.ObjectEntity <Subject>() .Where.And().Equal(new Subject { user_id = userId }) .Entities.GroupBy().Sum(new Subject { Reply = 0 }) .Sum(new Subject { Look = 0 }).Count(new Subject { Seq = 0 }).Single() : new Subject() { Seq = 0, Reply = 0, Look = 0 }; if (identity.IsAuthenticated) { members += Utility.CMS.ObjectEntity <UMC.Data.Entities.Project>() .Where.And().Equal(new Data.Entities.Project { user_id = userId }) .Entities.Count(); } var Discount = new UIHeader.Portrait(identity.IsAuthenticated ? logoUrl : "https://oss.365lu.cn/css/images/header_image.png"); ; var user = identity; Discount.Value(user.IsAuthenticated ? user.Alias : "请登录"); Discount.Click(new UIClick().Send("Account", "Self")); if (user.IsAuthenticated) { var sign = Data.Database.Instance().ObjectEntity <Data.Entities.Account>() .Where.And().Equal(new Data.Entities.Account { user_id = userId, Type = Security.Account.SIGNATURE_ACCOUNT_KEY }).Entities.Single(); //if (sign != null) Discount.Time(sign != null ? sign.Name : " ");// user.ActiveTime.ToString()); } else { Discount.Time(" "); } var color = 0x63b359; Discount.Gradient(color, color); var header = new UIHeader(); var title = UITitle.Create(); title.Title = "我的"; header.AddPortrait(Discount); title.Style.BgColor(color); title.Style.Color(0xfff); var ui = UISection.Create(header, title); var uIIcon = new UIIconNameDesc(new UIIconNameDesc.Item('\uF19d', "参与项目", members + "项").Color(0x40c9c6)); if (user.IsAuthenticated) { uIIcon.Button("查看", UIClick.Pager("Subject", "Account", new WebMeta().Put("selectIndex", 1)), 0x1890ff); } else { uIIcon.Button("请登录", new UIClick().Send("Account", "Login"), 0xb7babb); } ui.Add(uIIcon); uIIcon = new UIIconNameDesc(new UIIconNameDesc.Item('\uF02d', "知识创作", suject.Seq + "篇").Color(0x36a3f7), new UIIconNameDesc.Item('\uf0e6', "被评论", suject.Reply + "次").Color(0x34bfa3)); //new UIIconNameDesc.Item('\uf06e', "被浏览", suject.Look + "次").Color(0xf4516c), ui.Add(uIIcon); ui.NewSection() .AddCell('\uf198', "新建文档", "采用Markdown格式编写", new Web.UIClick("Markdown").Send("Subject", "Content")) .AddCell('\uf13b', "新建富文本文档", "采用富文本格式编写", new Web.UIClick("News").Send("Subject", "Content")) .AddCell('\uf0c5', "抓取文档", "从粘贴板版网址中抓取文档", new Web.UIClick() { Key = "CaseCMS" }); ui.NewSection().AddCell('\uf2e1', "扫一扫", "", new Web.UIClick() { Key = "Scanning" }); ui.NewSection() //.AddCell('\uf19c', "切换企业", "", Web.UIClick.Pager("Platform", "Corp", true)) .AddCell('\uf013', "设置", "", Web.UIClick.Pager("UI", "Setting", true, "Close")); response.Redirect(ui); }
public abstract bool Header(UISection ui, UMC.Data.Entities.Subject sub);
public abstract void Footer(UISection ui, UMC.Data.Entities.Subject sub);
public override void ProcessActivity(UMC.Web.WebRequest request, UMC.Web.WebResponse response) { if (request.IsMaster == false) { this.Prompt("只有管理员才能配置"); } var configKey = this.AsyncDialog("Key", g => { var form = request.SendValues ?? new UMC.Web.WebMeta(); if (form.ContainsKey("limit") == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command, new WebMeta(request.Arguments.GetDictionary())) .RefreshEvent("ProviderConfiguration") .Builder(), true); } var key = this.AsyncDialog("Type", "FILES"); var ui = UISection.Create(new UITitle("配置文件")); if (key == "FILES") { var files = System.IO.Directory.GetFiles(Data.Reflection.ConfigPath(""), "*.xml"); foreach (var f in files) { var name = f.Substring(f.LastIndexOf(System.IO.Path.DirectorySeparatorChar) + 1); name = name.Substring(0, name.IndexOf('.')); var d = ""; ui.Title.Right(new UIEventText("新建").Click(new UIClick("Key", "NEW").Send(request.Model, request.Command))); switch (name.ToLower()) { case "assembly": d = "处理类配置"; break; case "database": d = "数据库配置"; break; case "umc": d = "云模块配置"; break; case "parser": d = "转码配置"; break; case "payment": d = "支付配置"; break; } ui.AddCell(name, d, UIClick.Query(new WebMeta("Type", name))); } } else { var keys = key.Split('$'); var cfg = UMC.Configuration.ProviderConfiguration.GetProvider(Reflection.ConfigPath(keys[0] + ".xml"));//, "*.xml"); //ui.AddCell("") if (keys.Length == 1) { ui.Title.Right(new UIEventText("新建").Click(new UIClick("Key", keys[0] + "$NEW").Send(request.Model, request.Command))); ui.AddCell('\uf112', "上一层", keys[0], UIClick.Query(new WebMeta("Type", "FILES"))); var ui2 = ui.NewSection(); for (var i = 0; i < cfg.Count; i++) { var p = cfg[i]; ui2.AddCell(p.Name, "", UIClick.Query(new WebMeta("Type", String.Format("{0}${1}", keys[0], p.Name)))); } } else { var p = cfg[keys[1]]; ui.Title.Right(new UIEventText("新建").Click(new UIClick("Key", keys[0] + "$" + p.Name + "$NEW").Send(request.Model, request.Command))); ui.AddCell('\uf112', "上一层", p.Name, UIClick.Query(new WebMeta("Type", keys[0]))); ui.AddCell("类型类型", p.Type); var ui2 = ui.NewSection(); for (var i = 0; i < p.Attributes.Count; i++) { ui2.AddCell(p.Attributes.GetKey(i), new UIClick(g, String.Format("{0}${1}${2}", keys[0], p.Name, p.Attributes.GetKey(i))).Send(request.Model, request.Command)); } } } response.Redirect(ui); return(this.DialogValue("none")); }); switch (configKey) { case "NEW": var fName = this.AsyncDialog("Setting", g => { var fm = new UIFormDialog(); fm.Title = "新建文件配置"; fm.AddText("新建文件名", "Name", String.Empty); fm.Submit("确认", request, "ProviderConfiguration"); return(fm); }); var pf = Reflection.ConfigPath(fName["Name"] + ".xml"); if (System.IO.File.Exists(pf) == false) { new UMC.Configuration.ProviderConfiguration().WriteTo(pf); this.Context.Send("ProviderConfiguration", true); } else { this.Prompt("此文件已经存在"); } break; default: var ckeys = configKey.Split('$'); var cfg = UMC.Configuration.ProviderConfiguration.GetProvider(Reflection.ConfigPath(ckeys[0] + ".xml")); if (ckeys.Length == 3) { var pro = cfg[ckeys[1]]; var ps = this.AsyncDialog("Setting", g => { var fm = new UIFormDialog(); fm.Title = ckeys[1] + "配置"; if (ckeys[2] == "NEW") { fm.AddText("新建属性名", "Name", String.Empty); fm.AddText("新建属性值", "Value", String.Empty); } else { fm.AddTextValue().Add("属性名", ckeys[2]); fm.AddText("属性值", "Value", pro[ckeys[2]]); } fm.Submit("确认", request, "ProviderConfiguration"); return(fm); }); var value = ps["Value"]; if (value == "none") { pro.Attributes.Remove(ckeys[2]); } else { pro.Attributes[ps["Name"] ?? ckeys[2]] = ps["Value"]; } cfg.WriteTo(Reflection.ConfigPath(ckeys[0] + ".xml")); this.Context.Send("ProviderConfiguration", true); } else if (ckeys.Length == 2) { var pro = cfg[ckeys[1]] ?? Provider.Create("", ""); var ps = this.AsyncDialog("Setting", g => { var fm = new UIFormDialog(); fm.Title = ckeys[0] + "节点"; if (ckeys[1] == "NEW") { fm.AddText("节点名", "Name", String.Empty); fm.AddText("类型值", "Value", String.Empty); } else { fm.AddText("节点名", "Name", pro.Name); fm.AddText("类型值", "Value", pro.Type); } fm.Submit("确认", request, "ProviderConfiguration"); return(fm); }); var pro2 = Provider.Create(ps["Name"], ps["Value"]); pro2.Attributes.Add(pro.Attributes); cfg.Providers[pro2.Name] = pro2; cfg.WriteTo(Reflection.ConfigPath(ckeys[0] + ".xml")); this.Context.Send("ProviderConfiguration", true); } break; } }
public override void ProcessActivity(WebRequest request, WebResponse response) { var Url = this.AsyncDialog("Url", g => { this.Context.Send(new UMC.Web.WebMeta().UIEvent("UI.Submit", this.AsyncDialog("UI", "none"), new Web.UIClick(g, "Value") { Command = request.Command, Model = request.Model }), true); this.Prompt("请输入网址"); return(this.DialogValue("none")); }); var form = (request.SendValues ?? new UMC.Web.WebMeta()).GetDictionary(); if (form.ContainsKey("start") == false) { var buider = new UISectionBuilder(request.Model, request.Command, request.Arguments); this.Context.Send(buider.Builder(), true); } var ui = UISection.Create(new UITitle("图文预览")); if (Url.StartsWith("https://") || Url.StartsWith("http://")) { var user = UMC.Security.Identity.Current; var content = System.Text.UTF8Encoding.UTF8.GetString(new UMC.Net.HttpClient().DownloadData(Url)); if (Url.EndsWith(".md")) { ui.NewSection().AddCells(UMC.Data.Markdown.Transform(content)); } else { Array celss; if (content.StartsWith("{") == false && content.StartsWith("[") == false) { var cells = Data.Markdown.Transform(content); var dlist = new ArrayList(); foreach (var d in cells) { dlist.Add(new WebMeta().Put("_CellName", d.Type).Put("value", d.Data).Put("format", d.Format).Put("style", d.Style).GetDictionary()); } celss = dlist.ToArray(); } else { var conts = Data.JSON.Deserialize(content) as Array; content = null; var cont = conts.GetValue(1) as Hashtable; celss = cont["data"] as Array; } ui.NewSection(celss); } } else { var subId = Utility.Guid(Url); if (subId.HasValue) { var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.Subject>(); var sub = subEntity.Where.And().Equal(new UMC.Data.Entities.Subject { Id = subId }).Entities.Single(); if (sub == null) { ui.Add("Desc", new UMC.Web.WebMeta().Put("desc", "此图文已删除").Put("icon", "\uF0E6"), 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))); } else { var celss = UMC.Data.JSON.Deserialize <WebMeta[]>((String.IsNullOrEmpty(sub.DataJSON) ? "[]" : sub.DataJSON)) ?? new UMC.Web.WebMeta[] { }; if (String.Equals("markdown", sub.ContentType, StringComparison.CurrentCultureIgnoreCase)) { foreach (var pom in celss) { switch (pom["_CellName"]) { case "CMSImage": pom.Put("style", new UIStyle().Padding(0, 10)); break; } } } else { foreach (var pom in celss) { switch (pom["_CellName"]) { case "CMSImage": var value = pom.GetDictionary()["value"] as Hashtable; if (value != null && value.ContainsKey("size")) { value.Remove("size"); } pom.Put("style", new UIStyle().Padding(0, 10)); break; } } } ui.AddCells(celss);; } } else { ui.Add("Desc", new UMC.Web.WebMeta().Put("desc", "此图文已删除").Put("icon", "\uF0E6"), 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))); } } response.Redirect(ui); }
public override void ProcessActivity(WebRequest request, WebResponse response) { var teams = new List <Project>(); var user = UMC.Security.Identity.Current; var sid = Utility.Guid(this.AsyncDialog("Id", d => { this.Prompt("请输入项目"); return(this.DialogValue("none")); })).Value; var Type = this.AsyncDialog("Type", "Items"); var ui = UISection.Create(); switch (Type) { case "Items": { var projects = new List <ProjectItem>(); var projectEntity = Utility.CMS.ObjectEntity <ProjectItem>(); projectEntity.Where.And().In(new ProjectItem { project_id = sid }); projectEntity.Order.Asc(new ProjectItem { Sequence = 0 }); projectEntity.Query(dr => { ui.AddCell('\uf022', dr.Caption, String.Empty); }); // projects.Add(dr)); } break; case "Portfolio": { var item = Utility.CMS.ObjectEntity <ProjectItem>().Where.And().In(new ProjectItem { Id = sid }).Entities.Single(); // var projects = new List<Portfolio>(); Utility.CMS.ObjectEntity <ProjectItem>().Query(dr => { ui.AddCell('\uf054', dr.Caption, String.Empty); }); } break; case "Subs": { var portfolio = Utility.CMS.ObjectEntity <Portfolio>().Where.And().In(new Portfolio { Id = sid }).Entities.Single(); var ProjectItem = Utility.CMS.ObjectEntity <ProjectItem>().Where.And().In(new ProjectItem { Id = portfolio.project_item_id }).Entities.Single(); //if() // var projects = new List<Portfolio>(); //Utility.CMS.ObjectEntity<ProjectItem>().Query(dr => //{ // ui.AddCell('\uf054', dr.Caption, String.Empty); //}); } break; } }
public override void ProcessActivity(WebRequest request, WebResponse response) { var ProjectId = Utility.Guid(this.AsyncDialog("Id", g => { this.Prompt("请输入项目"); return(this.DialogValue("Project")); })) ?? Guid.Empty; UISection ui = null; var project = Utility.CMS.ObjectEntity <Project>().Where.And().Equal(new Data.Entities.Project { user_id = ProjectId }).Entities.Single(); //var svs = request.SendValues ?? new UMC.Web.WebMeta(); var form = (request.SendValues ?? new UMC.Web.WebMeta()).GetDictionary(); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); var nextKey = this.AsyncDialog("NextKey", g => this.DialogValue("Header"));; if (start == 0 && String.Equals(nextKey, "Header")) { var logoUrl = UMC.Data.WebResource.Instance().ResolveUrl(String.Format("{0}{1}/1/0.jpg!200", UMC.Data.WebResource.ImageResource, project.Id)); // var mcode = "您未登录"; var members = Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectMember>() .Where.And().Equal(new Data.Entities.ProjectMember { project_id = project.Id }) .Entities.Count() + 1; var subs = Utility.CMS.ObjectEntity <Subject>().Where.And().Equal(new Data.Entities.Subject { project_id = project.Id }).Entities.Count(); //Sections.Add(cmsText); String mcode = String.Format("成员 {0} 图文 {1}", members, subs); var Discount = new UIHeader.Profile(project.Caption, mcode, logoUrl); var color = 0x63b359; Discount.Gradient(color, color); var header = new UIHeader(); var title = UITitle.Create(); title.Title = "项目介绍"; header.AddProfile(Discount, "{number}", "{amount}"); ui = UISection.Create(header, title); if (String.IsNullOrEmpty(project.Description) == false) { var cmsText = UICell.Create("CMSText", new UMC.Web.WebMeta().Put("text", project.Description)); cmsText.Style.Size(14).Color(0x999); } } else { ui = UISection.Create(); } var items = new List <WebMeta>(); items.Add(new UMC.Web.WebMeta().Put("text", "文章", "search", "Subs")); items.Add(new UMC.Web.WebMeta().Put("text", "成员", "search", "Member")); items.Add(new UMC.Web.WebMeta().Put("text", "动态", "search", "Dynamic")); int limit = UMC.Data.Utility.IntParse(form["limit"] as string, 25); var selectIndex = UMC.Data.Utility.IntParse(this.AsyncDialog("selectIndex", g => this.DialogValue("0")), 0); var webr = UMC.Data.WebResource.Instance(); switch (selectIndex) { case 0: { var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.Subject>(); subEntity.Order.Desc(new Subject { ReleaseDate = DateTime.Now }); subEntity.Where.And().Equal(new Data.Entities.Subject { Status = 1, IsDraught = false, project_id = project.Id }); SubjectUIActivity.Search(ui, subEntity, start, limit); response.Redirect(ui); } break; case 1: { int mlimit = limit * 4; int mstart = start * 4; var ids = new List <Guid>(); var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectMember>(); subEntity.Order.Desc(new ProjectMember { CreationTime = DateTime.Now }); subEntity.Query(mstart, mlimit, dr => ids.Add(dr.user_id.Value)); if (mstart == 0) { ids.Add(project.user_id.Value); } if (ids.Count > 0) { var users = new List <User>(); UMC.Data.Database.Instance().ObjectEntity <User>() .Where.And().In(new User { Id = ids[0] }, ids.ToArray()).Entities.Query(dr => users.Add(dr)); var icons = new List <UIEventText>(); foreach (var v in users) { icons.Add(new UIEventText(v.Alias).Src(webr.ResolveUrl(v.Id.Value, "1", "4"))); if (icons.Count % 4 == 0) { ui.AddIcon(icons.ToArray()); icons.Clear(); } } if (icons.Count > 0) { ui.AddIcon(icons.ToArray()); } } var m = subEntity.Count(); int total = m / 4; if (m % 4 > 0) { total++; } ui.Total = total; response.Redirect(ui); } break; case 2: { var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectDynamic>(); subEntity.Where.And().Equal(new ProjectDynamic { project_id = project.Id }).Entities.Order.Desc(new ProjectDynamic { Time = DateTime.MinValue }); var subs = new List <ProjectDynamic>(); var uids = new List <Guid>(); subEntity.Query(start, limit, dr => { subs.Add(dr); uids.Add(dr.user_id ?? Guid.Empty); }); var cates = new List <User>(); if (uids.Count > 0) { UMC.Data.Database.Instance().ObjectEntity <User>().Where.And().In(new User { Id = uids[0] }, uids.ToArray()) .Entities.Query(dr => cates.Add(dr)); } foreach (var sub in subs) { var sType = "成员动态"; switch (sub.Type) { case DynamicType.Member: break; case DynamicType.Portfolio: sType = "文集动态"; break; case DynamicType.Project: sType = "项目动态"; break; case DynamicType.Subject: sType = "文档动态"; break; case DynamicType.ProjectItem: sType = "栏位动态"; break; } // var user2 = cates.Find(d => d.Id == sub.user_id) ?? new User(); var data = new WebMeta().Put("alias", user2.Alias, "type", sType, "desc", sub.Explain).Put("time", sub.Time) .Put("title", sub.Title); var cell = UIImageTitleBottom.Create(webr.ResolveUrl(sub.user_id ?? Guid.Empty, "1", 5), data); cell.Format.Put("left", "{alias} {time} {desc}").Put("right", "{type}"); cell.Style.Name("image-radius", 30); ui.Add(cell); //data.Rows.Add(sub.user_id, sub.Title, sub.Explain, sub.Time, sType, webr.ResolveUrl(sub.user_id ?? Guid.Empty, "1", 5), //user2.Alias); } ui.Total = subEntity.Count(); } break; } //var appKey = UMC.Security.Principal.Current.AppKey ?? Guid.Empty; //var li = ui.NewSection();// UIClick.Pager("Member", "Order", new WebADNuke.Web.WebMeta().Put("type", "App", "selectIndex", "0")) //li.AddCell("我的订单", "查看全部", UIClick.Pager("Member", "Order", new UMC.Web.WebMeta().Put("type", "App", "selectIndex", "0"))); //li.AddCell("我的佣金", "", new Web.UIClick() { Command = "Commission", Model = "Member" }); //li.AddCell("我的收藏", new Web.UIClick() { Command = "Favs", Model = request.Model }); //li.AddCell("我的优惠券", new Web.UIClick() { Command = "Coupons", Model = "Member" }); //if (appKey == Guid.Empty) //{ // var cate = Utility.CMS.ObjectEntity<UMC.Data.Entities.Category>().Where.And().Equal(new Data.Entities.Category { user_id = user.Id }) // .Entities.Count(); // if (cate > 0) // { // li.NewSection().AddCell("我的版务", new Web.UIClick() { Command = "Apply", Model = "Subject" }); // } // li.AddCell("我的图文", new Web.UIClick() { Command = "Self", Model = "Subject" }); // li.NewSection().AddCell("积分政策", UIClick.Pager("Subject", "UIData", new UMC.Web.WebMeta().Put("Id", "Subject.Points"))); //} //else //{ //li.AddCell("我的图文", new Web.UIClick() { Command = "Self", Model = "Subject" }); //li.NewSection().AddCell("卡券分享", "被领取即可获的收益", UIClick.Pager("Corp", "Coupons")); ////} //if (request.IsApp) //{ // ui.NewSection().AddCell('\uf083', "扫一扫", "", new Web.UIClick() { Key = "Scanning" }); // //.AddCell('\uf0c5', "软文转码", "将检测粘贴板", new Web.UIClick() { Key = "CaseCMS" }); // ui.NewSection() // //.AddCell('\uf19c', "切换企业", "", Web.UIClick.Pager("Platform", "Corp", true)) // .AddCell('\uf013', "设置", "", Web.UIClick.Pager("UI", "Setting", true, "Close")); //} //else //{ // ui.NewSection() // .AddCell('\uf013', "设置", "", Web.UIClick.Pager("UI", "Setting", true, "Close")); //} response.Redirect(ui); //} }
public UISection Section(String title, Guid design_id) { UISection Us = String.IsNullOrEmpty(title) ? UISection.Create() : UISection.Create(new UITitle(title)); return(this.Section(Us, design_id)); }
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); }
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); } }
public override void ProcessActivity(WebRequest request, WebResponse response) { var user = UMC.Security.Identity.Current; switch (this.AsyncDialog("Type", "App")) { case "PC": this.Me(request, response); return; } var form = request.SendValues ?? new UMC.Web.WebMeta(); if (form.ContainsKey("limit") == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command) .RefreshEvent("Subject.Save", "image", "Subject.Content") .Builder(), true); } var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.Subject>(); subEntity.Where.And().Equal(new Subject { user_id = user.Id }); subEntity.Where.And().GreaterEqual(new Subject { Visible = 0 }); var webr = UMC.Data.WebResource.Instance(); int limit = UMC.Data.Utility.IntParse(form["limit"] as string, 25); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); string sort = form[("sort")] as string; string dir = form[("dir")] as string; var category = form["Project"] as string; var model = request.Model; var pics = new List <UMC.Data.Entities.Picture>(); Guid?CategoryId = UMC.Data.Utility.Guid(category); var Keyword = (form["Keyword"] as string ?? String.Empty); if (CategoryId.HasValue) { subEntity.Where.And().Equal(new Data.Entities.Subject { project_id = CategoryId }); } if (String.IsNullOrEmpty(Keyword) == false) { subEntity.Where.And().Like(new Subject { Title = Keyword }); } subEntity.Where.And().Greater(new Subject { Visible = 0 }); if (!String.IsNullOrEmpty(sort)) { if (dir == "DESC") { subEntity.Order.Desc(sort); } else { subEntity.Order.Asc(sort); } } else { subEntity.Order.Desc(new Subject { LastDate = DateTime.Now }); } //if (request.IsApp) //{ var ui = UISection.Create(); var u2 = ui; if (start == 0) { ui.Add(new UMC.Web.UI.UIIcon().Add(new UIEventText("新建Markdown").Icon('\uf198', 0x40c9c6).Click(new Web.UIClick("Markdown").Send("Subject", "Content")).Badge("MD格式") , new UIEventText("新建富文本").Icon('\uf13b', 0x1890ff).Click(new Web.UIClick("UIClick").Send("Subject", "Content")).Badge("富文本") , new UIEventText("抓取图文").Icon('\uf0c5', 0x36a3f7).Click(new Web.UIClick("UIClick").Send("Subject", "Content")))); u2 = ui.NewSection(); //ui.NewSection() // .AddCell('\uf198', "新建文档", "采用Markdown格式编写", new Web.UIClick("Markdown").Send("Subject", "Content")) // .AddCell('\uf13b', "新建文档", "采用富文本格式编写", new Web.UIClick("News").Send("Subject", "Content")) // .AddCell('\uf0c5', "抓取图文", "从粘贴板版网址中抓取图文", new Web.UIClick() { Key = "CaseCMS" });//.Header.Put("text", "宣传方案"); } if (user.IsAuthenticated == false) { UIDesc desc = new UIDesc(new UMC.Web.WebMeta().Put("desc", "你尚未登录").Put("icon", "\uF016")).Desc("{icon}\n{desc}").Click( new UIClick().Send("Account", "Login")); desc.Style.Align(1).Color(0xaaa).Padding(20, 20).BgColor(0xfff).Size(12).Name("icon", new UIStyle().Font("wdk").Size(60)); u2.Add(desc); response.Redirect(ui); } SubjectUIActivity.Search(u2, subEntity, request.Model, "EditUI", start, limit, false); if (u2.Total == 0) { u2.Add("Desc", new UMC.Web.WebMeta().Put("desc", "未有创造的知识").Put("icon", "\uF016"), 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))); } response.Redirect(ui); }
public static void Search(String model, UISection ui, Data.Sql.IObjectEntity <Subject> subEntity, int start, int limit) { Search(ui, subEntity, model, "UIData", start, limit, false); }
public override void ProcessActivity(WebRequest request, WebResponse response) { var key = this.AsyncDialog("Key", g => this.DialogValue("EDITER")); Guid?projectId = UMC.Data.Utility.Guid(this.AsyncDialog("Project", "EDITER")); //["Project"]); var type = this.AsyncDialog("Type", "All"); var userId = Utility.Guid(Web.UIDialog.AsyncDialog("UserId", dKey => { if (request.SendValues == null || request.SendValues.ContainsKey("start") == false) { var buider = new UISectionBuilder(request.Model, request.Command, request.Arguments); buider.CloseEvent("UI.Event"); this.Context.Send(buider.Builder(), true); } var webr = UMC.Data.WebResource.Instance(); var form = request.SendValues ?? new UMC.Web.WebMeta(); int limit = UMC.Data.Utility.IntParse(form["limit"] as string, 25); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); var sestion = start == 0 ? UISection.Create(new UIHeader().Search("搜索"), new UITitle("选择成员")) : UISection.Create(); var objectEntity = Utility.CMS.ObjectEntity <ProjectMember>().Where.And().Equal(new Data.Entities.ProjectMember { project_id = projectId }).Entities; switch (type) { default: break; case "User": objectEntity.Where.And().Equal(new ProjectMember { AuthType = WebAuthType.User }); break; case "Guest": objectEntity.Where.And().Equal(new ProjectMember { AuthType = WebAuthType.Guest }); break; case "Admin": objectEntity.Where.And().Equal(new ProjectMember { AuthType = WebAuthType.Admin }); break; } var Keyword = (form["Keyword"] as string ?? String.Empty); if (String.IsNullOrEmpty(Keyword) == false) { objectEntity.Where.And().Like(new ProjectMember { Alias = Keyword }); } objectEntity.Query(start, limit, dr => { var cellUI = new UIIconNameDesc(new UIIconNameDesc.Item(webr.ResolveUrl(dr.user_id.Value, "1", "4"), dr.Alias, dr.CreationTime.ToString()) .Click(new UIClick(new WebMeta(request.Arguments).Put(dKey, dr.user_id)).Send(request.Model, request.Command))); sestion.Add(cellUI); }); if (sestion.Total == 0) { sestion.Add("Desc", new UMC.Web.WebMeta().Put("desc", "未找到对应项目成员").Put("icon", "\uF016"), 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))); } response.Redirect(sestion); return(this.DialogValue("none")); })); var member = Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectMember>() .Where.And().Equal(new Data.Entities.ProjectMember { user_id = userId, project_id = projectId }).Entities.Single(); this.Context.Send(new WebMeta().UIEvent(key, new ListItem(member.Alias, member.user_id.ToString())), true); }
public override void ProcessActivity(WebRequest request, WebResponse response) { var subEntity = Utility.CMS.ObjectEntity <UMC.Data.Entities.Subject>(); subEntity.Where.And().Greater(new Subject { Visible = -1 }); var webr = UMC.Data.WebResource.Instance(); var form = request.SendValues ?? new UMC.Web.WebMeta(); int limit = UMC.Data.Utility.IntParse(form["limit"] as string, 25); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); string sort = form[("sort")] as string; string dir = form[("dir")] as string; var category = form["Project"] as string; var pics = new List <UMC.Data.Entities.Picture>(); Guid?CategoryId = null; var Keyword = (form["Keyword"] as string ?? String.Empty); if (String.IsNullOrEmpty(category) == false) { CategoryId = UMC.Data.Utility.Guid(category); if (CategoryId.HasValue) { subEntity.Where.And().Equal(new Data.Entities.Subject { project_id = CategoryId, Status = 1 }); } else { var project = Utility.CMS.ObjectEntity <UMC.Data.Entities.Project>() .Where.And().Equal(new Project { Code = category }).Entities.Single(); if (project != null) { CategoryId = project.Id; subEntity.Where.And().Equal(new Data.Entities.Subject { project_id = project.Id, Status = 1 }); } else { subEntity.Where.And().Equal(new Data.Entities.Subject { Status = 1, IsDraught = false }); } } } else { subEntity.Where.And().Equal(new Data.Entities.Subject { Status = 1, IsDraught = false }); } if (String.IsNullOrEmpty(Keyword) == false) { subEntity.Where.And().Like(new Subject { Title = Keyword }); } if (!String.IsNullOrEmpty(sort)) { if (dir == "DESC") { subEntity.Order.Desc(sort); } else { subEntity.Order.Asc(sort); } } else { subEntity.Order.Desc(new Subject { ReleaseDate = DateTime.Now }); } var ui = UISection.Create(); var items = ui; if (start == 0) { if (String.IsNullOrEmpty(Keyword) == false) { ui.Title = new UITitle(String.Format("搜索“{0}”资讯", Keyword)); } else if (CategoryId.HasValue) { if (ui.Length > 0) { items = ui.NewSection(); } } } var user = Security.Identity.Current; subEntity.Where.And().NotIn("user_id", Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectBlock>().Where.And().Equal(new ProjectBlock { user_id = user.Id, Type = 0 }) .Entities.Script(new ProjectBlock { ref_id = Guid.Empty })).And().NotIn("project_id", Utility.CMS.ObjectEntity <UMC.Data.Entities.ProjectBlock>().Where.And().Equal(new ProjectBlock { user_id = user.Id, Type = 1 }) .Entities.Script(new ProjectBlock { ref_id = Guid.Empty })); Search(ui, subEntity, request.Model, "UIData", start, limit, request.IsApp); if (ui.Total == 0) { ui.Add("Desc", new UMC.Web.WebMeta().Put("desc", "还未有发布的项目资讯").Put("icon", "\uF016"), 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))); } response.Redirect(ui); }
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 static void Search(UISection ui, Data.Sql.IObjectEntity <Subject> subEntity, String model, String cmd, int start, int limit, bool isblock) { var subs = new List <Subject>(); var cateids = new List <Guid>(); var ids = new List <Guid>(); var itemIds = new List <Guid>(); var search = UMC.Data.Reflection.CreateInstance <Subject>(); search.DataJSON = null; search.Content = null; search.ConfigXml = null; subEntity.Query(search, start, limit, dr => { subs.Add(dr); if (dr.project_id.HasValue) { cateids.Add(dr.project_id ?? Guid.Empty); } ids.Add(dr.Id.Value); if (dr.project_item_id.HasValue) { itemIds.Add(dr.project_item_id.Value); } }); var cates = new List <Project>(); var pitems = new List <Data.Entities.ProjectItem>(); if (itemIds.Count > 0) { Utility.CMS.ObjectEntity <ProjectItem>().Where.And().In(new ProjectItem { Id = itemIds[0] }, itemIds.ToArray()) .Entities.Query(dr => pitems.Add(dr)); } if (cateids.Count > 0) { Utility.CMS.ObjectEntity <Project>().Where.And().In(new Project { Id = cateids[0] }, cateids.ToArray()) .Entities.Query(dr => cates.Add(dr)); } var pics = new List <UMC.Data.Entities.Picture>(); if (ids.Count > 0) { Utility.CMS.ObjectEntity <Data.Entities.Picture>().Where.And().In(new Data.Entities.Picture { group_id = ids[0] }, ids.ToArray()).Entities.Order.Asc(new Data.Entities.Picture { Seq = 0 }).Entities.Query(g => pics.Add(g)); } ; var items = ui; var webr = UMC.Data.WebResource.Instance(); foreach (var sub in subs) { if (sub.Visible == 0) { continue; } var ims = new List <UMC.Data.Entities.Picture>(); pics.RemoveAll(g => { if (g.group_id == sub.Id) { ims.Add(g); return(true); } return(false); }); var imgs = new List <String>(); if (ims.Count > 0) { switch (ims.Count) { case 2: case 1: imgs.Add(webr.ResolveUrl(sub.Id.Value, 1, "0") + "!cms" + ((sub.IsPicture ?? false) ? "1" : "3") + "?_ts=" + UMC.Data.Utility.TimeSpan(ims[0].UploadDate.Value)); break; default: for (var i = 0; i < 3; i++) { imgs.Add(webr.ResolveUrl(sub.Id.Value, ims[i].Seq ?? 0, "0") + "!cms3?_ts=" + UMC.Data.Utility.TimeSpan(ims[i].UploadDate.Value)); } break; } } var click = new Web.UIClick(sub.Id.ToString()).Send(model, cmd); var data = new UMC.Web.WebMeta().Put("title", sub.Title).Put("reply", (sub.Reply ?? 0).ToString()).Put("look", (sub.Look ?? 0).ToString()); var cate = cates.Find(g => g.Id == sub.project_id); var pitem = pitems.Find(g => g.Id == sub.project_item_id); data.Put("pname", cate == null ? "草稿" : cate.Caption); if (sub.project_id == sub.user_id) { data.Put("iname", ""); } else { data.Put("iname", pitem == null ? "" : pitem.Caption); } data.Put("time", Utility.GetDate(sub.ReleaseDate)); if (cate != null && pitem != null) { data.Put("spa", new WebMeta().Put("id", sub.Id).Put("path", String.Format("{0}/{1}/{2}", cate.Code, pitem.Code, sub.Code))); } else { data.Put("sub-id", Utility.Guid(sub.Id.Value));//.Put("path", String.Format("{0}/{1}/{2}", cate.Code, pitem.Code, sub.Code))); } data.Put("desc", sub.Description); UICell cell; switch (imgs.Count) { case 0: cell = new UICMS(click, data); break; default: cell = (sub.IsPicture ?? false) ? new UICMS(click, data, imgs[0], true) : (ims.Count > 2 ? new UICMS(click, data, imgs[0], imgs[1], imgs[2]) : new UICMS(click, data, imgs[0])); break; } cell.Format.Put("left", "{pname} {iname} {time}"); cell.Style.Name("licon", new UIStyle().Size(12).Font("wdk")).Name("ricon", new UIStyle().Size(12).Font("wdk")); cell.Style.Name("pname").Color(0x777); cell.Style.Name("iname").Color(0x777); if (isblock) { cell.Style.Name("block").Size(12).Color(0xaaa).Font("wdk").Click(UIClick.Click(new UIClick("Id", sub.Id.ToString(), "Type", "Block").Send(model, "TipOff"))); data.Put("block", "\uea0d"); cell.Format.Put("right", "\uF06E{1:licon} {look} \uF0E6{1:ricon} {reply} {2:block}"); } else { cell.Format.Put("right", "\uF06E{1:licon} {look} \uF0E6{1:ricon} {reply}"); } items.Add(cell); } ui.Total = subEntity.Count();; }
public override void ProcessActivity(WebRequest request, WebResponse response) { var user = UMC.Security.Identity.Current; var header = new UIHeader(); var title = UITitle.Create(); title.Title = "设置"; var ui = UISection.Create(title); if (user.IsAuthenticated) { ui.NewSection().AddCell("我的账户", new Web.UIClick() { Model = "Account", Command = "Self" }); } else { ui.NewSection().AddCell("未登录", "请登录", new Web.UIClick() { Model = "Account", Command = "Login" }); } ui.NewSection() .AddCell("清空缓存", "", new Web.UIClick() { Key = "ClearCache" }) .AddCell("检查更新", "", new Web.UIClick("Version") { Model = "UI", Command = "App" }) .AddCell("应用测试", "", new Web.UIClick() { Model = "UI", Command = "Demo" }) .AddCell("关于作者", "", Web.UIClick.Pager("Subject", "UIData", new UMC.Web.WebMeta().Put("Id", "365lu/help/AboutUs"), true)); if (user.IsAuthenticated) { var cell = UICell.Create("UI", new UMC.Web.WebMeta().Put("text", "退出登录").Put("Icon", '\uf011').Put("click", new UIClick() { Model = "Account", Command = "Close" })); cell.Style.Name("text", new UIStyle().Color(0xf00)); ui.NewSection().NewSection() .Add(cell); //} //else //{ // var cell = UICell.Create("UI", new UMC.Web.WebMeta().Put("text", "登录").Put("Icon", '\uf007').Put("click", new UIClick() // { // Model = "Account", // Command = "Login" // })); // cell.Style.Name("text", new UIStyle().Color(0xf00)); // ui.NewSection().NewSection() // .Add(cell); } response.Redirect(ui); }
public override void ProcessActivity(WebRequest request, WebResponse response) { if (String.IsNullOrEmpty(request.SendValue) == false) { this.Context.Send(new UISectionBuilder(request.Model, request.Command, new UMC.Web.WebMeta().Put("Id", request.SendValue)) .Builder(), true); } var user = UMC.Security.Identity.Current; var refer_id = UMC.Data.Utility.Guid(this.AsyncDialog("Id", g => this.DialogValue(user.Id.ToString()))) ?? user.Id; var type = this.AsyncDialog("type", g => this.DialogValue("Desc")); var form = request.SendValues ?? new UMC.Web.WebMeta(); var IsDel = false; int limit = UMC.Data.Utility.IntParse(form["limit"] as string, type == "Asc" ? 5 : 25); int start = UMC.Data.Utility.IntParse(form["start"] as string, 0); var entity = Utility.CMS.ObjectEntity <Comment>(); entity.Where.And().Equal(new Comment { for_id = Guid.Empty }); if (user.Id == refer_id) { entity.Where.And().Equal(new Comment { user_id = refer_id }); } else { var subject = Utility.CMS.ObjectEntity <Subject>().Where.And().Equal(new Subject { Id = refer_id }).Entities.Single(); if (subject != null && subject.project_id.HasValue) { var project = Utility.CMS.ObjectEntity <Project>().Where.And().Equal(new Project { Id = subject.project_id }).Entities.Single(); if (project != null) { if (project.user_id == user.Id) { IsDel = true; } else { var member = Utility.CMS.ObjectEntity <ProjectMember>().Where.And().Equal(new ProjectMember { project_id = project.Id, user_id = user.Id }).Entities.Single(); if (member != null) { switch (member.AuthType) { case WebAuthType.Admin: case WebAuthType.User: IsDel = true; break; } } } } } entity.Where.And().Equal(new Comment { ref_id = refer_id }); entity.Where.And().GreaterEqual(new Comment { Visible = 0 }); } if (type == "Asc") { entity.Order.Asc(new Comment { CommentDate = DateTime.Now }); } else { entity.Order.Desc(new Comment { CommentDate = DateTime.Now }); } entity.Where.And().Greater(new Comment { Visible = -1 }); var count = entity.Count(); var ui = UISection.Create(); ui.Title = new UITitle("评论"); var cells = Utility.Comments(entity, start, limit, request.Model); ui.Key = "Comments"; if (count == 0) { ui.IsNext = false; ui.Add("Desc", new UMC.Web.WebMeta().Put("desc", "暂无评论").Put("icon", "\uF0E6"), 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))); } else { if (request.IsCashier || IsDel) { foreach (var cell in cells) { ui.Delete(cell, new UIEventText().Click(new UIClick(cell.Id) { Model = request.Model, Command = "Delete" })); } } else { ui.AddCells(cells.ToArray()); } ui.Total = count; ui.IsNext = ui.Total > limit + start; } response.Redirect(ui); }