public bool DeleteUser(int id) { bool isDeleteable = (cacheDao.GetByOwner(id).Count == 0); isDeleteable = isDeleteable && (logEntryDao.GetLogentriesForUser(id).Count == 0); isDeleteable = isDeleteable && (ratingDao.GetRatingsForUser(id).Count == 0); if (isDeleteable) { return(userDao.DeleteById(id)); } throw new Exception("Error: Unable to delete selected user. User owns caches and/or log entries and/or rating entries."); }
public void GetLogentriesForUserTest() { const int userId = 199; IList <LogEntry> expected = new List <LogEntry>(); expected.Add(new LogEntry { Id = 453 }); expected.Add(new LogEntry { Id = 1099 }); expected.Add(new LogEntry { Id = 1703 }); expected.Add(new LogEntry { Id = 1885 }); expected.Add(new LogEntry { Id = 2306 }); expected.Add(new LogEntry { Id = 2496 }); expected.Add(new LogEntry { Id = 2969 }); expected.Add(new LogEntry { Id = 2999 }); expected.Add(new LogEntry { Id = 3072 }); expected.Add(new LogEntry { Id = 3655 }); expected.Add(new LogEntry { Id = 4233 }); expected.Add(new LogEntry { Id = 4667 }); expected.Add(new LogEntry { Id = 4834 }); expected.Add(new LogEntry { Id = 4879 }); expected.Add(new LogEntry { Id = 4971 }); expected.Add(new LogEntry { Id = 5706 }); expected.Add(new LogEntry { Id = 6066 }); expected.Add(new LogEntry { Id = 6208 }); IList <LogEntry> actual = target.GetLogentriesForUser(userId); Assert.AreEqual(expected.Count, actual.Count); foreach (LogEntry entry in expected) { Assert.IsTrue(actual.Contains(entry)); } }