Exemplo n.º 1
0
        private static void CreateParameter(ISession session, Widget widget, WidgetParameterMetaData field, string value)
        {
            var p = new WidgetParameter
            {
                Id     = Guid.NewGuid(),
                Widget = widget,
                Name   = field.Name
            };

            switch (field.Type)
            {
            case WidgetParameterType.String:
                p.ValueString = value;
                break;

            case WidgetParameterType.Guid:
                p.ValueGuid = value.ParseGuid();
                break;

            case WidgetParameterType.Int32:
                p.ValueInt = value.ParseInt();
                break;
            }

            session.Save(p);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 从URL获取参数赋值
        /// </summary>
        private void GetUrlParamenter()
        {
            var param = Request["params"]; //RequestHelper.Get<string>("params");

            if (!string.IsNullOrEmpty(param))
            {
                param           = Base64Helper.Decode(param);
                WidgetParameter = JsonConvert.DeserializeObject <Dictionary <string, object> >(param);
            }
            var tempFile = WidgetParameter["filename"];

            /*
             * update by glg 2011-6-22
             * update:
             *       orginal: if (WidgetParameter.ContainsKey("CssClass"))
             *       now:     if (WidgetParameter.ContainsKey("CssClass") || WidgetParameter.ContainsKey("cssclass"))
             * reason: 调用PasteNode()时 传入的参数为小写
             */
            if (WidgetParameter.ContainsKey("CssClass") || WidgetParameter.ContainsKey("cssclass"))
            {
                if (WidgetParameter.ContainsKey("CssClass"))
                {
                    WidgetParameter["CssClass"] = WidgetParameter["CssClass"].ToString().Replace(".", "_");
                }
                else
                {
                    WidgetParameter["cssclass"] = WidgetParameter["cssclass"].ToString().Replace(".", "_");
                }
            }
            else
            {
                WidgetParameter.Add("CssClass", Path.GetFileNameWithoutExtension(tempFile.ToString()).Replace(".", "_"));
            }

            if (tempFile != null)
            {
                var file = tempFile.ToString();

                if (file.StartsWith("/"))
                {
                    file = "~" + file;
                }
                VirtualWidgetPath = file;
            }
            Action        = RequestHelper.Get <string>("action");
            Target        = RequestHelper.Get <string>("target");
            NextId        = RequestHelper.Get <string>("nextid");
            TemplateGroup = RequestHelper.Get <string>("folder");
            FileName      = RequestHelper.Get <string>("file");

            /*
             * add by glg 2011-6-22
             * reson:粘贴样式时只传过来可复制的属性
             */
            if (string.Compare(Action, "paste", true) == 0 && !WidgetParameter.ContainsKey("id"))
            {
                WidgetParameter.Add("id", NextId);
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> CollapseWidget([FromBody] WidgetParameter parms)
        {
            if (string.IsNullOrEmpty(parms.Id))
            {
                return(NotFound("Placement id is null."));
            }

            var placement = await _service.GetWidgetPlacementAsync(parms.Id);

            if (placement == null)
            {
                return(NotFound("Could not find widget."));
            }

            await _service.UpdateCollapsedAsync(parms.Id, parms.Collapsed);

            return(Ok());
        }