/// <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); }
/// <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)); }
/// <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); }