示例#1
0
        static public void SaveAssetComputer(Guid OrgId, int DepartmentID, AssetComputerData data, bool AddNewOnly)
        {
            int?CategoryId = null;
            int?TypeId     = null;

            SaveAssetComputer(OrgId, DepartmentID, data, AddNewOnly, null, null, ref CategoryId, ref TypeId, null);
        }
示例#2
0
        public static void DeleteAssetComputer(Guid OrgId, int DepartmentID, AssetComputerData data)
        {
            if (data.AssetNumber == 0)
            {
                return;
            }
            lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc = new lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext(OrgId, DepartmentID);

            var lds = from d in dc.AssetComputerLogicalDrives where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber select d;

            dc.AssetComputerLogicalDrives.DeleteAllOnSubmit(lds);

            var ps = from p in dc.AssetComputerProcessors where p.DepartmentId == DepartmentID && p.AssetId == data.AssetNumber select p;

            dc.AssetComputerProcessors.DeleteAllOnSubmit(ps);

            var prs = from p in dc.AssetComputerPrinters where p.DepartmentId == DepartmentID && p.AssetId == data.AssetNumber select p;

            dc.AssetComputerPrinters.DeleteAllOnSubmit(prs);

            var ss = from p in dc.AssetComputerSoftwares where p.DepartmentId == DepartmentID && p.AssetId == data.AssetNumber select p;

            dc.AssetComputerSoftwares.DeleteAllOnSubmit(ss);

            var ac = from p in dc.AssetComputers where p.DepartmentId == DepartmentID && p.AssetId == data.AssetNumber select p;

            dc.AssetComputers.DeleteAllOnSubmit(ac);

            var a = from p in dc.Assets where p.DepartmentId == DepartmentID && p.Id == data.AssetNumber select p;

            dc.Assets.DeleteAllOnSubmit(a);
        }
示例#3
0
 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;
 }
示例#4
0
        static void SaveComputerSoftwares(int DepartmentID, lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, AssetComputerData data)
        {
            var lds = (
                from d in dc.AssetComputerSoftwares
                where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber
                select d
                ).ToList();

            var ss = data.Softwares.ToList();

            foreach (var ld in lds)
            {
                bool exist = false;
                for (int i = 0; i < ss.Count; i++)
                {
                    var s = ss[i];
                    if (ld.SoftwareName == s.SoftwareName && ld.SoftwarePublisher == s.SoftwarePublisher && ld.SoftwareVersion == s.SoftwareVersion)
                    {
                        exist = true;
                        ss.Remove(s);
                        i--;
                    }
                }
                if (exist)
                {
                    continue;
                }
                dc.AssetComputerSoftwares.DeleteOnSubmit(ld);
            }

            foreach (var s in ss)
            {
                var New = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerSoftwares();
                CopyComputerSoftware(s, New, DepartmentID, data.AssetNumber);
                dc.AssetComputerSoftwares.InsertOnSubmit(New);
            }
        }
示例#5
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);
            }
        }
示例#6
0
        static void SaveComputerLogicalDrives(int DepartmentID, lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc, AssetComputerData data)
        {
            var lds = (
                from d in dc.AssetComputerLogicalDrives
                where d.DepartmentId == DepartmentID && d.AssetId == data.AssetNumber
                select d
                ).ToList();

            var NeedDel = lds.Where(d1 => !data.LogicalDrives.Select(d2 => d2.DeviceID).Contains(d1.DeviceID)).ToList();

            dc.AssetComputerLogicalDrives.DeleteAllOnSubmit(NeedDel);

            var NeedInsert = data.LogicalDrives.Where(d1 => !lds.Select(d2 => d2.DeviceID).Contains(d1.DeviceID)).ToList();

            foreach (AssetComputerLogicalDriveData i in NeedInsert)
            {
                var New = new lib.bwa.bigWebDesk.LinqBll.Context.AssetComputerLogicalDrives();
                //bigWebApps.HelpDesk.WebApi.Utils.CopyProperties<AssetComputerLogicalDriveData>(i, New);
                CopyComputerLogicalDrives(i, New, DepartmentID, data.AssetNumber);
                dc.AssetComputerLogicalDrives.InsertOnSubmit(New);
            }

            var NeedUpdate = lds.Where(d1 => data.LogicalDrives.Select(d2 => d2.DeviceID).Contains(d1.DeviceID)).ToList();

            foreach (var i in NeedUpdate)
            {
                var source = data.LogicalDrives.Where(d => d.DeviceID == i.DeviceID).FirstOrDefault();
                if (source == null || source.DeviceID == null)
                {
                    continue;
                }
                //bigWebApps.HelpDesk.WebApi.Utils.CopyProperties<AssetComputerLogicalDriveData>(source, i);
                CopyComputerLogicalDrives(source, i, DepartmentID, data.AssetNumber);
            }
        }
