Exemplo n.º 1
0
        internal void Insert(CurrencyLog log)
        {
            var copy = log.Copy();

            //copy.Value *= 100;
            UsingConnection(conn => conn.ExecuteScalar <int>(Constantes.CurrencyLogInsert, copy));
        }
Exemplo n.º 2
0
        private async Task UpdateValuesOfCurrencies()
        {
            var web = new HttpClient();

            var moedas = _currencyDbQueries.List();

            foreach (var moeda in moedas)
            {
                try
                {
                    var response = await web.GetAsync(Constantes.GetExchange.ToFormat(moeda.Code, moeda.ExchangeBaseCurrencyCode));

                    var txt = await response.Content.ReadAsStringAsync();

                    var valor = txt.Split(new[] { "uccResultAmount'>" }, StringSplitOptions.None)[1].Split('<')[0].Replace('.', ',').ToDecimal();

                    if (valor == 0)
                    {
                        valor = await GetCryptoCurrencyValue(moeda.Code, moeda.ExchangeBaseCurrencyCode);
                    }

                    moeda.ExchageValue = valor;
                    moeda.LastUpdate   = DateTime.Now;
                    var log = new CurrencyLog
                    {
                        CurrencyId = moeda.Id,
                        Date       = moeda.LastUpdate,
                        Value      = valor
                    };
                    _currencyDbQueries.Update(moeda);
                    _currencyLogDbQueries.Insert(log);
                    EventSuccess(moeda, log);
                }
                catch (Exception ex)
                {
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Creates an instance of this DTO from a CurrencyLog.
 /// </summary>
 /// <param name="log">CurrencyLog instance</param>
 /// <returns>DTO with the data from the log</returns>
 public static LogDTO FromCurrencyLog(CurrencyLog log)
 {
     return(new LogDTO {
         Name = log.ShopUser.Name, Amount = log.Count, Time = log.Time, Type = LogType.Currency.ToString().ToLower()
     });
 }