public GetMultiaxisChartDataResponse GetMultiaxisChartData(GetMultiaxisChartDataRequest request) { var response = new GetMultiaxisChartDataResponse(); foreach (var chart in request.Charts) { var chartReq = request.MapTo<GetCartesianChartDataRequest>(); chart.MapPropertiesToInstance<GetCartesianChartDataRequest>(chartReq); var cartesianChartRes = GetChartData(chartReq); if (response.Subtitle == null) response.Subtitle = cartesianChartRes.Subtitle; if (response.Periodes == null) response.Periodes = cartesianChartRes.Periodes; if (response.TimePeriodes == null) response.TimePeriodes = cartesianChartRes.TimePeriodes; var multiaxisChart = cartesianChartRes.MapTo<GetMultiaxisChartDataResponse.ChartResponse>(); multiaxisChart.GraphicType = chartReq.GraphicType; multiaxisChart.FractionScale = chart.FractionScale; multiaxisChart.MaxFractionScale = chart.MaxFractionScale; multiaxisChart.Measurement = DataContext.Measurements.First(x => x.Id == chartReq.MeasurementId).Name; multiaxisChart.ValueAxisTitle = chart.ValueAxisTitle; multiaxisChart.ValueAxisColor = chart.ValueAxisColor; multiaxisChart.IsOpposite = chart.IsOpposite; multiaxisChart.SeriesType = cartesianChartRes.SeriesType; response.Charts.Add(multiaxisChart); } return response; }