static void SaveComputerPrinters(int DepartmentID, lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, AssetComputerData data) { var lds = ( from d in dc.AssetComputerPrinters where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber select d ).ToList(); var NeedDel = lds.Where(d1 => !data.Printers.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); dc.AssetComputerPrinters.DeleteAllOnSubmit(NeedDel); var NeedInsert = data.Printers.Where(d1 => !lds.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); foreach (AssetComputerPrinterData i in NeedInsert) { var New = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerPrinters(); CopyComputerPrinters(i, New, DepartmentID, data.AssetNumber); dc.AssetComputerPrinters.InsertOnSubmit(New); } var NeedUpdate = lds.Where(d1 => data.Printers.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); foreach (var i in NeedUpdate) { var source = data.Printers.Where(d => d.PrinterPort == i.PrinterPort).FirstOrDefault(); if (source == null || source.PrinterPort == null) { continue; } CopyComputerPrinters(source, i, DepartmentID, data.AssetNumber); } }
static void CopyComputerPrinters(AssetComputerPrinterData source, lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerPrinters dest, int DepartmentID, int AssetID) { dest.AssetId = AssetID; dest.DepartmentId = DepartmentID; dest.PrinterDriver = source.PrinterDriver; dest.PrinterName = source.PrinterName; dest.PrinterPort = source.PrinterPort; }
private static void CopyPrinters(lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, int DepartmentId, int OldAssetId, int NewAssetId) { var OldPrinters = (from d in dc.AssetComputerPrinters where d.DepartmentId == DepartmentId && d.AssetId == OldAssetId select d).ToList(); foreach (var d in OldPrinters) { var NewD = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerPrinters() { DepartmentId = DepartmentId, AssetId = NewAssetId, PrinterDriver = d.PrinterDriver, PrinterName = d.PrinterName, PrinterPort = d.PrinterPort }; dc.AssetComputerPrinters.InsertOnSubmit(NewD); } }
static void SaveComputerPrinters(int DepartmentID, lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, AssetComputerData data) { var lds = ( from d in dc.AssetComputerPrinters where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber select d ).ToList(); var NeedDel = lds.Where(d1 => !data.Printers.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); dc.AssetComputerPrinters.DeleteAllOnSubmit(NeedDel); var NeedInsert = data.Printers.Where(d1 => !lds.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); foreach (AssetComputerPrinterData i in NeedInsert) { var New = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerPrinters(); CopyComputerPrinters(i, New, DepartmentID, data.AssetNumber); dc.AssetComputerPrinters.InsertOnSubmit(New); } var NeedUpdate = lds.Where(d1 => data.Printers.Select(d2 => d2.PrinterPort).Contains(d1.PrinterPort)).ToList(); foreach (var i in NeedUpdate) { var source = data.Printers.Where(d => d.PrinterPort == i.PrinterPort).FirstOrDefault(); if (source == null || source.PrinterPort == null) continue; CopyComputerPrinters(source, i, DepartmentID, data.AssetNumber); } }
private static void CopyPrinters(lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, int DepartmentId, int OldAssetId, int NewAssetId) { var OldPrinters = (from d in dc.AssetComputerPrinters where d.DepartmentId == DepartmentId && d.AssetId == OldAssetId select d).ToList(); foreach (var d in OldPrinters) { var NewD = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerPrinters() { DepartmentId = DepartmentId, AssetId = NewAssetId, PrinterDriver = d.PrinterDriver, PrinterName = d.PrinterName, PrinterPort = d.PrinterPort }; dc.AssetComputerPrinters.InsertOnSubmit(NewD); } }