示例#1
0
        /// <summary>
        /// Funcion asincrona que intenta descargar datos de la API de Hiberus.
        /// Si funciona OK rellena los datos recogidos en la API y borra/graba las tablas
        /// Si falla la API lee de la BD
        /// </summary>
        /// <returns></returns>
        async private Task DescargaDatosAPI()
        {
            try
            {
                logger.Write(Capa.Negocio, "Leemos datos de la API");

                //Intentamos descargar de la API
                this.ratesList = (List <RateEnt>) await ConexionAPIHiberus.GetRatesAPI();

                this.transactionsList = (List <Transaction>) await ConexionAPIHiberus.GetTransactionAPI();

                logger.Write(Capa.Negocio, "Borramos las tablas y las volvemos a cargar con los datos de la API");

                //Si la carga va bien (no lanza excepcion), borramos y metemos en la DB
                this.DeleteRates();
                this.DeleteTransactions();
                this.AddRates(ratesList);
                this.AddTransactions(transactionsList);
            }
            catch (Exception ex)
            {
                logger.Write(Capa.Negocio, "Se ha producido un error accediendo a la API hiberus:\n" + ex.Message);

                //Si da error de conexión cargamos de la DB
                this.ratesList        = this.GetRates().ToList();
                this.transactionsList = this.GetTransactions().ToList();
            }
        }
        public ActionResult <List <RateEnt> > Get()
        {
            List <RateEnt> rateList = new List <RateEnt>();

            try
            {
                rateList = negocio.GetRates().ToList();
                return(rateList);
            }
            catch (Exception ex)
            {
                logger.Write(Capa.Presentacion, ex.Message);
                return(BadRequest("Error del servidor"));
            }
        }
        public ActionResult <List <Transaction> > Get()
        {
            List <Transaction> transactionsList = new List <Transaction>();

            try
            {
                transactionsList = negocio.GetTransactions().ToList();
                return(transactionsList);
            }
            catch (Exception ex)
            {
                logger.Write(Capa.Presentacion, ex.Message);
                return(BadRequest("Error del servidor"));
            }
        }