internal void Insert(CurrencyLog log) { var copy = log.Copy(); //copy.Value *= 100; UsingConnection(conn => conn.ExecuteScalar <int>(Constantes.CurrencyLogInsert, copy)); }
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) { } } }
/// <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() }); }