private bool ValidateAndCommit() { var checkables = TransactionalChangeHandler.GetCheckables(unitOfWork); if (TransactionalChangeHandler.Validate(checkables) == false) { return(false); } var relatedRooms = checkables. OfType <RoomBooking>(). Where(rb => rb.Room != null). Select(rb => rb.Room); var relatedRoomResults = DemoDatabase.BizRulezChecker.Check("save", relatedRooms).ToList(); if (relatedRoomResults.Count > 0) { XtraMessageBox.Show("There have been errors during data validation."); return(false); } unitOfWork.CommitChanges(); return(true); }