public EnvironmentModel AddEnvironment(EnvironmentModel model) { if (model == null) throw new ArgumentNullException("model"); Environment environmentToReturn = null; using (var unitOfWork = new UnitOfWork(_connectionString)) { bool userAuthorised = UserAuthorizedToAccessSuite(unitOfWork, model.UserId, model.SuiteId, new[] {RoleType.Admin}); if (!userAuthorised) throw new UnauthorizedUserException( "User does not have access or sufficient privileges for this action to suite: " + model.SuiteId); environmentToReturn = model.ToNewDbObject(); unitOfWork.Add(environmentToReturn); } return environmentToReturn.ToModel(); }