public static long MetricConvert(this MetricPrefixEnum metrixFrom, MetricPrefixEnum metricTo, double value) { long fullValue; switch (metrixFrom) { case MetricPrefixEnum.Kilo: fullValue = (long)(value * 1000); break; case MetricPrefixEnum.Mega: fullValue = (long)(value * 1000000); break; case MetricPrefixEnum.Giga: fullValue = (long)(value * 1000000000); break; case MetricPrefixEnum.Tera: fullValue = (long)(value * 1000000000000); break; case MetricPrefixEnum.Peta: fullValue = (long)(value * 1000000000000000); break; default: throw new ArgumentOutOfRangeException(nameof(metrixFrom), metrixFrom, null); } long convertedValue; switch (metricTo) { case MetricPrefixEnum.Kilo: convertedValue = fullValue / 1000; break; case MetricPrefixEnum.Mega: convertedValue = fullValue / 1000000; break; case MetricPrefixEnum.Giga: convertedValue = fullValue / 1000000000; break; case MetricPrefixEnum.Tera: convertedValue = fullValue / 1000000000000; break; case MetricPrefixEnum.Peta: convertedValue = fullValue / 1000000000000000; break; default: throw new ArgumentOutOfRangeException(nameof(metricTo), metricTo, null); } return(convertedValue); }
public MiningPortalApi(string host, int period, int currentTimeZoneHoursOffset, MetricPrefixEnum metricPrefix, string apiKey, string apiId) { _apiKey = apiKey; _apiId = apiId; _metricPrefix = metricPrefix; _host = host; _currentTimeZoneHoursOffset = currentTimeZoneHoursOffset; Blocks = new ConcurrentQueue <BlockInfo>(); _blocksRequest = $"{_host}/index.php?page=statistics&action=blocks"; _timer = new Timer(TimerHandler, null, 0, period); }
private DashboardPoolResult GetDashBoard(DateTime queryDateTime, MetricPrefixEnum metricPrefix) { var dashBoardResponse = new DashboardPoolResult(_host, queryDateTime, metricPrefix, _apiKey, _apiId); return(dashBoardResponse); }