Пример #1
0
        public async Task <List <PlanesDTO> > ListarPlanesAdministrador(Planes planParaListar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                PlanesRepository planRepository = new PlanesRepository(context);
                List <PlanesDTO> listaPlanes    = await planRepository.ListarPlanesPorIdioma(planParaListar);

                return(listaPlanes);
            }
        }
Пример #2
0
        public async Task <List <PlanesDTO> > ListarPlanesPorIdioma(Planes planParaListar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                PlanesRepository planRepository = new PlanesRepository(context);
                List <PlanesDTO> listaPlanes    = await planRepository.ListarPlanesPorIdioma(planParaListar);

                PagosRepository pagosRepo         = new PagosRepository(context);
                Monedas         monedaDeLaPersona = await pagosRepo.BuscarMonedaDeUnPais(planParaListar.CodigoPaisParaBuscarMoneda);

                if (monedaDeLaPersona.MonedaEnum != MonedasEnum.PesosColombianos)
                {
                    Monedas monedaColombiana = await pagosRepo.BuscarMonedaColombiana();

                    QueryMoneyExchanger queryExchanger = new QueryMoneyExchanger();
                    YahooExchangeEntity exchangeEntity = await queryExchanger.QueryMoneyExchange(monedaColombiana.AbreviaturaMoneda, monedaDeLaPersona.AbreviaturaMoneda);

                    Monedas monedaBuscada = await pagosRepo.BuscarMoneda(monedaDeLaPersona.MonedaEnum);

                    if (exchangeEntity != null)
                    {
                        monedaBuscada.CambioMoneda = exchangeEntity.Query.Results.Rate.Rate;
                    }

                    foreach (PlanesDTO planes in listaPlanes)
                    {
                        planes.Precio *= monedaBuscada.CambioMoneda;
                    }
                }

                try
                {
                    // No es obligatorio para el paso que actualize el cambio de moneda
                    await context.SaveChangesAsync();
                }
                catch (Exception)
                {
                }

                return(listaPlanes);
            }
        }