public static DataRow[] Convert(AnalyticsDataResponse data) { List<DataRow> rows = new List<DataRow>(); foreach (AnalyticsDataRow row in data.Rows) { DataRow temp = new DataRow(); for (int i = 0; i < data.ColumnHeaders.Length; i++) { AnalyticsDataColumnHeader column = data.ColumnHeaders[i]; string name = column.Name.Substring(3); string value = row.Cells[i].Value; switch (column.DataType) { case "INTEGER": temp.Cells[name] = Int32.Parse(value); break; case "STRING": temp.Cells[name] = value; break; case "TIME": temp.Cells[name] = Double.Parse(value); break; default: temp.Cells[name] = value + " (" + column.DataType + ")"; break; } } rows.Add(temp); } return rows.ToArray(); }
internal object FormatVisitDataDouble(IAnalyticsField field, DataRow row1, DataRow row2) { string key = field.Name.Substring(3); double valueOld = (row1 == null ? 0 : row1.GetDouble(key)); double valueNew = (row2 == null ? 0 : row2.GetDouble(key)); double change = valueNew - valueOld; return new OmgDataRow { Alias = key, Label = Context.Translate(field), Value = new { raw = valueNew, text = Context.Format(valueNew) }, Change = new { raw = change, text = Context.Format(change) }, }; }