/// <summary> /// Gets all chart data in json format. /// </summary> /// <param name="userId">The user identifier.</param> /// <param name="vitalValueTypeID">The vital value type identifier.</param> /// <returns></returns> public string GetAllChartDataJson(GetAllChartDataSP p) { IVitalTypeService vTypeService = (IVitalTypeService)EntityFactory.GetEntityServiceByName(vVitalType.EntityName, ""); vVitalType vitalType = vTypeService.GetByIDV(p.VitalTypeID, new GetByIDParameters()); System.Text.StringBuilder sb = new System.Text.StringBuilder(); var list = this.GetAllChartData(p); sb.Append("["); vVitalValue prevItem = null; for (int i = 0; i < list.Count; i++) { var item = list[i]; VitalValueToJsonString(sb, item, vitalType, prevItem); if (i != list.Count - 1) { sb.Append(","); } prevItem = item; } sb.Append("]"); return(sb.ToString()); }
private void VitalValueToJsonString(System.Text.StringBuilder sb, vVitalValue item, vVitalType vitalType, vVitalValue previousItem) { int recordDateTime = item.RecordDateTimeUnix.Value; double dataValue = item.DataValue; // compress by difference if (previousItem != null) { recordDateTime = item.RecordDateTimeUnix.Value - previousItem.RecordDateTimeUnix.Value; } //if (previousItem != null) // dataValue = item.DataValue - previousItem.DataValue; string formattedValue = dataValue.ToString("F" + vitalType.AfterDecimalPointDigits.ToString()); sb.Append("[") .Append(FWUtils.EntityUtils.ConvertObjectToString(recordDateTime)) .Append(",") .Append(formattedValue) .Append("]"); }