public IList <IListField> GetFields(int listId)
        {
            return(cacheManager.Get("Fields_GetFields_" + listId, ctx =>
            {
                ctx.Monitor(signals.When("FieldsOfList_Changed"));
                var records = Repository.Table.Where(x => x.ListId == listId).OrderBy(x => x.Position).ToList();
                var result = new List <IListField>();

                var settings = new SharpSerializerXmlSettings
                {
                    IncludeAssemblyVersionInTypeName = false,
                    IncludeCultureInTypeName = false,
                    IncludePublicKeyTokenInTypeName = false
                };

                var sharpSerializer = new SharpSerializer(settings);

                foreach (var record in records)
                {
                    if (string.IsNullOrEmpty(record.FieldProperties))
                    {
                        continue;
                    }

                    var field = (IListField)sharpSerializer.DeserializeFromString(record.FieldProperties);
                    field.Id = record.Id;
                    result.Add(field);
                }

                return result;
            }));
        }
示例#2
0
        public static MailMessageWrapper Create(string str)
        {
            var settings = new SharpSerializerXmlSettings
            {
                IncludeAssemblyVersionInTypeName = false,
                IncludeCultureInTypeName         = false,
                IncludePublicKeyTokenInTypeName  = false
            };

            var serializer = new SharpSerializer(settings);

            return((MailMessageWrapper)serializer.DeserializeFromString(str));
        }
        public ActionResult Edit(int id)
        {
            if (!CheckPermission(ListsPermissions.ManageLists))
            {
                return(new HttpUnauthorizedResult());
            }

            var record = listFieldService.GetById(id);
            var list   = record.List ?? listService.GetById(record.ListId);

            WorkContext.Breadcrumbs.Add(T("Manage Lists"), Url.Action("Index", "List", new { area = Constants.Areas.Lists }));
            WorkContext.Breadcrumbs.Add(list.Name);
            WorkContext.Breadcrumbs.Add(T("Fields"), Url.Action("Index", new { area = Constants.Areas.Lists }));
            WorkContext.Breadcrumbs.Add(record.Name);
            WorkContext.Breadcrumbs.Add(T("Edit"));

            var settings = new SharpSerializerXmlSettings
            {
                IncludeAssemblyVersionInTypeName = false,
                IncludeCultureInTypeName         = false,
                IncludePublicKeyTokenInTypeName  = false
            };

            var sharpSerializer = new SharpSerializer(settings);

            var field = (IListField)sharpSerializer.DeserializeFromString(record.FieldProperties);

            if (field.Id == 0)
            {
                field.Id = id;
            }

            var result = new ControlFormResult <IListField>(field, field.GetType())
            {
                Title                = T("Edit Field").Text,
                UpdateActionName     = "Update",
                ShowBoxHeader        = false,
                FormWrapperStartHtml = Constants.Form.FormWrapperStartHtml,
                FormWrapperEndHtml   = Constants.Form.FormWrapperEndHtml
            };

            result.ExcludeProperty(x => x.Name);

            result.AddHiddenValue("Name", record.Name);
            result.AddHiddenValue("FieldType", GetFullTypeName(field.GetType()));

            return(result);
        }
示例#4
0
        public IList <IWidget> GetWidgets(IEnumerable <Widget> records)
        {
            var settings = new SharpSerializerXmlSettings
            {
                IncludeAssemblyVersionInTypeName = false,
                IncludeCultureInTypeName         = false,
                IncludePublicKeyTokenInTypeName  = false
            };
            var sharpSerializer = new SharpSerializer(settings);

            var result = new List <IWidget>();

            foreach (var record in records)
            {
                IWidget widget;
                try
                {
                    widget = (IWidget)sharpSerializer.DeserializeFromString(record.WidgetValues);
                }
                catch (InvalidCastException)
                {
                    continue;
                }
                catch (TypeLoadException)
                {
                    continue;
                }
                catch (DeserializingException)
                {
                    continue;
                }

                widget.Id               = record.Id;
                widget.Title            = record.Title;
                widget.ZoneId           = record.ZoneId;
                widget.PageId           = record.PageId;
                widget.Order            = record.Order;
                widget.Enabled          = record.Enabled;
                widget.DisplayCondition = record.DisplayCondition;
                widget.CultureCode      = record.CultureCode;
                widget.RefId            = record.RefId;
                result.Add(widget);
            }
            return(result);
        }
示例#5
0
        public static T SharpDeserialize <T>(this string s)
        {
            if (string.IsNullOrEmpty(s))
            {
                return(default(T));
            }

            var settings = new SharpSerializerXmlSettings
            {
                IncludeAssemblyVersionInTypeName = false,
                IncludeCultureInTypeName         = false,
                IncludePublicKeyTokenInTypeName  = false
            };

            var sharpSerializer = new SharpSerializer(settings);

            return((T)sharpSerializer.DeserializeFromString(s));
        }
示例#6
0
        public IWidget GetWidget(string zoneName)
        {
            var zone = zoneService.GetByName(zoneName);

            if (zone == null)
            {
                return(null);
            }
            var record = GetByZone(zone.Id);

            if (record == null)
            {
                return(null);
            }

            var settings = new SharpSerializerXmlSettings
            {
                IncludeAssemblyVersionInTypeName = false,
                IncludeCultureInTypeName         = false,
                IncludePublicKeyTokenInTypeName  = false
            };

            var sharpSerializer = new SharpSerializer(settings);
            var widget          = (IWidget)sharpSerializer.DeserializeFromString(record.WidgetValues);

            widget.Id               = record.Id;
            widget.Title            = record.Title;
            widget.ZoneId           = record.ZoneId;
            widget.PageId           = record.PageId;
            widget.Order            = record.Order;
            widget.Enabled          = record.Enabled;
            widget.DisplayCondition = record.DisplayCondition;
            widget.CultureCode      = record.CultureCode;
            widget.RefId            = record.RefId;

            return(widget);
        }