示例#7
0
        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);
        }
示例#8
0
        static public int SaveAssetComputer(Guid OrgId, int DepartmentID, AssetComputerData data, bool AddNewOnly, int?AccountId, int?LocationId, ref int?CategoryId, ref int?TypeId, DateTime?DTUpdated)
        {
            LastLog = "SaveAssetComputer ";
            if (DTUpdated == null)
            {
                DTUpdated = DateTime.UtcNow;
            }
            lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc = new lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext(OrgId, DepartmentID);

            bool isNew = true;

            lib.bwa.bigWebDesk.LinqBll.Context.Assets A = null;

            if (data.AssetNumber > 1)
            {
                A = (
                    from a in dc.Assets
                    where a.DepartmentId == DepartmentID && a.AssetNumber == data.AssetNumber
                    select a
                    ).FirstOrNull();
                isNew = A == null;
            }

            if (isNew && data.MotherboardSerialNumber != null)
            {
                A = (
                    from a in dc.Assets
                    join ac in dc.AssetComputers on new { a.DepartmentId, AssetId = a.Id } equals new { ac.DepartmentId, ac.AssetId }
                    join t in dc.AssetTypes on new { a.DepartmentId, a.TypeId } equals new { t.DepartmentId, TypeId = t.Id }
                    where a.DepartmentId == DepartmentID && t.AssetProfileId == 1 && a.Unique7 == data.MotherboardSerialNumber
                    select a
                    ).FirstOrNull();
                isNew = A == null;
            }

            if (isNew)
            {
                A = (
                    from a in dc.Assets
                    join t in dc.AssetTypes on new { a.DepartmentId, a.TypeId } equals new { t.DepartmentId, TypeId = t.Id }
                    where a.DepartmentId == DepartmentID && t.AssetProfileId == 1 && a.SerialNumber == data.PCSerialNumber
                    select a
                    ).FirstOrNull();
                isNew = A == null;
            }

            LastLog += " isNew=" + isNew;

            if (AddNewOnly && !isNew)
            {
                return(0);
            }

            if (isNew)
            {
                A           = new lib.bwa.bigWebDesk.LinqBll.Context.Assets();
                A.AssetGUID = Guid.NewGuid();
                int?MaxNumber = (from a in dc.Asset where a.DId == DepartmentID select(int?) a.AssetNumber).Max();
                if (MaxNumber == null || (int)MaxNumber < 1)
                {
                    A.AssetNumber = 1;
                }
                else
                {
                    A.AssetNumber = (int)MaxNumber + 1;
                }
            }

            if (data.AssetSort > 0)
            {
                A.AssetSort = data.AssetSort;
            }
            if (data.DateAquired != null)
            {
                A.DateAquired = data.DateAquired;
            }
            if (data.DateDeployed != null)
            {
                A.DateDeployed = data.DateDeployed;
            }
            if (data.DateDisposed != null)
            {
                A.DateDisposed = data.DateDisposed;
            }
            if (data.DateEntered != null)
            {
                A.DateEntered = data.DateEntered;
            }
            if (data.DateEntered != null)
            {
                A.DateEntered = data.DateEntered;
            }
            if (data.DateOutOfService != null)
            {
                A.DateOutOfService = data.DateOutOfService;
            }
            if (data.DatePurchased != null)
            {
                A.DatePurchased = data.DatePurchased;
            }
            if (data.DateReceived != null)
            {
                A.DateReceived = data.DateReceived;
            }
            if (data.Description != null)
            {
                A.Description = data.Description;
            }
            if (data.FundingCode != null)
            {
                A.FundingCode = data.FundingCode;
            }
            if (data.FundingSource != null)
            {
                A.FundingSource = data.FundingSource;
            }
            if (data.LaborWarrantyLength != null)
            {
                A.LaborWarrantyLength = data.LaborWarrantyLength;
            }
            if (data.Notes != null)
            {
                A.Notes = data.Notes;
            }
            if (data.PartsWarrantyLength != null)
            {
                A.PartsWarrantyLength = data.PartsWarrantyLength;
            }
            if (data.PONumber != null)
            {
                A.PONumber = data.PONumber;
            }
            if (data.Room != null)
            {
                A.Room = data.Room;
            }
            if (data.ValueCurrent != null)
            {
                A.ValueCurrent = data.ValueCurrent;
            }
            if (data.ValueDepreciated != null)
            {
                A.ValueDepreciated = data.ValueDepreciated;
            }
            if (data.ValueReplacement != null)
            {
                A.ValueReplacement = data.ValueReplacement;
            }
            if (data.ValueSalvage != null)
            {
                A.ValueSalvage = data.ValueSalvage;
            }

            A.Unique7      = data.MotherboardSerialNumber;
            A.SerialNumber = data.PCSerialNumber;
            A.DtUpdated    = (DateTime)DTUpdated;

            if (CategoryId != null && TypeId != null)
            {
                A.CategoryId = (int)CategoryId;
                A.TypeId     = (int)TypeId;
                LastLog     += " Direct_TypeId";
            }
            else
            {
                if (string.IsNullOrEmpty(data.Type))
                {
                    if (isNew)
                    {
                        LastLog += " Name_TypeId";
                        var at = (from t in dc.AssetTypes where t.DepartmentId == DepartmentID && t.AssetProfileId == 1 select t).FirstOrDefault();
                        if (at == null || at.Id == 0)
                        {
                            throw new Exception("Cann not find Asset Type with 'Computer profile'");
                        }
                        A.CategoryId = at.CategoryId;
                        A.TypeId     = at.Id;
                    }
                }
                else
                {
                    LastLog += " First_TypeId";
                    var at = (from t in dc.AssetTypes where t.DepartmentId == DepartmentID && t.AssetProfileId == 1 && t.Name == data.Type select t).FirstOrDefault();
                    if (at == null || at.Id == 0)
                    {
                        if (isNew)
                        {
                            throw new Exception("Cann not find '" + data.Type + "' Asset Type");
                        }
                    }
                    else
                    {
                        A.CategoryId = at.CategoryId;
                        A.TypeId     = at.Id;
                    }
                }
            }

            CategoryId = A.CategoryId;
            TypeId     = A.TypeId;

            A.StatusId = Assets.GetStatus(dc, data.Status);
            A.MakeId   = Assets.GetMakeId(dc, DepartmentID, data.Make, A.TypeId);
            A.ModelId  = Assets.GetModelId(dc, DepartmentID, data.Model, A.MakeId);

            if (AccountId != null)
            {
                A.AccountId = AccountId;
            }
            else
            {
                A.AccountId = Assets.GetAccountId(dc, DepartmentID, data.Account);
            }
            if (LocationId != null)
            {
                A.LocationId = LocationId;
            }
            else
            {
                A.LocationId = Assets.GetLocationId(dc, DepartmentID, data.AccountLocation, A.AccountId);
            }

            A.VendorId       = Assets.GetVendorId(dc, DepartmentID, data.PurchaseVendor);
            A.WarrantyVendor = Assets.GetVendorId(dc, DepartmentID, data.WarrantyVendor);
            A.DepartmentId   = DepartmentID;

            if (isNew)
            {
                dc.Assets.InsertOnSubmit(A);
            }
            dc.SubmitChanges();
            data.AssetNumber = A.Id;
            LastLog         += " Id=" + A.Id;

            try { SaveComputers(DepartmentID, dc, data); } catch { }
            try { SaveComputerLogicalDrives(DepartmentID, dc, data); } catch { }
            try { SaveComputerProcessors(DepartmentID, dc, data); } catch { }
            try { SaveComputerPrinters(DepartmentID, dc, data); } catch { }
            try { SaveComputerSoftwares(DepartmentID, dc, data); } catch { }

            dc.SubmitChanges();
            return(A.Id);
        }
