Пример #1
0
        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);
            }
        }
Пример #2
0
 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;
 }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }