public Project(IDatabaseProvider db) { if (db == null) { throw new ArgumentNullException(nameof(db)); } name = string.Empty; description = string.Empty; displayOrder = -1; // Find max display order. ProjectsTableAdapter tableAdapter = db.DB.ProjectsTableAdapter; int?maxDisplayOrder = tableAdapter.GetMaxDisplayOrder(); if (maxDisplayOrder.HasValue) { displayOrder = maxDisplayOrder.Value + 1; } else { displayOrder = 1; } state = ProjectState.Active; }