static void SaveComputers(int DepartmentID, lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, AssetComputerData data) { var lds = ( from d in dc.AssetComputers where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber select d ).FirstOrNull(); if (lds == null) { lds = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers(); dc.AssetComputers.InsertOnSubmit(lds); } CopyComputers(data, lds, DepartmentID, data.AssetNumber); }
static void CopyComputers(AssetComputerData source, lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers dest, int DepartmentID, int AssetId) { dest.AssetId = AssetId; dest.DepartmentId = DepartmentID; dest.NetworkCard1Address = source.NetworkCard1Address; dest.NetworkCard1Description = source.NetworkCard1Description; dest.NetworkCard1Gate = source.NetworkCard1Gate; dest.NetworkCard1IP = source.NetworkCard1IP; dest.NetworkCard1Mask = source.NetworkCard1Mask; dest.NetworkDomain = source.NetworkDomain; dest.NetworkName = source.NetworkName; dest.OperatingSystem = source.OperatingSystem; dest.OSSerial = source.OSSerial; dest.RamMbytes = source.RamMbytes; dest.RegisteredUser = source.RegisteredUser; dest.VideoDescription = source.VideoDescription; dest.VideoHResolution = source.VideoHResolution; dest.VideoMemoryMbytes = source.VideoMemoryMbytes; dest.VideoVResolution = source.VideoVResolution; }
public static string Merge(Guid OrgId, int DepartmentId, List<lib.bwa.bigWebDesk.LinqBll.Context.Assets> OldAssets, lib.bwa.bigWebDesk.LinqBll.Context.Assets NewAsset, int? OldAssetComputerId) { using (lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc = new lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext(OrgId, DepartmentId)) { int? InactiveMergedStatusID = (from s in dc.AssetStatus where s.VchStatus == "Deleted" select s.Id).FirstOrDefault(); if (InactiveMergedStatusID == null || InactiveMergedStatusID == 0) return "Can not find 'Deleted' asset status"; dc.Assets.InsertOnSubmit(NewAsset); dc.SubmitChanges(); if (OldAssetComputerId != null) { var OldAC = (from ac in dc.AssetComputers where ac.DepartmentId == DepartmentId && ac.AssetId == OldAssetComputerId select ac).FirstOrNull(); if (OldAC != null) { lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers NewAC = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers() { DepartmentId = DepartmentId, AssetId = NewAsset.Id, MotherboardSerial = OldAC.MotherboardSerial, BiosSerial = OldAC.BiosSerial, OSSerial = OldAC.OSSerial, RegisteredUser = OldAC.RegisteredUser, OperatingSystem = OldAC.OperatingSystem, RamMbytes = OldAC.RamMbytes, VideoDescription = OldAC.VideoDescription, VideoMemoryMbytes = OldAC.VideoMemoryMbytes, VideoHResolution = OldAC.VideoHResolution, VideoVResolution = OldAC.VideoVResolution, NetworkName = OldAC.NetworkName, NetworkDomain = OldAC.NetworkDomain, NetworkCard1IP = OldAC.NetworkCard1IP, NetworkCard1Mask = OldAC.NetworkCard1Mask, NetworkCard1Gate = OldAC.NetworkCard1Gate, NetworkCard1Address = OldAC.NetworkCard1Address, NetworkCard1Description = OldAC.NetworkCard1Description }; dc.AssetComputers.InsertOnSubmit(NewAC); CopyLogicalDrives(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopyPrinters(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopyProcessors(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopySoftwares(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); } } foreach (lib.bwa.bigWebDesk.LinqBll.Context.Assets OldAsset in OldAssets) { var SchedTicketAssets = dc.SchedTicketAssets.Where(sta => sta.DId == DepartmentId && sta.AssetId == OldAsset.Id); foreach (var SchedTicketAsset in SchedTicketAssets) SchedTicketAsset.AssetId = NewAsset.Id; var TicketAssets = dc.TicketAssets.Where(ta => ta.DId == DepartmentId && ta.AssetId == OldAsset.Id); foreach (var TicketAsset in TicketAssets) TicketAsset.AssetId = NewAsset.Id; var Asset = dc.Assets.Where(a => a.Id == OldAsset.Id).FirstOrNull(); Asset.StatusId = (int)InactiveMergedStatusID; Asset.MergedId = NewAsset.Id; } dc.SubmitChanges(); return null; } }
public static string Merge(Guid OrgId, int DepartmentId, List <lib.bwa.bigWebDesk.LinqBll.Context.Assets> OldAssets, lib.bwa.bigWebDesk.LinqBll.Context.Assets NewAsset, int?OldAssetComputerId) { using (lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc = new lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext(OrgId, DepartmentId)) { int?InactiveMergedStatusID = (from s in dc.AssetStatus where s.VchStatus == "Deleted" select s.Id).FirstOrDefault(); if (InactiveMergedStatusID == null || InactiveMergedStatusID == 0) { return("Can not find 'Deleted' asset status"); } dc.Assets.InsertOnSubmit(NewAsset); dc.SubmitChanges(); if (OldAssetComputerId != null) { var OldAC = (from ac in dc.AssetComputers where ac.DepartmentId == DepartmentId && ac.AssetId == OldAssetComputerId select ac).FirstOrNull(); if (OldAC != null) { lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers NewAC = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputers() { DepartmentId = DepartmentId, AssetId = NewAsset.Id, MotherboardSerial = OldAC.MotherboardSerial, BiosSerial = OldAC.BiosSerial, OSSerial = OldAC.OSSerial, RegisteredUser = OldAC.RegisteredUser, OperatingSystem = OldAC.OperatingSystem, RamMbytes = OldAC.RamMbytes, VideoDescription = OldAC.VideoDescription, VideoMemoryMbytes = OldAC.VideoMemoryMbytes, VideoHResolution = OldAC.VideoHResolution, VideoVResolution = OldAC.VideoVResolution, NetworkName = OldAC.NetworkName, NetworkDomain = OldAC.NetworkDomain, NetworkCard1IP = OldAC.NetworkCard1IP, NetworkCard1Mask = OldAC.NetworkCard1Mask, NetworkCard1Gate = OldAC.NetworkCard1Gate, NetworkCard1Address = OldAC.NetworkCard1Address, NetworkCard1Description = OldAC.NetworkCard1Description }; dc.AssetComputers.InsertOnSubmit(NewAC); CopyLogicalDrives(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopyPrinters(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopyProcessors(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); CopySoftwares(dc, DepartmentId, (int)OldAssetComputerId, (int)NewAsset.Id); } } foreach (lib.bwa.bigWebDesk.LinqBll.Context.Assets OldAsset in OldAssets) { var SchedTicketAssets = dc.SchedTicketAssets.Where(sta => sta.DId == DepartmentId && sta.AssetId == OldAsset.Id); foreach (var SchedTicketAsset in SchedTicketAssets) { SchedTicketAsset.AssetId = NewAsset.Id; } var TicketAssets = dc.TicketAssets.Where(ta => ta.DId == DepartmentId && ta.AssetId == OldAsset.Id); foreach (var TicketAsset in TicketAssets) { TicketAsset.AssetId = NewAsset.Id; } var Asset = dc.Assets.Where(a => a.Id == OldAsset.Id).FirstOrNull(); Asset.StatusId = (int)InactiveMergedStatusID; Asset.MergedId = NewAsset.Id; } dc.SubmitChanges(); return(null); } }