public static void SaveColumns(Guid DataViewTypeID, List <string> TableColumns, int DataViewColumnListTypeID, Guid DataViewListID) { using (LinqMicajahDataContext dc = new LinqMicajahDataContext()) { var NeedDelColumns = dc.DataViewColumn.Where(c => c.DataViewColumnListTypeID == DataViewColumnListTypeID && c.Status == true && c.InstanceId == LinqMicajahDataContext.InstanceId && c.DataViewListID == DataViewListID).ToList(); dc.DataViewColumn.DeleteAllOnSubmit(NeedDelColumns); for (int i = 0; i < TableColumns.Count; i++) { string NeedInsertColumn = TableColumns[i]; string [] ss = NeedInsertColumn.Split(','); DataViewColumn c = new DataViewColumn() { TableName = ss[0], ColumnName = ss[1], DataViewListID = DataViewListID, DataViewColumnListTypeID = DataViewColumnListTypeID, OrderNumber = i }; dc.DataViewColumn.InsertOnSubmit(c); } dc.SubmitChanges(); } }
public static void SaveWhere(Guid DataViewTypeID, List<Extend> WhereCriteria, string Condition, int DataViewColumnListTypeID, Guid DataViewListID) { using (LinqMicajahDataContext dc = new LinqMicajahDataContext()) { var wl = (from l in dc.DataViewList where l.InstanceId == LinqMicajahDataContext.InstanceId && l.Status == true && l.DataViewListID == DataViewListID select l).FirstOrNull(); if (wl == null) return; wl.WhereCondition = Condition; var ColumnForDel = (from c in dc.DataViewColumn where c.InstanceId == LinqMicajahDataContext.InstanceId && c.Status == true && c.DataViewColumnListTypeID == DataViewColumnListTypeID && c.DataViewListID == DataViewListID select c).ToList(); var ColumnForDelID = ColumnForDel.Select(c=>c.DataViewColumnID).ToList(); var WhereForDel = from w in dc.DataViewWhere where w.InstanceId == LinqMicajahDataContext.InstanceId && w.Status == true && w.DataViewListID == DataViewListID && w.Slave== (DataViewColumnListTypeID!=2) select w; dc.DataViewColumn.DeleteAllOnSubmit(ColumnForDel); dc.DataViewWhere.DeleteAllOnSubmit(WhereForDel); foreach (var w in WhereCriteria) { DataViewColumn NewColumn = new DataViewColumn() { TableName = w.TableName, ColumnName = w.ColumnName, DataViewListID = DataViewListID, DataViewColumnListTypeID = DataViewColumnListTypeID, InstanceId = LinqMicajahDataContext.InstanceId, OrderNumber = WhereCriteria.IndexOf(w), DataViewColumnID = Guid.NewGuid() }; dc.DataViewColumn.InsertOnSubmit(NewColumn); DataViewWhere NewWhere = new DataViewWhere() { DataViewListID = DataViewListID, DataViewColumnID = NewColumn.DataViewColumnID, DataViewConditionTypeID = w.DataViewConditionTypeID, CompareValue = w.CompareValue, Slave = (DataViewColumnListTypeID!=2) }; dc.DataViewWhere.InsertOnSubmit(NewWhere); } dc.SubmitChanges(); } }