示例#9
0
        static public bigWebApps.HelpDesk.WebApi.Soap.v1.AssetComputerData[] GetAssetComputer(Guid OrgId, int DepartmentID, string MotherboardSerialNumber, int PageIndex, out int TotalPageNumber, int AssetsPageSize)
        {
            lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext dc = new lib.bwa.bigWebDesk.LinqBll.Context.MutiBaseDataContext(OrgId, DepartmentID);

            var DBAssets = (
                from a in dc.Assets

                join AC in dc.AssetComputers on new { a.DepartmentId, AssetId = a.Id } equals new { AC.DepartmentId, AC.AssetId }

                join _c in dc.AssetCategories on new { a.DepartmentId, a.CategoryId } equals new { _c.DepartmentId, CategoryId = _c.Id } into __c
                join _t in dc.AssetTypes on new { a.DepartmentId, a.TypeId } equals new { _t.DepartmentId, TypeId = _t.Id } into __t
                join _s in dc.AssetStatus on a.StatusId equals _s.Id into __s
                join _m in dc.AssetMakes on new { a.DepartmentId, a.MakeId } equals new { _m.DepartmentId, MakeId = (int?)_m.Id } into __m
                join _M in dc.AssetModels on new { a.DepartmentId, a.ModelId } equals new { _M.DepartmentId, ModelId = (int?)_M.Id } into __M
                join _ac in dc.Accounts on new { a.DepartmentId, a.AccountId } equals new { DepartmentId = _ac.DId, AccountId = (int?)_ac.Id } into __ac
                join _l in dc.Locations on new { a.DepartmentId, a.LocationId } equals new { DepartmentId = _l.DId, LocationId = (int?)_l.Id } into __l
                join _ju in dc.Tbl_LoginCompanyJunc on new { a.DepartmentId, UpdatedById = a.IntUpdatedBy } equals new { DepartmentId = _ju.Company_id, UpdatedById = (int?)_ju.Id } into __ju
                join _jc in dc.Tbl_LoginCompanyJunc on new { a.DepartmentId, a.CheckedOutId } equals new { DepartmentId = _jc.Company_id, CheckedOutId = (int?)_jc.Id } into __jc
                join _jo in dc.Tbl_LoginCompanyJunc on new { a.DepartmentId, a.OwnerId } equals new { DepartmentId = _jo.Company_id, OwnerId = (int?)_jo.Id } into __jo
                join _v in dc.Tbl_vendors on a.VendorId equals _v.Id into __v
                join _w in dc.Tbl_vendors on a.WarrantyVendor equals _w.Id into __w

                from c in __c.DefaultIfEmpty()
                from t in __t.DefaultIfEmpty()
                from s in __s.DefaultIfEmpty()
                from m in __m.DefaultIfEmpty()
                from M in __M.DefaultIfEmpty()
                from ac in __ac.DefaultIfEmpty()
                from l in __l.DefaultIfEmpty()
                from v in __v.DefaultIfEmpty()
                from w in __w.DefaultIfEmpty()

                from sju in __ju.DefaultIfEmpty()
                join _ulu in dc.Tbl_Logins on sju.Login_id equals _ulu.Id into __ulu
                join _utu in dc.Tbl_UserType on sju.UserType_Id equals _utu.Id into __utu
                from julu in __ulu.DefaultIfEmpty()
                from utu in __utu.DefaultIfEmpty()

                from sjc in __jc.DefaultIfEmpty()
                join _ulc in dc.Tbl_Logins on sjc.Login_id equals _ulc.Id into __ulc
                join _utc in dc.Tbl_UserType on sjc.UserType_Id equals _utc.Id into __utc
                from julc in __ulc.DefaultIfEmpty()
                from utc in __utc.DefaultIfEmpty()

                from sjo in __jo.DefaultIfEmpty()
                join _ulo in dc.Tbl_Logins on sjo.Login_id equals _ulo.Id into __ulo
                join _uto in dc.Tbl_UserType on sjo.UserType_Id equals _uto.Id into __uto
                from ulo in __ulo.DefaultIfEmpty()
                from uto in __uto.DefaultIfEmpty()

                where a.DepartmentId == DepartmentID && t.AssetProfileId == 1 && (MotherboardSerialNumber == null || AC.MotherboardSerial == MotherboardSerialNumber)

                orderby a.Name

                select new
            {
                a,

                Category = c.Name,
                Type = t.Name,
                Status = s.VchStatus,
                Make = m.Make,
                Model = M.Model,
                Account = ac.VchName,
                AccountLocation = l.Name,

                /*UpdatedBy = julu.FirstName + " " + julu.LastName + ", " + utu.Name,
                 * CheckedOut = julc.FirstName + " " + julc.LastName + ", " + utc.Name,
                 * Owner = ulo.FirstName + " " + ulo.LastName + ", " + uto.Name,*/
                PurchaseVendor = v.Name,
                WarrantyVendor = w.Name,

                MotherboardSerial = AC.MotherboardSerial,
                BiosSerial = AC.BiosSerial,
                RegisteredUser = AC.RegisteredUser,
                OperatingSystem = AC.OperatingSystem,
                OSSerial = AC.OSSerial,
                RamMbytes = AC.RamMbytes,
                VideoDescription = AC.VideoDescription,
                VideoMemoryMbytes = AC.VideoMemoryMbytes,
                VideoHResolution = AC.VideoHResolution,
                VideoVResolution = AC.VideoVResolution,
                NetworkName = AC.NetworkName,
                NetworkDomain = AC.NetworkDomain,
                NetworkCard1IP = AC.NetworkCard1IP,
                NetworkCard1Mask = AC.NetworkCard1Mask,
                NetworkCard1Gate = AC.NetworkCard1Gate,
                NetworkCard1Address = AC.NetworkCard1Address,
                NetworkCard1Description = AC.NetworkCard1Description
            }).Skip(PageIndex * AssetsPageSize).ToList();

            TotalPageNumber = PageIndex + (DBAssets.Count + AssetsPageSize - 1) / AssetsPageSize;
            DBAssets        = DBAssets.Take(AssetsPageSize).ToList();

            //bigWebApps.HelpDesk.WebApi.Soap.v1.AssetComputerData[] ret = bigWebApps.HelpDesk.WebApi.Utils.CopyProperties<bigWebApps.HelpDesk.WebApi.Soap.v1.AssetComputerData>(DBAssets);
            List <AssetComputerData> lr = new List <AssetComputerData>();

            foreach (var a in DBAssets)
            {
                AssetComputerData r = new AssetComputerData();
                lr.Add(r);

                r.Account                 = a.Account;
                r.AccountLocation         = a.AccountLocation;
                r.BiosSeriaNumber         = a.BiosSerial;
                r.Category                = a.Category;
                r.Make                    = a.Make;
                r.Model                   = a.Model;
                r.MotherboardSerialNumber = a.MotherboardSerial;
                r.NetworkCard1Address     = a.NetworkCard1Address;
                r.NetworkCard1Description = a.NetworkCard1Description;
                r.NetworkCard1Gate        = a.NetworkCard1Gate;
                r.NetworkCard1IP          = a.NetworkCard1IP;
                r.NetworkCard1Mask        = a.NetworkCard1Mask;
                r.NetworkDomain           = a.NetworkDomain;
                r.NetworkName             = a.NetworkName;
                r.OperatingSystem         = a.OperatingSystem;
                r.OSSerial                = a.OSSerial;
                r.PurchaseVendor          = a.PurchaseVendor;
                r.RamMbytes               = a.RamMbytes;
                r.RegisteredUser          = a.RegisteredUser;
                r.Status                  = a.Status;
                r.Type                    = a.Type;
                r.VideoDescription        = a.VideoDescription;
                r.VideoHResolution        = a.VideoHResolution;
                r.VideoMemoryMbytes       = a.VideoMemoryMbytes;
                r.VideoVResolution        = a.VideoVResolution;
                r.WarrantyVendor          = a.WarrantyVendor;

                r.Active              = a.a.Active;
                r.AssetName           = a.a.Name;
                r.AssetNumber         = a.a.AssetNumber == null?0:(int)a.a.AssetNumber;
                r.AssetSort           = a.a.AssetSort;
                r.DateAquired         = a.a.DateAquired;
                r.DateDeployed        = a.a.DateDeployed;
                r.DateDisposed        = a.a.DateDisposed;
                r.DateEntered         = a.a.DateEntered;
                r.DateOutOfService    = a.a.DateOutOfService;
                r.DatePurchased       = a.a.DatePurchased;
                r.DateReceived        = a.a.DateReceived;
                r.DateUpdated         = a.a.DtUpdated;
                r.Description         = a.a.Description;
                r.FundingCode         = a.a.FundingCode;
                r.FundingSource       = a.a.FundingSource;
                r.LaborWarrantyLength = a.a.LaborWarrantyLength;
                r.Notes = a.a.Notes;
                r.PartsWarrantyLength = a.a.PartsWarrantyLength;
                r.PONumber            = a.a.PONumber;
                r.Room              = a.a.Room;
                r.ValueCurrent      = a.a.ValueCurrent;
                r.ValueDepreciated  = a.a.ValueDepreciated;
                r.ValueDisposalCost = a.a.DisposalCost;
                r.ValuePurchaseCost = a.a.Value;
                r.ValueReplacement  = a.a.ValueReplacement;
                r.ValueSalvage      = a.a.ValueSalvage;

                GetAssetComputerArrays(DepartmentID, dc, r);
            }

            /*for (int i = 0; i < ret.Length; i++)
             * {
             *  bigWebApps.HelpDesk.WebApi.Soap.v1.AssetComputerData r = ret[i];
             *  var a = DBAssets[i];
             *
             *  bigWebApps.HelpDesk.WebApi.Soap.v1.AssetComputerData d = ret[i];
             *  //d.MotherboardSerialNumber = DBAssets[i].MotherboardSerial;
             *  //d.BiosSeriaNumber = DBAssets[i].BiosSerial;
             *  GetAssetComputerArrays(DepartmentID, dc, d);
             * }*/

            return(lr.ToArray());
        }