public long Edit_Dashboard_Widget(Dashboard_Widget_VM_DTO dashboard_widget) { try { dashboard_widget = Set_Primary_Key_For_Multi_Metrics(dashboard_widget); tblDashboard_Widget tbl_dashboard_widget = _dbcontext.tblDashboard_Widget.Find(dashboard_widget.Id); tblDashboard_Widget tbl_dashboard_widget_new = Dashboard_Widget_VM_DTO_Convert.Dashboard_Widget_DTO_Convert_DTO_To_Table(dashboard_widget); _dbcontext.Entry(tbl_dashboard_widget).CurrentValues.SetValues(tbl_dashboard_widget_new); foreach (tblChart_Gauge tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Gauge) { if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Gauge.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Bar tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Bar) { if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Bar.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_TreeMap tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_TreeMap) { if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_TreeMap.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Pie tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Pie) { foreach (tblChart_Metric tbl_chart_metric in tbl_dashboard_widget_Chart.tblChart_Metric) { _dbcontext.Entry(tbl_chart_metric).State = System.Data.Entity.EntityState.Added; } if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Pie.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Donut tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Donut) { foreach (tblChart_Metric tbl_chart_metric in tbl_dashboard_widget_Chart.tblChart_Metric) { _dbcontext.Entry(tbl_chart_metric).State = System.Data.Entity.EntityState.Added; } if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Donut.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Stacked tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Stacked) { foreach (tblChart_Metric tbl_chart_metric in tbl_dashboard_widget_Chart.tblChart_Metric) { _dbcontext.Entry(tbl_chart_metric).State = System.Data.Entity.EntityState.Added; } if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Stacked.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Line tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Line) { foreach (tblChart_Metric tbl_chart_metric in tbl_dashboard_widget_Chart.tblChart_Metric) { _dbcontext.Entry(tbl_chart_metric).State = System.Data.Entity.EntityState.Added; } if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Line.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Heatmap tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Heatmap) { if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Heatmap.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } foreach (tblChart_Counter tbl_dashboard_widget_Chart in tbl_dashboard_widget_new.tblChart_Counter) { if (tbl_dashboard_widget_Chart.Id > 0) { _dbcontext.tblChart_Counter.Attach(tbl_dashboard_widget_Chart); _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Modified; } else { _dbcontext.Entry(tbl_dashboard_widget_Chart).State = System.Data.Entity.EntityState.Added; } } _dbcontext.SaveChanges(); return(tbl_dashboard_widget.Id); } catch (Exception ex) { throw ex; } }
public long Add_Dashboard_Widget(Dashboard_Widget_VM_DTO dashboard_widget) { try { dashboard_widget = Set_Primary_Key_For_Multi_Metrics(dashboard_widget); tblDashboard_Widget tbl_dashboard_widget = _dbcontext.tblDashboard_Widget.Add(Dashboard_Widget_VM_DTO_Convert.Dashboard_Widget_DTO_Convert_DTO_To_Table(dashboard_widget)); _dbcontext.SaveChanges(); return(tbl_dashboard_widget.Id); } catch (Exception ex) { throw ex; } }