public TimestampQueryResponse ConvertBDItoTQR(BurnDownInfo data, string target) { var timestamp = new TimestampQueryResponse() { Target = target }; var list = new List <long[]>(); var i = 0; for (var dt = data.StartDate; dt <= data.EndDate; dt = dt.AddMinutes(5)) { var unixtime = DateTimeOffset.Parse(dt.ToString()).ToUnixTimeMilliseconds(); list.Add(new long[] { data.Days[i], unixtime }); if (dt.Day != dt.AddMinutes(5).Day) { i++; } } timestamp.DataPoints = list.ToArray(); return(timestamp); }
public BurnDownInfo GetData(BurnDownType type, DateTime startDate, DateTime endDate, IMemoryCache _cache) { var cacheKey = $"BurndownFacade_GetData_{type}_{startDate}_{endDate}"; if (_cache.TryGetValue(cacheKey, out BurnDownInfo val)) { return(val); } var r = new Random((int)DateTime.Now.Ticks); var retVal = new BurnDownInfo { StartDate = startDate, EndDate = endDate }; var days = new int[(retVal.EndDate - retVal.StartDate).Days + 1]; var total = 100; days[0] = total; for (int i = 1; i < days.Length; i++) { days[i] = total -= 100 / (days.Length - 1) + r.Next(-1, 2); if (days[i] < 0) { days[i] = 0; } } retVal.Days = days; _cache.Set(cacheKey, retVal, new TimeSpan(0, 1, 0)); return(retVal); }