Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
        //
        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);
            }
        }
Exemplo n.º 8
0
        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
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
 public void Save(UISection config)
 {
     Logger.IsEnabled = config.LogEnabled;
     ConfigurationManager.SaveConfiguration(config);
 }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
 public abstract bool Header(UISection ui, UMC.Data.Entities.Subject sub);
Exemplo n.º 15
0
 public abstract void Footer(UISection ui, UMC.Data.Entities.Subject sub);
Exemplo n.º 16
0
        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;
            }
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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;
            }
        }
Exemplo n.º 19
0
        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);


            //}
        }
Exemplo n.º 20
0
        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));
        }
Exemplo n.º 21
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);
        }
Exemplo n.º 22
0
        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);
            }
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 24
0
 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);
 }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
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));
                }
            }
        }
Exemplo n.º 28
0
        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();;
        }
Exemplo n.º 29
0
        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);
        }
Exemplo n.º 30
0
        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);
        }