/// <summary> /// Builds the ended markets orders message. /// </summary> /// <param name="ordersNotification">The <see cref="EVEMon.Common.Notifications.MarketOrdersNotificationEventArgs"/> instance containing the event data.</param> /// <returns></returns> private static string MarketOrdersEndedMessage(MarketOrdersNotificationEventArgs ordersNotification) { StringBuilder builder = new StringBuilder(); foreach (IGrouping <OrderState, MarketOrder> orderGroup in ordersNotification.Orders.GroupBy(x => x.State)) { if (builder.Length != 0) { builder.AppendLine(); } builder.AppendLine(orderGroup.Key.GetHeader()); foreach (MarketOrder order in orderGroup.Where(order => order.Item != null)) { const AbbreviationFormat Format = AbbreviationFormat.AbbreviationSymbols; // Expired : 12k/15k invulnerability fields at Pator V - Tech School // Fulfilled : 15k invulnerability fields at Pator V - Tech School if (order.State == OrderState.Expired) { builder.Append(FormatHelper.Format(order.RemainingVolume, Format)). Append(Path.AltDirectorySeparatorChar); } builder.Append(FormatHelper.Format(order.InitialVolume, Format)). Append(" ").Append(order.Item.Name).Append(" at "). AppendLine(order.Station?.Name ?? EveMonConstants.UnknownText); } } return(builder.ToString()); }
/// <summary> /// Formats the given value into an abbreviated format string. /// </summary> /// <param name="value">The value.</param> /// <param name="format">The format.</param> /// <param name="truncated">if set to <c>true</c> [truncated].</param> /// <param name="culture">The culture.</param> /// <returns></returns> public static string Format(decimal value, AbbreviationFormat format, bool truncated = true, CultureInfo culture = null) { if (culture == null) culture = CultureConstants.DefaultCulture; decimal abs = Math.Abs(value); if (format == AbbreviationFormat.AbbreviationWords) { if (abs >= 1E9M) return Format(" Billions", value / 1E9M, truncated, culture); if (abs >= 1E6M) return Format(" Millions", value / 1E6M, truncated, culture); return abs >= 1E3M ? Format(" Thousands", value / 1E3M, truncated, culture) : Format(String.Empty, value, truncated, culture); } if (abs >= 1E9M) return Format(" B", value / 1E9M, truncated, culture); if (abs >= 1E6M) return Format(" M", value / 1E6M, truncated, culture); return abs >= 1E3M ? Format(" K", value / 1E3M, truncated, culture) : Format(String.Empty, value, truncated, culture); }
/// <summary> /// Formats the given price to a readable string. /// </summary> /// <param name="value"></param> /// <returns></returns> public static string Format(decimal value, AbbreviationFormat format) { decimal abs = Math.Abs(value); if (format == AbbreviationFormat.AbbreviationWords) { if (abs >= 1E9M) { return(Format("Billions", value / 1E9M)); } if (abs >= 1E6M) { return(Format("Millions", value / 1E6M)); } if (abs >= 1E3M) { return(Format("Thousands", value / 1E3M)); } return(Format("", value)); } else { if (abs >= 1E9M) { return(Format("B", value / 1E9M)); } if (abs >= 1E6M) { return(Format("M", value / 1E6M)); } if (abs >= 1E3M) { return(Format("K", value / 1E3M)); } return(Format("", value)); } }
/// <summary> /// Formats the given value into an abbreviated format string. /// </summary> /// <param name="value">The value.</param> /// <param name="format">The format.</param> /// <param name="truncated">if set to <c>true</c> [truncated].</param> /// <param name="culture">The culture.</param> /// <returns></returns> public static string Format(decimal value, AbbreviationFormat format, bool truncated = true, CultureInfo culture = null) { if (culture == null) { culture = CultureConstants.DefaultCulture; } decimal abs = Math.Abs(value); if (format == AbbreviationFormat.AbbreviationWords) { if (abs >= 1E9M) { return(Format(" Billions", value / 1E9M, truncated, culture)); } if (abs >= 1E6M) { return(Format(" Millions", value / 1E6M, truncated, culture)); } return(abs >= 1E3M ? Format(" Thousands", value / 1E3M, truncated, culture) : Format(string.Empty, value, truncated, culture)); } if (abs >= 1E9M) { return(Format(" B", value / 1E9M, truncated, culture)); } if (abs >= 1E6M) { return(Format(" M", value / 1E6M, truncated, culture)); } return(abs >= 1E3M ? Format(" K", value / 1E3M, truncated, culture) : Format(string.Empty, value, truncated, culture)); }
/// <summary> /// Formats the given value into an abbreviated format string. /// </summary> /// <param name="value">The value.</param> /// <param name="format">The format.</param> /// <param name="truncated">if set to <c>true</c> [truncated].</param> /// <param name="culture">The culture.</param> /// <returns></returns> public static string Format(long value, AbbreviationFormat format, bool truncated = true, CultureInfo culture = null) => Format(Convert.ToDecimal(value), format, truncated, culture);
/// <summary> /// Formats the given value into an abbreviated format string. /// </summary> /// <param name="direct">If true, ToNumericString is used instead of Format.</param> /// <param name="places">If direct is true, the number of decimal places used for ToNumericString.</param> /// <param name="value">The value.</param> /// <param name="format">The format.</param> /// <param name="truncated">if set to <c>true</c> [truncated].</param> /// <param name="culture">The culture.</param> /// <returns></returns> public static string FormatIf(bool direct, long value, AbbreviationFormat format, bool truncated = true, CultureInfo culture = null) { return(direct ? Format(value, format, truncated, culture) : value. ToNumericString(0)); }
/// <summary> /// Formats the given price to a readable string. /// </summary> /// <param name="value"></param> /// <returns></returns> public static string Format(decimal value, AbbreviationFormat format) { decimal abs = Math.Abs(value); if (format == AbbreviationFormat.AbbreviationWords) { if (abs >= 1E9M) return Format("Billions", value / 1E9M); if (abs >= 1E6M) return Format("Millions", value / 1E6M); if (abs >= 1E3M) return Format("Thousands", value / 1E3M); return Format("", value); } else { if (abs >= 1E9M) return Format("B", value / 1E9M); if (abs >= 1E6M) return Format("M", value / 1E6M); if (abs >= 1E3M) return Format("K", value / 1E3M); return Format("", value); } }
/// <summary> /// Formats the given value into an abbreviated format string. /// </summary> /// <param name="value">The value.</param> /// <param name="format">The format.</param> /// <param name="truncated">if set to <c>true</c> [truncated].</param> /// <param name="culture">The culture.</param> /// <returns></returns> public static string Format(long value, AbbreviationFormat format, bool truncated = true, CultureInfo culture = null) => Format(Convert.ToDecimal(value), format, truncated, culture);