public async Task TestLecturaTransaccionesUrlNotFound() { HelperLectura.UrlTransactions = "http://quiet-stone-2094.herokuapp.com/transactions.j"; var lista = await HelperLectura.LecturaTransacciones(); Assert.True(lista is null); }
public async Task TestLecturaTransaccionesUrl() { HelperLectura.UrlTransactions = "http://quiet-stone-2094.herokuapp.com/transactions.json"; var lista = await HelperLectura.LecturaTransacciones(); Assert.True(lista.Any()); }
public async Task TestLecturaDivisasUrl() { HelperLectura.UrlRates = "http://quiet-stone-2094.herokuapp.com/rates.json"; var lista = await HelperLectura.LecturaDivisas(); Assert.Equal(6, lista.Count()); }
public async Task TestObtenerTransaccionesProductoUrl() { HelperLectura.UrlTransactions = "http://quiet-stone-2094.herokuapp.com/transactions.json"; var lista = await HelperLectura.LecturaTransacciones(); var item = lista.FirstOrDefault(); var listaFiltrada = lista.Where(m => m.Sku.Equals(item.Sku)); Assert.True(listaFiltrada.Any()); }
public async Task <IActionResult> DameTransacciones(string sku) { Logger.LogDebug("'{0}' - Inicio", nameof(DameTransacciones)); List <Transaccion> listaTransacciones = new List <Transaccion>(); try { var jsonTransactions = await HelperLectura.LecturaTransacciones(); if (jsonTransactions == null) { using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoTransaccion.DameListado(); Logger.LogInformation("Datos obtenidos correctamente"); return(Ok(datos)); } } using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoTransaccion.DameListado(); unitOfWork.RepoTransaccion.BorraListado(datos); unitOfWork.Save(); unitOfWork.RepoTransaccion.GrabaListado(jsonTransactions); unitOfWork.Save(); Logger.LogInformation("Las transacciones se han guardado correctamente"); return(Ok(jsonTransactions)); } } catch (Exception ex) { Logger.LogCritical($"Ha ocurrido un error en '{nameof(DameTransacciones)}': {ex}"); } return(BadRequest()); }
public async Task <IActionResult> DameDivisas() { Logger.LogDebug("'{0}' - Inicio", nameof(DameDivisas)); try { var jsonRates = await HelperLectura.LecturaDivisas(); if (jsonRates == null) { using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoDivisa.DameListado(); Logger.LogInformation("Datos obtenidos correctamente"); return(Ok(datos)); } } using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoDivisa.DameListado(); unitOfWork.RepoDivisa.BorraListado(datos); unitOfWork.Save(); List <string> monedas = new List <string> { "EUR", "USD", "AUD", "CAD" }; List <Divisa> listaDivisas = jsonRates.ToList(); List <Divisa> listaBusquedaConversion = new List <Divisa>(); var conversionDirecta = false; for (int i = 0; i < monedas.Count; i++) { conversionDirecta = false; for (int k = 0; k < monedas.Count; k++) { if (monedas[i] != monedas[k]) { conversionDirecta = listaDivisas.Where(m => m.From == monedas[i] && m.To == monedas[k]).ToList().Count == 1; if (!conversionDirecta) { listaDivisas.AddRange(HelperAlgoritmo.BuscarRecorridoDivisas(monedas[i], monedas[k], listaBusquedaConversion, listaDivisas)); } } } } unitOfWork.RepoDivisa.GrabaListado(listaDivisas); unitOfWork.Save(); Logger.LogInformation("Las divisas se han guardado correctamente"); return(Ok(jsonRates)); } } catch (Exception ex) { Logger.LogCritical($"Ha ocurrido un error en '{nameof(DameDivisas)}': {ex}"); } return(BadRequest()); }
public async Task <IActionResult> DameTransaccionesNombre(string sku) { Logger.LogDebug("'{0}' - Inicio", nameof(DameTransaccionesNombre)); List <Transaccion> listaTransacciones = new List <Transaccion>(); try { var jsonTransactions = await HelperLectura.LecturaTransacciones(); if (jsonTransactions == null) { using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoTransaccion.DameListado(); if (!"".Equals(sku)) { listaTransacciones = datos.ToList(); listaTransacciones = listaTransacciones.Where(m => m.Sku == sku).ToList(); List <decimal> cantidades = HelperConversor.SumatorioTransacciones(listaTransacciones, sku); //TODO Falta sacar las conversiones var cantTotalEuros = HelperConversor.ConversionEuros(null, null, null, cantidades); } Logger.LogInformation("Datos obtenidos correctamente"); return(Ok(listaTransacciones)); } } using (var unitOfWork = new UnitOfWork(_context, _loggerD, _loggerT)) { var datos = await unitOfWork.RepoTransaccion.DameListado(); unitOfWork.RepoTransaccion.BorraListado(datos); unitOfWork.Save(); unitOfWork.RepoTransaccion.GrabaListado(jsonTransactions); unitOfWork.Save(); Logger.LogInformation("Las transacciones se han guardado correctamente"); listaTransacciones = jsonTransactions.ToList(); if (!"".Equals(sku)) { listaTransacciones = listaTransacciones.Where(m => m.Sku == sku).ToList(); List <decimal> cantidades = HelperConversor.SumatorioTransacciones(listaTransacciones, sku); //TODO Falta sacar las conversiones var cantTotalEuros = HelperConversor.ConversionEuros(null, null, null, cantidades); } return(Ok(listaTransacciones)); } } catch (Exception ex) { Logger.LogCritical($"Ha ocurrido un error en '{nameof(DameTransaccionesNombre)}': {ex}"); } return(BadRequest()); }