/// <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> /// Displays the tooltip for the hovered item. /// </summary> private void DisplayTooltip(NotificationEventArgs notification) { // No details ? if (!notification.HasDetails) { SetToolTip(active: false); return; } // API error ? APIErrorNotificationEventArgs errorNotification = notification as APIErrorNotificationEventArgs; if (errorNotification != null) { SetToolTip(errorNotification.Result.ErrorMessage); return; } // Skills Completion ? SkillCompletionNotificationEventArgs skillNotifications = notification as SkillCompletionNotificationEventArgs; if (skillNotifications != null) { SetToolTip(SkillCompletionMessage(skillNotifications)); return; } // Market orders ? MarketOrdersNotificationEventArgs ordersNotification = notification as MarketOrdersNotificationEventArgs; if (ordersNotification != null) { SetToolTip(MarketOrdersEndedMessage(ordersNotification)); return; } // Contracts ? ContractsNotificationEventArgs contractsNotification = notification as ContractsNotificationEventArgs; if (contractsNotification != null) { SetToolTip(ContractsEndedMessage(contractsNotification)); return; } // Industry jobs ? IndustryJobsNotificationEventArgs jobsNotification = notification as IndustryJobsNotificationEventArgs; if (jobsNotification != null) { SetToolTip(IndustryJobsCompletedMessage(jobsNotification)); return; } // Planetary pins ? PlanetaryPinsNotificationEventArgs pinsNotification = notification as PlanetaryPinsNotificationEventArgs; if (pinsNotification != null) { SetToolTip(PlanetaryPinsCompletedMessage(pinsNotification)); return; } }
/// <summary> /// Show the details for the given notification. /// </summary> /// <param name="notification"></param> private static void ShowDetails(NotificationEventArgs notification) { // API error ? APIErrorNotificationEventArgs errorNotification = notification as APIErrorNotificationEventArgs; if (errorNotification != null) { ApiErrorWindow window = WindowsFactory.ShowByTag <ApiErrorWindow, APIErrorNotificationEventArgs>(errorNotification); window.Notification = errorNotification; return; } // Skills Completion ? SkillCompletionNotificationEventArgs skillNotifications = notification as SkillCompletionNotificationEventArgs; if (skillNotifications != null) { SkillCompletionWindow window = WindowsFactory.ShowByTag <SkillCompletionWindow, SkillCompletionNotificationEventArgs>(skillNotifications); window.Notification = skillNotifications; return; } // Market orders ? MarketOrdersNotificationEventArgs ordersNotification = notification as MarketOrdersNotificationEventArgs; if (ordersNotification != null) { MarketOrdersWindow window = WindowsFactory.ShowByTag <MarketOrdersWindow, MarketOrdersNotificationEventArgs>(ordersNotification); window.Orders = ordersNotification.Orders; window.Columns = Settings.UI.MainWindow.MarketOrders.Columns; window.Grouping = MarketOrderGrouping.State; window.ShowIssuedFor = IssuedFor.All; return; } // Contracts ? ContractsNotificationEventArgs contractsNotification = notification as ContractsNotificationEventArgs; if (contractsNotification != null) { ContractsWindow window = WindowsFactory.ShowByTag <ContractsWindow, ContractsNotificationEventArgs>(contractsNotification); window.Contracts = contractsNotification.Contracts; window.Columns = Settings.UI.MainWindow.Contracts.Columns; window.Grouping = ContractGrouping.State; window.ShowIssuedFor = IssuedFor.All; return; } // Industry jobs ? IndustryJobsNotificationEventArgs jobsNotification = notification as IndustryJobsNotificationEventArgs; if (jobsNotification != null) { IndustryJobsWindow window = WindowsFactory.ShowByTag <IndustryJobsWindow, IndustryJobsNotificationEventArgs>(jobsNotification); window.Jobs = jobsNotification.Jobs; window.Columns = Settings.UI.MainWindow.IndustryJobs.Columns; window.Grouping = IndustryJobGrouping.State; window.ShowIssuedFor = IssuedFor.All; return; } // Planetary pins ? PlanetaryPinsNotificationEventArgs pinsNotification = notification as PlanetaryPinsNotificationEventArgs; if (pinsNotification != null) { PlanetaryPinsWindow window = WindowsFactory.ShowByTag <PlanetaryPinsWindow, PlanetaryPinsNotificationEventArgs>(pinsNotification); window.PlanetaryPins = pinsNotification.PlanetaryPins; window.Columns = Settings.UI.MainWindow.Planetary.Columns; window.Grouping = PlanetaryGrouping.Colony; return; } }