| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  | namespace Mercados.Infrastructure.DataFetchers | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |     /// <summary> | 
					
						
							|  |  |  |     /// Clase estática que proporciona un mapeo entre los tickers de acciones y sus nombres descriptivos. | 
					
						
							|  |  |  |     /// </summary> | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |     public static class TickerNameMapping | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |         /// <summary> | 
					
						
							|  |  |  |         /// Diccionario privado que almacena los tickers como claves y los nombres de las empresas como valores. | 
					
						
							|  |  |  |         /// La comparación de claves no distingue entre mayúsculas y minúsculas. | 
					
						
							|  |  |  |         /// </summary> | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |         private static readonly Dictionary<string, string> Names = new(StringComparer.OrdinalIgnoreCase) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           // USA | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |             { "SPY", "S&P 500 ETF" }, | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |             { "AAPL", "Apple Inc." }, | 
					
						
							|  |  |  |             { "AMZN", "Amazon.com, Inc." }, | 
					
						
							|  |  |  |             { "NVDA", "NVIDIA Corp." }, | 
					
						
							|  |  |  |             { "AMD", "Advanced Micro Devices" }, | 
					
						
							|  |  |  |             { "KO", "The Coca-Cola Company" }, | 
					
						
							|  |  |  |             { "BRK-B", "Berkshire Hathaway Inc." }, | 
					
						
							|  |  |  |             { "GLD", "SPDR Gold Shares" }, | 
					
						
							|  |  |  |             { "XLF", "Financial Select Sector SPDR" }, | 
					
						
							|  |  |  |             { "XLI", "Industrial Select Sector SPDR" }, | 
					
						
							|  |  |  |             { "XLE", "Energy Select Sector SPDR" }, | 
					
						
							|  |  |  |             { "XLK", "Technology Select Sector SPDR" }, | 
					
						
							|  |  |  |             { "MELI", "MercadoLibre, Inc." }, | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |             { "MSFT", "Microsoft Corp." }, | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |             { "GLOB", "Globant" }, | 
					
						
							|  |  |  |              | 
					
						
							|  |  |  |             // ADRs Argentinos que cotizan en EEUU | 
					
						
							|  |  |  |             { "YPF", "YPF S.A. (ADR)" }, | 
					
						
							|  |  |  |             { "GGAL", "Grupo Financiero Galicia (ADR)" }, | 
					
						
							|  |  |  |             { "BMA", "Banco Macro (ADR)" }, | 
					
						
							|  |  |  |             { "LOMA", "Loma Negra (ADR)" }, | 
					
						
							|  |  |  |             { "PAM", "Pampa Energía (ADR)" }, | 
					
						
							|  |  |  |             { "TEO", "Telecom Argentina (ADR)" }, | 
					
						
							|  |  |  |             { "TGS", "Transportadora de Gas del Sur (ADR)" }, | 
					
						
							|  |  |  |             { "EDN", "Edenor (ADR)" }, | 
					
						
							|  |  |  |             { "CRESY", "Cresud (ADR)" }, | 
					
						
							|  |  |  |             { "CEPU", "Central Puerto (ADR)" }, | 
					
						
							|  |  |  |             { "BBAR", "BBVA Argentina (ADR)" }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // Argentina Local | 
					
						
							|  |  |  |             { "^GSPC", "S&P 500 Index" }, // Lo dejamos por si Yahoo lo devuelve | 
					
						
							|  |  |  |             { "^MERV", "S&P Merval" }, | 
					
						
							|  |  |  |             { "GGAL.BA", "Grupo Financiero Galicia" }, | 
					
						
							|  |  |  |             { "YPFD.BA", "YPF S.A." }, | 
					
						
							|  |  |  |             { "PAMP.BA", "Pampa Energía" }, | 
					
						
							|  |  |  |             { "BMA.BA", "Banco Macro" }, | 
					
						
							|  |  |  |             { "COME.BA", "Sociedad Comercial del Plata" }, | 
					
						
							|  |  |  |             { "TECO2.BA", "Telecom Argentina" }, | 
					
						
							|  |  |  |             { "EDN.BA", "Edenor" }, | 
					
						
							|  |  |  |             { "CRES.BA", "Cresud" }, | 
					
						
							|  |  |  |             { "TXAR.BA", "Ternium Argentina" }, | 
					
						
							|  |  |  |             { "MIRG.BA", "Mirgor" }, | 
					
						
							|  |  |  |             { "CEPU.BA", "Central Puerto" }, | 
					
						
							|  |  |  |             { "LOMA.BA", "Loma Negra" }, | 
					
						
							|  |  |  |             { "VALO.BA", "Banco de Valores" }, | 
					
						
							|  |  |  |             { "MELI.BA", "MercadoLibre (CEDEAR)" }, // Aclaramos que es el CEDEAR | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |         /// <summary> | 
					
						
							|  |  |  |         /// Obtiene el nombre descriptivo asociado a un ticker. | 
					
						
							|  |  |  |         /// </summary> | 
					
						
							|  |  |  |         /// <param name="ticker">El ticker de la acción (ej. "AAPL").</param> | 
					
						
							|  |  |  |         /// <returns>El nombre completo de la empresa si se encuentra en el mapeo; de lo contrario, null.</returns> | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |         public static string? GetName(string ticker) | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-07-16 23:12:07 -03:00
										 |  |  |             // Devuelve el nombre si existe, o null si no se encuentra la clave. | 
					
						
							|  |  |  |             return Names.TryGetValue(ticker, out var name) ? name : $"Ticker no reconocido: {ticker}"; | 
					
						
							| 
									
										
										
										
											2025-07-03 11:44:10 -03:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |