예제 #1
0
        public static List<PatchPoint> GetPatchPoints(AssetManagerContext db)
        {
            List<PatchPoint> patchPoints = new List<PatchPoint>();
            string excelFileName = "\\\\vmfile\\users\\sven\\My Documents\\patchpuntjes.xlsx";
            Excel.Application xlApp = new Excel.Application();
            object misValue = System.Reflection.Missing.Value;

            Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(excelFileName);
            Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            int startRow = 2;
            if (xlWorkSheet != null)
            {
                Excel.Range usedRange = xlWorkSheet.UsedRange;
                PatchPoint pp;

                for (int rowCount = startRow; rowCount <= usedRange.Rows.Count; rowCount++)
                {
                    pp = GetPatchPointFromRange(usedRange, rowCount);
                    if (pp.Number > 0)
                    {
                        patchPoints.Add(pp);
                        db.PatchPoints.Add(pp);
                    }
                }
                db.SaveChanges();

            }

            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

            return patchPoints;
        }
예제 #2
0
 public static void InsertCompoundIdsInDb(AssetManagerContext db)
 {
     foreach (var c in db.Computers)
     {
         c.CompoundId = "C" + c.AssetId;
     }
     foreach (var p in db.Printers)
     {
         p.CompoundId = "P" + p.AssetId;
     }
     foreach (var b in db.Beamers)
     {
         b.CompoundId = "B" + b.AssetId;
     }
     foreach (var m in db.Monitors)
     {
         m.CompoundId = "M" + m.AssetId;
     }
     foreach (var t in db.Telephones)
     {
         t.CompoundId = "T" + t.AssetId;
     }
     foreach (var n in db.Networks)
     {
         n.CompoundId = "N" + n.AssetId;
     }
     foreach (var a in db.Miscellaneous)
     {
         a.CompoundId = "A" + a.AssetId;
     }
     db.SaveChanges();
 }
예제 #3
0
        private static void UpdateUserAccounts(DirectoryEntry entry, out int added, out int updated)
        {
            added = 0;
            updated = 0;
            using (AssetManagerContext _context = new AssetManagerContext())
            {
                List<Department> Departments = _context.Departments.ToList();
                DirectorySearcher mySearcher = new DirectorySearcher(entry);
                SearchResultCollection src = mySearcher.FindAll();
                UserAccount ua;
                for (int i = 0; i < src.Count; i++)
                {
                    if (src[i].Properties.Contains("mail"))
                    {
                        string mail = src[i].Properties["mail"][0].ToString();

                        ua = new UserAccount();
                        ua.GivenName = PropertyValueIfExists(src[i], "givenname");
                        ua.Sn = PropertyValueIfExists(src[i], "sn");
                        ua.Name = PropertyValueIfExists(src[i], "name");
                        ua.UserPrincipalName = PropertyValueIfExists(src[i], "userprincipalname");
                        ua.Company = PropertyValueIfExists(src[i], "company");
                        ua.DepartmentString = PropertyValueIfExists(src[i], "department");
                        ua.Department = Departments.Find(d => d.LdapName == ua.DepartmentString);
                        ua.Mail = PropertyValueIfExists(src[i], "mail");
                        if (_context.UserAccounts.Any(o => o.Mail == mail))
                        {
                            // todo update
                            UserAccount existingAccount = _context.UserAccounts.First(o => o.Mail == mail);
                            existingAccount.GivenName = ua.GivenName;
                            existingAccount.Sn = ua.Sn;
                            existingAccount.Name = ua.Name;
                            existingAccount.UserPrincipalName = ua.UserPrincipalName;
                            existingAccount.Company = ua.Company;
                            existingAccount.DepartmentString = ua.DepartmentString;
                            existingAccount.Department = ua.Department;
                            updated++;
                        }
                        else
                        {
                            _context.UserAccounts.Add(ua);
                            added++;
                        }
                    }
                }
                _context.SaveChanges();
            }
        }
예제 #4
0
        public static void RemoveSynonyms(AssetManagerContext db)
        {
            try
            {
                foreach (Asset a in db.Assets)
                {
                    CheckRequiredProps(a);
                }

                var assetsWithCvbaOwner = db.Assets
                       .Where(a => a.Owner == "cvba")
                       ;

                foreach (Asset a in assetsWithCvbaOwner)
                {
                    CheckRequiredProps(a);
                    a.Owner = "cv";
                }

                var assetsWithAltanHP = db.Assets
                    .Where(a => a.Supplier == "Altan/HP")
                    ;
                foreach (Asset a in assetsWithAltanHP)
                {
                    a.Supplier = "Altan";
                }

                var computersWin7 = db.Computers
                    .Where(c => c.OperatingSystem == "win 7 pro"
                    || c.OperatingSystem == "windows 7");

                foreach (Computer c in computersWin7)
                {
                    c.OperatingSystem = "Win 7";
                }

                var computersMSE = db.Computers
                   .Where(c => c.AntiVirus == "MS sec"
                   || c.AntiVirus == "mse");

                foreach (Computer c in computersMSE)
                {
                    c.AntiVirus = "MSE";
                }

                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                        eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                            ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
        }
예제 #5
0
 public static void AddDepartments(AssetManagerContext db)
 {
     List<Department> Departments = db.Departments.ToList();
     foreach (UserAccount useraccount in db.UserAccounts)
     {
         useraccount.Department = Departments.Find(d => d.LdapName == useraccount.DepartmentString);
     }
     db.SaveChanges();
 }