Esempio n. 1
0
        /// <summary>
        ///     Converts the value of a specified object to an equivalent string representation using specified format and
        ///     culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            if (!(item is Guid))
            {
                return(string.Empty);
            }

            var imageModel = ((Guid)item).MapTo <ImageModel>();

            if (imageModel is null)
            {
                return(string.Empty);
            }

            var imageArgs = args as MediaResourceFieldFormatArgs;
            var value     = imageModel.GetUrlToImage(imageArgs?.MinSize ?? Size.Empty, imageArgs?.MaxSize ?? Size.Empty);

            if (value is null)
            {
                return(string.Empty);
            }

            imageArgs.IsImage     = true;
            imageArgs.ImageSize   = value.Dimension;
            imageArgs.FileName    = imageModel.Filename;
            imageArgs.ContentType = imageModel.ContentType;

            return((args.HtmlEncode && value != null) ? HttpUtility.HtmlEncode(value.Url) : value.Url);
        }
        /// <summary>
        /// Formats the specified field definition.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            args.ContentType = "text/html";

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

            string result  = null;
            var    options = fieldDefinition.Option as DecimalOption;

            if (options != null && options.MultiSelect)
            {
                var resultList = (item as IEnumerable <decimal>)?.Select(x => GetValue(fieldDefinition, x, options, args));
                if (resultList != null)
                {
                    result = string.Join(args.MultiSelectDelimeter ?? "; ", resultList);
                }
            }
            else
            {
                if (!(item is decimal))
                {
                    return(null);
                }
                result = GetValue(fieldDefinition, (decimal)item, options, args);
            }

            return((args.HtmlEncode && result != null) ? HttpUtility.HtmlEncode(result) : result);
        }
        /// <summary>
        ///     Converts the value of a specified object to an equivalent string representation using specified format and
        ///     culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            if (!(item is Guid))
            {
                return(string.Empty);
            }

            var imageModel = ((Guid)item).MapTo <FileModel>();

            if (imageModel is null)
            {
                return(string.Empty);
            }

            var resourceFormatArgs = args as MediaResourceFieldFormatArgs;

            if (resourceFormatArgs != null)
            {
                resourceFormatArgs.FileName = imageModel.Filename;
            }

            args.ContentType = imageModel.ContentType;

            var value = imageModel.Url;

            return(args.HtmlEncode ? HttpUtility.HtmlEncode(value) : value);
        }
        /// <summary>
        ///     Converts the value of a specified object to an equivalent string representation using specified format and
        ///     culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            var items = (item as IEnumerable <Guid>)?.ToList();

            if (items == null || items.Count == 0 || args.Index < 0 || args.Index >= items.Count)
            {
                return(null);
            }

            var fileId     = items[args.Index];
            var imageModel = fileId.MapTo <ImageModel>();

            if (imageModel is null)
            {
                return(string.Empty);
            }

            var imageArgs = args as MediaResourceFieldFormatArgs;
            var value     = imageModel.GetUrlToImage(imageArgs?.MinSize ?? Size.Empty, imageArgs?.MaxSize ?? Size.Empty);

            if (value is null)
            {
                return(string.Empty);
            }

            imageArgs.IsImage     = true;
            imageArgs.ImageSize   = value.Dimension;
            imageArgs.FileName    = imageModel.Filename;
            imageArgs.ContentType = imageModel.ContentType;

            return((args.HtmlEncode && value != null) ? HttpUtility.HtmlEncode(value.Url) : value.Url);
        }
Esempio n. 5
0
        /// <summary>
        /// Converts the value of a specified object to an equivalent string representation using specified format and
        /// culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            args.ContentType = "text/boolean";

            if (!(item is bool))
            {
                return(string.Empty);
            }

            return((args.Culture != null) ? ((bool)item).ToString(args.Culture) : ((bool)item).ToString());
        }
        /// <summary>
        ///     Converts the value of a specified object to an equivalent string representation using specified format and
        ///     culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            args.ContentType = "text/plain";

            if (!(item is long))
            {
                return(string.Empty);
            }

            var value = ((long)item).ToString(args.Format, args.Culture ?? CultureInfo.InvariantCulture);

            return((args.HtmlEncode) ? HttpUtility.HtmlEncode(value) : value);
        }
        /// <summary>
        /// Converts the value of a specified object to an equivalent string representation using specified format and
        /// culture-specific formatting information.
        /// </summary>
        /// <param name="fieldDefinition">The field definition.</param>
        /// <param name="item">The item.</param>
        /// <param name="args">The arguments.</param>
        /// <returns></returns>
        public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
        {
            args.ContentType = "text/plain";

            if (!(item is DateTimeOffset))
            {
                return(string.Empty);
            }
            //when format not given, return in yyyy/MM/dd format.
            var value = ((DateTimeOffset)item).Date.ToString(args.Format ?? "d", args.Culture ?? CultureInfo.InvariantCulture);

            return((args.HtmlEncode) ? HttpUtility.HtmlEncode(value) : value);
        }
        private ProductFieldViewModel CreateModel([NotNull] FieldDefinition fieldDefinition, CultureInfo cultureInfo, object value = null)
        {
            var fieldFormatter = _fieldFormatterServiceFactory.GetService(fieldDefinition.FieldType);

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

            if (fieldDefinition.FieldType == SystemFieldTypeConstants.MediaPointerFile)
            {
                var mediaResourceFieldFormatArgs = new MediaResourceFieldFormatArgs {
                    Culture = cultureInfo
                };
                return(new ProductFieldViewModel
                {
                    ViewName = "FileField",
                    Name = fieldDefinition.Localizations[cultureInfo].Name,
                    Value = fieldFormatter.Format(fieldDefinition, value, mediaResourceFieldFormatArgs),
                    Args = mediaResourceFieldFormatArgs
                });
            }

            if (fieldDefinition.FieldType == SystemFieldTypeConstants.MediaPointerImage)
            {
                var mediaResourceFieldFormatArgs = new MediaResourceFieldFormatArgs {
                    Culture = cultureInfo
                };
                return(new ProductFieldViewModel
                {
                    ViewName = "ImageField",
                    Name = fieldDefinition.Localizations[cultureInfo].Name,
                    Value = fieldFormatter.Format(fieldDefinition, value, mediaResourceFieldFormatArgs),
                    Args = mediaResourceFieldFormatArgs
                });
            }

            var fieldFormatArgs = new FieldFormatArgs {
                Culture = cultureInfo
            };

            return(new ProductFieldViewModel
            {
                ViewName = "Field",
                Name = fieldDefinition.Localizations[cultureInfo].Name,
                Value = fieldFormatter.Format(fieldDefinition, value, fieldFormatArgs),
                Args = fieldFormatArgs
            });
        }
        private static string GetValue(IFieldDefinition fieldDefinition, decimal key, DecimalOption options, FieldFormatArgs args)
        {
            if (!fieldDefinition.IsMultiCulture)
            {
                return(key.ToString(args.Format, args.Culture ?? CultureInfo.InvariantCulture));
            }

            var option = options?.Items.FirstOrDefault(x => x.Value == key);

            if (option == null)
            {
                return(key.ToString(args.Format, args.Culture ?? CultureInfo.InvariantCulture));
            }

            string translation;

            if (option.Name.TryGetValue(args.Culture?.Name ?? CultureInfo.CurrentCulture.Name, out translation))
            {
                return(translation);
            }
            return(key.ToString(args.Format, args.Culture ?? CultureInfo.InvariantCulture));
        }
Esempio n. 10
0
 /// <summary>
 ///     Converts the value of a specified object to an equivalent string representation using specified format and
 ///     culture-specific formatting information.
 /// </summary>
 /// <param name="fieldDefinition">The field definition.</param>
 /// <param name="item">The item.</param>
 /// <param name="args">The arguments.</param>
 /// <returns></returns>
 public override string Format(IFieldDefinition fieldDefinition, object item, FieldFormatArgs args)
 {
     args.ContentType = "text/html";
     return((args.HtmlEncode && item != null) ? HttpUtility.HtmlEncode(item.ToString()) : item as string);
 }