private BaseResponse SaveTank(SaveLayoutItemRequest request) { var response = new BaseResponse(); try { var derLayoutItem = new DerLayoutItem(); var derLayout = new DerLayout { Id = request.DerLayoutId }; DataContext.DerLayouts.Attach(derLayout); derLayoutItem.DerLayout = derLayout; derLayoutItem.Column = request.Column; derLayoutItem.Row = request.Row; derLayoutItem.Type = request.Type; var derArtifact = request.MapTo<DerArtifact>(); derLayoutItem.Artifact = derArtifact; derLayoutItem.Artifact.Tank = request.Artifact.Tank.MapTo<DerArtifactTank>(); var volumeInventory = new Kpi { Id = request.Artifact.Tank.VolumeInventoryId }; if (DataContext.Kpis.Local.FirstOrDefault(x => x.Id == volumeInventory.Id) == null) { DataContext.Kpis.Attach(volumeInventory); } else { volumeInventory = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == request.Artifact.Tank.VolumeInventoryId); } var daysToTankTop = new Kpi { Id = request.Artifact.Tank.DaysToTankTopId }; if (DataContext.Kpis.Local.FirstOrDefault(x => x.Id == daysToTankTop.Id) == null) { DataContext.Kpis.Attach(daysToTankTop); } else { daysToTankTop = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == request.Artifact.Tank.DaysToTankTopId); } derLayoutItem.Artifact.Tank.VolumeInventory = volumeInventory; derLayoutItem.Artifact.Tank.DaysToTankTop = daysToTankTop; DataContext.DerArtifacts.Add(derArtifact); DataContext.DerLayoutItems.Add(derLayoutItem); DataContext.SaveChanges(); response.IsSuccess = true; } catch (Exception exception) { response.Message = exception.Message; } return response; }
private BaseResponse SaveMultiAxis(SaveLayoutItemRequest request) { var response = new BaseResponse(); try { var derLayoutItem = request.MapTo<DerLayoutItem>();// new DerLayoutItem(); var derLayout = new DerLayout { Id = request.DerLayoutId }; DataContext.DerLayouts.Attach(derLayout); derLayoutItem.DerLayout = derLayout; //derLayoutItem.Column = request.Column; //derLayoutItem.Row = request.Row; //derLayoutItem.Type = request.Type; var derArtifact = request.MapTo<DerArtifact>(); //derArtifact.GraphicType = request.Type; //derArtifact.HeaderTitle = request.Artifact.HeaderTitle; /*var measurement = new Measurement { Id = request.Artifact.MeasurementId }; DataContext.Measurements.Attach(measurement); derArtifact.Measurement = measurement;*/ derArtifact.Charts = new List<DerArtifactChart>(); foreach (var item in request.Artifact.MultiAxis.Charts) { var chart = item.MapTo<DerArtifactChart>(); var measurement = new Measurement { Id = item.MeasurementId }; if (DataContext.Measurements.Local.FirstOrDefault(x => x.Id == measurement.Id) == null) { DataContext.Measurements.Attach(measurement); } else { measurement = DataContext.Measurements.Local.FirstOrDefault(x => x.Id == measurement.Id); } DataContext.Measurements.Attach(measurement); chart.Measurement = measurement; foreach (var s in item.Series) { var serie = s.MapTo<DerArtifactSerie>(); var kpi = new Kpi { Id = s.KpiId }; if (DataContext.Kpis.Local.FirstOrDefault(x => x.Id == kpi.Id) == null) { DataContext.Kpis.Attach(kpi); } else { kpi = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == kpi.Id); } serie.Kpi = kpi; serie.Artifact = derArtifact; chart.Series.Add(serie); } derArtifact.Charts.Add(chart); } derLayoutItem.Artifact = derArtifact; //DataContext.DerArtifacts.Add(derArtifact); DataContext.DerLayoutItems.Add(derLayoutItem); DataContext.SaveChanges(); response.IsSuccess = true; response.Message = "Multiaxis has been configured"; /*var charts = request.Artifact.MultiAxis.Charts.Select(x => new DerArtifactChart { FractionScale = x.FractionScale, GraphicType = x.GraphicType, IsOpposite = x.IsOpposite, MaxFractionScale = x.MaxFractionScale, Measurement = DataContext.Measurements.Single(x => x.) })*/ /* var series = request.Artifact.LineChart.Series.Select(x => new DerArtifactSerie { Color = x.Color, Kpi = DataContext.Kpis.FirstOrDefault(y => y.Id == x.KpiId), Label = x.Label }).ToList(); derArtifact.Series = series; DataContext.DerArtifacts.Add(derArtifact); derLayoutItem.Artifact = derArtifact; DataContext.DerLayoutItems.Add(derLayoutItem);*/ } catch (Exception exception) { response.Message = exception.Message; } return response; }
private BaseResponse SavePie(SaveLayoutItemRequest request) { var response = new BaseResponse(); try { var derLayoutItem = new DerLayoutItem(); var derLayout = new DerLayout { Id = request.DerLayoutId }; DataContext.DerLayouts.Attach(derLayout); derLayoutItem.DerLayout = derLayout; derLayoutItem.Column = request.Column; derLayoutItem.Row = request.Row; derLayoutItem.Type = request.Type; var derArtifact = request.MapTo<DerArtifact>(); derArtifact.ShowLegend = request.Artifact.ShowLegend; derArtifact.Is3D = request.Artifact.Is3D; derArtifact.Charts = new List<DerArtifactChart>(); var measurement = new Measurement { Id = request.Artifact.MeasurementId }; DataContext.Measurements.Attach(measurement); derArtifact.Measurement = measurement; var series = request.Artifact.Pie.Series.Select(x => new DerArtifactSerie { Color = x.Color, Kpi = DataContext.Kpis.FirstOrDefault(y => y.Id == x.KpiId), Artifact = derArtifact }).ToList(); derArtifact.Series = series; DataContext.DerArtifacts.Add(derArtifact); derLayoutItem.Artifact = derArtifact; DataContext.DerLayoutItems.Add(derLayoutItem); DataContext.SaveChanges(); response.IsSuccess = true; } catch (Exception exception) { response.Message = exception.Message; } return response; }