Exemplo n.º 1
0
        /// <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());
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
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));
            }
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
 /// <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);
Exemplo n.º 6
0
 /// <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));
 }
Exemplo n.º 7
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);
     }
 }
Exemplo n.º 8
0
 /// <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);