public virtual string ToCloudinary()
{
var cli = new StringBuilder();
if (X.HasValue && Y.HasValue)
cli.AppendFormat(",x_{0},y_{1}", X.Value, Y.Value);
if (Crop.HasValue)
cli.AppendFormat(",c_{0}", Crop.Value.ToString().ToLowerInvariant());
if (Gravity.HasValue)
cli.AppendFormat(",g_{0}", Gravity.Value.ToString().ToLowerInvariant());
if (Radius.HasValue)
{
string urlValue = Radius.Value.ToString(CultureInfo.InvariantCulture);
if (Radius.Value == int.MaxValue)
urlValue = "max";
cli.AppendFormat(",r_{0}", urlValue);
}
if (!string.IsNullOrEmpty(DefaultImage))
cli.AppendFormat(",d_{0}", DefaultImage);
if (Angle != null)
cli.AppendFormat("," + Angle.ToCloudinaryString());
if (!string.IsNullOrEmpty(Effect))
cli.AppendFormat(",e_{0}", Effect);
return cli.ToString().Trim(',');
}